Compare commits
113 Commits
Author | SHA1 | Date | |
---|---|---|---|
3b73d54ea2 | |||
2ca433c83f | |||
0b40569727 | |||
afb0247d87 | |||
bce8461a7e | |||
9d5cc43d71 | |||
bc1370ab29 | |||
eaf2b14cfc | |||
1cf7d81aa5 | |||
f11a9536f0 | |||
c7bdcf0104 | |||
df026499d5 | |||
a3aa4157b8 | |||
8f3268e1bc | |||
5721d440e9 | |||
505c396283 | |||
643e6bc94f | |||
76502e6d97 | |||
851a0b3810 | |||
fd8dbb4c8b | |||
4ffd994c5e | |||
a34828113a | |||
461329468c | |||
35de5df04d | |||
4f0548fd60 | |||
5c1d96cc51 | |||
57049c0c52 | |||
31326e1c91 | |||
3c60994a0a | |||
773cc42346 | |||
f46a1f39dc | |||
b7175bf77f | |||
ec22232aa8 | |||
f303cd2236 | |||
f40cef4416 | |||
fbca97d38d | |||
28bd2cba5c | |||
4b35f73bbf | |||
f4706eb126 | |||
21bcb90558 | |||
ae48ac0cae | |||
cb4979d5bc | |||
7d3ae74e1f | |||
9d680aa500 | |||
0d50b1c2fe | |||
75e034863f | |||
3b42de1571 | |||
668472286e | |||
e00d34c99d | |||
9fb496dfb3 | |||
f4eaa4a3ef | |||
5d50ed6bdf | |||
d7ace4eaf9 | |||
16a4d335ea | |||
ba69bb0772 | |||
455940caa2 | |||
439344757e | |||
ad912691c9 | |||
237144aff6 | |||
810332d558 | |||
f8431d0ba1 | |||
57c3bfa16a | |||
61f1077608 | |||
8877e968b9 | |||
4575c90bee | |||
21279a87ae | |||
3d5ad4a17e | |||
9bb7b044a8 | |||
dc8f2f7561 | |||
829dbf84da | |||
7b156c17f8 | |||
cbf7cbc164 | |||
b04faa816e | |||
517ebe2902 | |||
03d0d314e3 | |||
3e804c5cce | |||
ee2b8b538e | |||
fdfd34fe92 | |||
2d6fb6523b | |||
3084bf3982 | |||
5ba51e8392 | |||
fb5eb43e34 | |||
b154056276 | |||
c67b8f9ca1 | |||
95e4181360 | |||
32dffbe56b | |||
6b3c8d373b | |||
db29107f47 | |||
355537f2ab | |||
0729ef0c21 | |||
6fe82bfd0f | |||
39bf072363 | |||
da7c384fd8 | |||
95130fd9a0 | |||
978e2344a3 | |||
c9bf45602c | |||
aa160b2036 | |||
f82b32d351 | |||
e519dc9a57 | |||
f020c37db9 | |||
5a4ec3b6b1 | |||
2602d6c9d2 | |||
ff403583d7 | |||
c5577cc2bd | |||
78be6e5dc1 | |||
b954a41375 | |||
0100a11cfe | |||
04cf2e8534 | |||
be00724818 | |||
274d93c61a | |||
7dc4c30436 | |||
028ef4bc31 | |||
42124d65c7 |
@@ -18918,9 +18918,8 @@ GO
|
||||
*****************************************************************************/
|
||||
/*
|
||||
==========================================================================================================
|
||||
Author: Jake Ropar / Matthew Schill
|
||||
Author: Jake Ropar
|
||||
Create Date: 06/23/2022
|
||||
Modify Date: 08/18/2025
|
||||
Description: Finalizes Rofst Header Record / Updates LoadedDate if Success
|
||||
==========================================================================================================
|
||||
*/
|
||||
@@ -18937,18 +18936,13 @@ GO
|
||||
Set LoadedDate = GetDate()
|
||||
Where RofstID = @RofstID;
|
||||
|
||||
|
||||
--always rebuild the rofst child and default indexes
|
||||
DBCC DBREINDEX ('RofstChild');
|
||||
DBCC DBREINDEX ('RofstDefaultValue');
|
||||
|
||||
-- Rebuild/Reorganize Indexes
|
||||
Exec [dbo].[vesp_UtilityCheckIndexes] 20.0, 5.0, 0, 1;
|
||||
|
||||
|
||||
Return;
|
||||
End
|
||||
GO
|
||||
Go
|
||||
|
||||
IF (@@Error = 0) PRINT 'Procedure Creation: [vesp_RofstHeaderFinalizeLoad] Succeeded'
|
||||
ELSE PRINT 'Procedure Creation: [vesp_RofstHeaderFinalizeLoad] Error on Creation'
|
||||
@@ -24383,8 +24377,8 @@ BEGIN TRY -- Try Block
|
||||
DECLARE @RevDate varchar(255)
|
||||
DECLARE @RevDescription varchar(255)
|
||||
|
||||
set @RevDate = '08/18/2025 2:07 PM'
|
||||
set @RevDescription = 'Updated Index maintenance that occurs after RO FST Load to improve RO Performance'
|
||||
set @RevDate = '08/13/2025 8:07 AM'
|
||||
set @RevDescription = 'Improve Performance loading procedures with Alarms'
|
||||
|
||||
Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription
|
||||
PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription
|
||||
|
@@ -111,6 +111,10 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\DotNetBar\DotNetBar4.6Build\DevComponents.DotNetBar2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\Ionic\Ionic.Zip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Itenso.Rtf.Interpreter">
|
||||
<HintPath>..\..\..\..\3rdPartyLibraries\RtfConverter\bin\Debug\Itenso.Rtf.Interpreter.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -129,8 +133,6 @@
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Design" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Runtime.Remoting" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
|
@@ -7,7 +7,7 @@ using Volian.Controls.Library;
|
||||
using Volian.Base.Library;
|
||||
using System.Xml;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using Ionic.Zip;
|
||||
using System.Text.RegularExpressions;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System.Linq;
|
||||
@@ -193,7 +193,8 @@ namespace VEPROMS
|
||||
txtExport.Text = sfd.FileName;
|
||||
if (File.Exists(txtExport.Text))
|
||||
File.Delete(txtExport.Text);
|
||||
MyExpZipFileName = txtExport.Text;
|
||||
MyExpxZipFile = new ZipFile(txtExport.Text, Encoding.UTF8);
|
||||
MyExpxZipFile.Save();
|
||||
}
|
||||
}
|
||||
else if (MyProcedure != null)
|
||||
@@ -210,8 +211,8 @@ namespace VEPROMS
|
||||
else
|
||||
lblExportStatus.Text = "Awaiting Export File Name:";
|
||||
}
|
||||
private string MyExpZipFileName = null;
|
||||
private string MyImpZipFileName = null;
|
||||
private ZipFile MyExpxZipFile = null;
|
||||
private ZipFile MyImpxZipFile = null;
|
||||
private DateTime MyStart;
|
||||
private bool successfullExport = true;
|
||||
|
||||
@@ -890,17 +891,11 @@ namespace VEPROMS
|
||||
return true;
|
||||
}
|
||||
private bool LoadImportDataDocument()
|
||||
{
|
||||
using (FileStream zipToOpen = new FileStream(MyExpZipFileName, FileMode.OpenOrCreate))
|
||||
{
|
||||
using (ZipArchive MyExpxZipFile = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
|
||||
{
|
||||
floatFoldout = new Dictionary<int, int>();
|
||||
ZipArchiveEntry ze = MyExpxZipFile.Entries[0];
|
||||
if (!Directory.Exists(Path.Combine(PEIPath, "folder")))
|
||||
Directory.CreateDirectory(Path.Combine(PEIPath, "folder"));
|
||||
string fn = Path.Combine(PEIPath, "folder", ze.Name);
|
||||
ze.ExtractToFile(fn, true);
|
||||
ZipEntry ze = MyExpxZipFile[0];
|
||||
string fn = PEIPath + @"\" + ze.FileName;
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.Load(fn);
|
||||
bool didImp = LoadFormats(xd, "folder/formats/format");
|
||||
@@ -956,13 +951,11 @@ namespace VEPROMS
|
||||
ProcedureInfo pi = null;
|
||||
pbImportProcedure.Value = 0;
|
||||
pbImportProcedure.Maximum = MyExpxZipFile.Entries.Count - 1;
|
||||
if (!Directory.Exists(Path.Combine(PEIPath, "procedures")))
|
||||
Directory.CreateDirectory(Path.Combine(PEIPath, "procedures"));
|
||||
for (int i = 1; i < MyExpxZipFile.Entries.Count; i++)
|
||||
{
|
||||
ze = MyExpxZipFile.Entries[i];
|
||||
fn = Path.Combine(PEIPath, "procedures", ze.Name);
|
||||
ze.ExtractToFile(fn, true);
|
||||
ze = MyExpxZipFile[i];
|
||||
fn = PEIPath + @"\" + ze.FileName;
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
xd = new XmlDocument();
|
||||
xd.Load(fn);
|
||||
pi = AddProcedure(xd.DocumentElement, dvi, pi);
|
||||
@@ -978,8 +971,6 @@ namespace VEPROMS
|
||||
SaveTransitionAndItemContentIDs();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void FixSectionStart(ProcedureInfo pi)
|
||||
{
|
||||
Content c = Content.Get(pi.MyContent.ContentID);
|
||||
@@ -1262,10 +1253,6 @@ namespace VEPROMS
|
||||
// This will create and save the ItemIDs (old and new), ContentIDs (old andnew), library document IDs (old and new), and pending transitions each in their own xml file
|
||||
// the xml files are then added (or replaced) in the .impx file.
|
||||
private void SaveTransitionAndItemContentIDs()
|
||||
{
|
||||
using (FileStream zipToOpen = new FileStream(MyImpZipFileName, FileMode.OpenOrCreate))
|
||||
{
|
||||
using (ZipArchive MyImpxZipFile = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
|
||||
{
|
||||
XmlDocument xd = new XmlDocument();
|
||||
XmlElement xe = xd.CreateElement("items");
|
||||
@@ -1279,9 +1266,11 @@ namespace VEPROMS
|
||||
xd.DocumentElement.AppendChild(xe);
|
||||
}
|
||||
xd.Save(fn);
|
||||
ZipArchiveEntry ze = MyImpxZipFile.GetEntry("items.xml");
|
||||
ze.Delete();
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
ZipEntry ze = MyImpxZipFile["items.xml"];
|
||||
MyImpxZipFile.RemoveEntry(ze);
|
||||
MyImpxZipFile.Save();
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
xd = new XmlDocument();
|
||||
xe = xd.CreateElement("contents");
|
||||
@@ -1295,9 +1284,11 @@ namespace VEPROMS
|
||||
xd.DocumentElement.AppendChild(xe);
|
||||
}
|
||||
xd.Save(fn);
|
||||
ze = MyImpxZipFile.GetEntry("contents.xml");
|
||||
ze.Delete();
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
ze = MyImpxZipFile["contents.xml"];
|
||||
MyImpxZipFile.RemoveEntry(ze);
|
||||
MyImpxZipFile.Save();
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
xd = new XmlDocument();
|
||||
xe = xd.CreateElement("transitions");
|
||||
@@ -1312,36 +1303,36 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
xd.Save(fn);
|
||||
ze = MyImpxZipFile.GetEntry("transitions.xml");
|
||||
ze.Delete();
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
ze = MyImpxZipFile["transitions.xml"];
|
||||
MyImpxZipFile.RemoveEntry(ze);
|
||||
MyImpxZipFile.Save();
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This is called only when we are importing an entire folder and there is a .impx file (a zip file)
|
||||
// the name of the .impx file is based on the folder name containing the export file being imported
|
||||
// This will read in the saved ItemIDs (old and new), ContentIDs (old andnew), library document IDs (old and new), and pending transitions
|
||||
private void ReadTransitionAndItemContentIDs(ZipArchive MyImpxZipFile)
|
||||
private void ReadTransitionAndItemContentIDs()
|
||||
{
|
||||
ZipArchiveEntry ze = MyImpxZipFile.GetEntry("items.xml");
|
||||
ZipEntry ze = MyImpxZipFile["items.xml"];
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
string fn = PEIPath + @"\items.xml";
|
||||
ze.ExtractToFile(fn, true);
|
||||
XmlDocument xd = new XmlDocument();
|
||||
xd.Load(fn);
|
||||
// B2016-176, B2016-197 Transitions were no always properly resolved - don't load in the old item ids
|
||||
File.Delete(fn);
|
||||
ze = MyImpxZipFile.GetEntry("contents.xml");
|
||||
ze = MyImpxZipFile["contents.xml"];
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
fn = PEIPath + @"\contents.xml";
|
||||
ze.ExtractToFile(fn, true);
|
||||
xd = new XmlDocument();
|
||||
xd.Load(fn);
|
||||
// B2016-176, B2016-197 Transitions were no always properly resolved - don't load in the old content ids
|
||||
File.Delete(fn);
|
||||
ze = MyImpxZipFile.GetEntry("libdocs.xml");
|
||||
ze = MyImpxZipFile["libdocs.xml"];
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
fn = PEIPath + @"\libdocs.xml";
|
||||
ze.ExtractToFile(fn, true);
|
||||
xd = new XmlDocument();
|
||||
xd.Load(fn);
|
||||
XmlNodeList nl = xd.SelectNodes("//libdoc");
|
||||
@@ -1353,9 +1344,9 @@ namespace VEPROMS
|
||||
Old2NewLibDoc.Add(oldid, newid);
|
||||
}
|
||||
File.Delete(fn);
|
||||
ze = MyImpxZipFile.GetEntry("transitions.xml");
|
||||
ze = MyImpxZipFile["transitions.xml"];
|
||||
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
||||
fn = PEIPath + @"\transitions.xml";
|
||||
ze.ExtractToFile(fn, true);
|
||||
PendingTransitions.Load(fn);
|
||||
File.Delete(fn);
|
||||
}
|
||||
@@ -1383,26 +1374,25 @@ namespace VEPROMS
|
||||
else
|
||||
dn = fi.Name.Substring(0, fi.Name.IndexOf("."));
|
||||
txtImport.Text = ofd.FileName;
|
||||
MyExpZipFileName = txtImport.Text;
|
||||
ReadOptions ro = new ReadOptions();
|
||||
ro.Encoding = Encoding.UTF8;
|
||||
MyExpxZipFile = ZipFile.Read(txtImport.Text, ro);
|
||||
string fn = string.Format(@"{0}\{1}.impx", PEIPath, dn);
|
||||
MyImpZipFileName = fn;
|
||||
if (File.Exists(fn))
|
||||
{
|
||||
using (ZipArchive MyImpxZipFile = ZipFile.OpenRead(fn))
|
||||
ReadTransitionAndItemContentIDs(MyImpxZipFile);
|
||||
MyImpxZipFile = ZipFile.Read(fn, ro);
|
||||
ReadTransitionAndItemContentIDs();
|
||||
}
|
||||
else
|
||||
{
|
||||
using (FileStream zipToOpen = new FileStream(fn, FileMode.OpenOrCreate))
|
||||
{
|
||||
using (ZipArchive MyImpxZipFile = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
|
||||
{
|
||||
MyImpxZipFile = new ZipFile(fn, Encoding.UTF8);
|
||||
//transitions
|
||||
XmlElement xe = PendingTransitions.CreateElement("transitions");
|
||||
PendingTransitions.AppendChild(xe);
|
||||
fn = PEIPath + @"\transitions.xml";
|
||||
PendingTransitions.Save(fn);
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
//itemids
|
||||
XmlDocument xd = new XmlDocument();
|
||||
@@ -1410,7 +1400,8 @@ namespace VEPROMS
|
||||
xd.AppendChild(xe);
|
||||
fn = PEIPath + @"\items.xml";
|
||||
xd.Save(fn);
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
//contentids
|
||||
xd = new XmlDocument();
|
||||
@@ -1418,7 +1409,8 @@ namespace VEPROMS
|
||||
xd.AppendChild(xe);
|
||||
fn = PEIPath + @"\contents.xml";
|
||||
xd.Save(fn);
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
//libdocids
|
||||
xd = new XmlDocument();
|
||||
@@ -1426,12 +1418,11 @@ namespace VEPROMS
|
||||
xd.AppendChild(xe);
|
||||
fn = PEIPath + @"\libdocs.xml";
|
||||
xd.Save(fn);
|
||||
_ = MyImpxZipFile.CreateEntryFromFile(fn, Path.GetFileName(fn));
|
||||
MyImpxZipFile.AddFile(fn, "");
|
||||
MyImpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (MyDocVersion != null)
|
||||
{
|
||||
ofd.Filter = "PROMS Procedure Export Files|*.pxml";
|
||||
@@ -1604,11 +1595,8 @@ namespace VEPROMS
|
||||
ExportAssociation(xe, ai, "association");
|
||||
string fn = PEIPath + @"\folder.xml";
|
||||
xn.OwnerDocument.Save(fn);
|
||||
using (FileStream zipToOpen = new FileStream(MyExpZipFileName, FileMode.OpenOrCreate))
|
||||
{
|
||||
using (ZipArchive MyExpxZipFile = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
|
||||
{
|
||||
_ = MyExpxZipFile.CreateEntryFromFile(fn, $"folder/{Path.GetFileName(fn)}");
|
||||
MyExpxZipFile.AddFile(fn, "folder");
|
||||
MyExpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
//here
|
||||
lblExportStatus.Text = "Exporting Procedures...";
|
||||
@@ -1624,14 +1612,13 @@ namespace VEPROMS
|
||||
ExportItem(xd, ii, "procedure");
|
||||
fn = string.Format(@"{0}\proc{1}.xml", PEIPath, pbExportProcedure.Value.ToString().PadLeft(4, '0'));
|
||||
xd.Save(fn);
|
||||
_ = MyExpxZipFile.CreateEntryFromFile(fn, $"procedures/{Path.GetFileName(fn)}");
|
||||
MyExpxZipFile.AddFile(fn, "procedures");
|
||||
MyExpxZipFile.Save();
|
||||
File.Delete(fn);
|
||||
xd = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private void ExportAssociation(XmlElement xn, AssociationInfo ai, string nodename)
|
||||
{
|
||||
/*
|
||||
@@ -1852,14 +1839,12 @@ namespace VEPROMS
|
||||
//and handled/overridden in dlgExportEP.cs
|
||||
}
|
||||
|
||||
protected virtual void SetEPEnhancedDocLinks(ref XmlElement xe, ItemInfo ii)
|
||||
protected virtual void SetROLocation(ref XmlElement xindivid, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
||||
{
|
||||
//do nothing - this will be for Electronic procedures only
|
||||
//and handled/overridden in dlgExportEP.cs
|
||||
}
|
||||
|
||||
|
||||
protected virtual void SetROLocation(ref XmlElement xindivid, ROFSTLookup.rochild roc, RODbInfo rodb, bool isMulti)
|
||||
protected virtual void SetEPEnhancedDocLinks(ref XmlElement xe, ItemInfo ii)
|
||||
{
|
||||
//do nothing - this will be for Electronic procedures only
|
||||
//and handled/overridden in dlgExportEP.cs
|
||||
|
@@ -839,7 +839,7 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
using (SqlCommand cmd = cn.CreateCommand())
|
||||
{
|
||||
cmd.CommandTimeout = 0;
|
||||
cmd.CommandTimeout = Database.DefaultTimeout;
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = "vesp_RofstHeaderFinalizeLoad";
|
||||
|
||||
|
Reference in New Issue
Block a user