Added code to allow storing approved pdf's into database for multiunit sites.

This commit is contained in:
Rich 2013-11-14 21:28:25 +00:00
parent 3f87a0e39d
commit 99792ab13e

View File

@ -24,7 +24,7 @@ namespace DataLoader
if (dvi.Procedures.Count > 0) if (dvi.Procedures.Count > 0)
{ {
if (!frmMain.MySettings.OnlyThisSet || frmMain.MySettings.ProcedureSetPath.ToUpper() == dvi.MyFolder.Title.ToUpper()) if (!frmMain.MySettings.OnlyThisSet || frmMain.MySettings.ProcedureSetPath.ToUpper() == dvi.MyFolder.Title.ToUpper())
{ {
string approvedFolder = dvi.MyFolder.Title + @"\APPROVED"; string approvedFolder = dvi.MyFolder.Title + @"\APPROVED";
//B2012-094 fix //B2012-094 fix
if (!Directory.Exists(approvedFolder)) frmMain.MyWarning = "**** " + dvi.MyFolder.Title + " Approved folder does not exist"; if (!Directory.Exists(approvedFolder)) frmMain.MyWarning = "**** " + dvi.MyFolder.Title + " Approved folder does not exist";
@ -53,16 +53,30 @@ namespace DataLoader
private bool BuildApprovedRevision(Stage myStage, string approvedFolder, DocVersionInfo dvi) private bool BuildApprovedRevision(Stage myStage, string approvedFolder, DocVersionInfo dvi)
{ {
bool rv = false; bool rv = false;
ApprovedFolder af = new ApprovedFolder(approvedFolder); if (dvi.MultiUnitCount <= 1)
foreach (ProcedureInfo pi in dvi.Procedures)
{ {
rv |= BuildApprovedRevision(myStage, af, pi); ApprovedFolder af = new ApprovedFolder(approvedFolder);
foreach (ProcedureInfo pi in dvi.Procedures)
{
rv |= BuildApprovedRevision(myStage, af, pi, 0);
}
}
else
{
ApprovedFolder af = new ApprovedFolder(approvedFolder, dvi);
foreach (ProcedureInfo pi in dvi.Procedures)
{
for (int i = 1; i <= dvi.MultiUnitCount; i++)
rv |= BuildApprovedRevision(myStage, af, pi, i);
}
} }
return rv; return rv;
} }
private bool BuildApprovedRevision(Stage myStage, ApprovedFolder af, ProcedureInfo pi) private bool BuildApprovedRevision(Stage myStage, ApprovedFolder af, ProcedureInfo pi, int selectedSlave)
{ {
bool rv = false; bool rv = false;
if (selectedSlave > 0)
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
frmMain.MyInfo = string.Format("Loading approved data for Procedure: {0}", pi.DisplayNumber); frmMain.MyInfo = string.Format("Loading approved data for Procedure: {0}", pi.DisplayNumber);
// if working draft procedure does not exist in approved folder, don't bother processing // if working draft procedure does not exist in approved folder, don't bother processing
if (!af.EntryFromProc.ContainsKey(pi.DisplayNumber)) return rv; if (!af.EntryFromProc.ContainsKey(pi.DisplayNumber)) return rv;
@ -109,6 +123,8 @@ namespace DataLoader
string notes = "Migration Of Current Approved Revision"; string notes = "Migration Of Current Approved Revision";
RevisionConfig cfg = new RevisionConfig(); RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pinf.StartDateTime; cfg.History_StartDate = pinf.StartDateTime;
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
cfg.Applicability_Index = pi.MyDocVersion.DocVersionConfig.SelectedSlave;
string config = cfg.ToString(); string config = cfg.ToString();
System.DateTime dts = pi.DTS; System.DateTime dts = pi.DTS;
string userID = pinf.UserID; string userID = pinf.UserID;
@ -287,6 +303,28 @@ namespace DataLoader
FillLibDocs(); FillLibDocs();
_Lookup = new ROFSTLookup(string.Format(@"{0}\RO.FST", Path)); _Lookup = new ROFSTLookup(string.Format(@"{0}\RO.FST", Path));
} }
public ApprovedFolder(string path, DocVersionInfo dvi)
{
_Path = path;
FillROs();
FillLibDocs();
_Lookup = new ROFSTLookup(string.Format(@"{0}\RO.FST", Path));
_EntryFromProc = FillEntryFromProcMulti(dvi);
}
private Dictionary<string, ProcInfo> FillEntryFromProcMulti(DocVersionInfo dvi)
{
Dictionary<string, ProcInfo> rv = new Dictionary<string, ProcInfo>();
for (int i = 1; i <= dvi.MultiUnitCount; i++)
{
foreach (ProcedureInfo pi in dvi.Procedures)
{
pi.MyDocVersion.DocVersionConfig.SelectedSlave = i;
rv.Add(pi.DisplayNumber, new ProcInfo(pi, Path));
}
}
return rv;
}
private void FillLibDocs() private void FillLibDocs()
{ {
@ -383,6 +421,15 @@ namespace DataLoader
get { return _ReviewDate; } get { return _ReviewDate; }
set { _ReviewDate = value; } set { _ReviewDate = value; }
} }
public ProcInfo(ProcedureInfo pi, string afpath)
{
Number = pi.DisplayNumber;
Entry = pi.DisplayText;
UserID = pi.UserID;
StartDateTime = pi.DTS;
RevDate = pi.ProcedureConfig.Print_RevDate;
Rev = pi.ProcedureConfig.Print_Rev;
}
public ProcInfo(DataRow dr, string afpath) public ProcInfo(DataRow dr, string afpath)
{ {
Number = dr["NUMBER"].ToString(); Number = dr["NUMBER"].ToString();