Added ApplicabilityIndex property to dlgApproveProcedure class

Set ApplicabilityIndex to DocVersionConfig.SelectedSlave
Set DocVersionConfig.SelectedSlave to ApplicabilityIndex for each procedure in DocVersion
Set DocVersionConfig.SelectedSlave to DocVersionConfig.SelectedSlave of first procedure to be approved for each procedure listed in select procedure panel
Set ProcedureConfig.SelectedSlave to DocVersionConfig.SelectedSlave in constructor for ApprovalProcedure class
Retrieve current RevisionInfo for ApprovalProcedure class Approve method
For each procedure to be approved, retreive current RevisionInfo
Set myDTS variable to current RevisonInfo DTS if RevNumber is different and latest version is approved
Populate ContentAuditInfoList and AnnotationAuditInfoList for selected unit
Retrieve Revison object for selected unit
Added required closing brace
Store DocVersionConfig.SelectedSlave value to selectedSlave variable then reset DocVersionConfig.SelectedSlave to 0
Update ProcedureConfig based on selectedSlave variable value based on whether StageInfo is approved or not approved
Reset DocVersionConfig.SelectedSlave to value of selectedSlave variable
Changed UpdateProcedureConfig method to inlcude selectedSlave parameter
Set ProcedureConfig SelectedSlave property to passed selectedSlave parameter value
Comment out updating Item DTS during ProcedureConfig update
This commit is contained in:
Rich 2012-12-04 22:44:00 +00:00
parent 8fd70677fc
commit 35da7c4274

View File

@ -33,11 +33,18 @@ namespace VEPROMS
tsslStatus.Text = value ? "" : "Need to correct the Rev Numbers marked with Question Marks"; tsslStatus.Text = value ? "" : "Need to correct the Rev Numbers marked with Question Marks";
} }
} }
private int _ApplicabilityIndex = 0;
public int ApplicabilityIndex
{
get { return _ApplicabilityIndex; }
set { _ApplicabilityIndex = value; }
}
private ApprovalInfo _MyApproval = new ApprovalInfo(); private ApprovalInfo _MyApproval = new ApprovalInfo();
private bool _CheckForMore = false; private bool _CheckForMore = false;
private DocVersionInfo _MyDocVersion; private DocVersionInfo _MyDocVersion;
public dlgApproveProcedure(DocVersionInfo myDocVersion) public dlgApproveProcedure(DocVersionInfo myDocVersion)
{ {
ApplicabilityIndex = myDocVersion.DocVersionConfig.SelectedSlave;
this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest); this.ConsistencyPrintRequest += new DisplayConsistencyReportEvent(dlgApproveProcedure_ConsistencyPrintRequest);
_MyDocVersion = myDocVersion; _MyDocVersion = myDocVersion;
InitializeComponent(); InitializeComponent();
@ -45,7 +52,10 @@ namespace VEPROMS
_MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated); _MyApproval.StatusUpdated += new ApprovalStatusChangeEvent(_MyApproval_StatusUpdated);
SetupComboBoxes(); SetupComboBoxes();
foreach (ProcedureInfo pi in myDocVersion.Procedures) foreach (ProcedureInfo pi in myDocVersion.Procedures)
{
pi.MyDocVersion.DocVersionConfig.SelectedSlave = ApplicabilityIndex;
_MyApproval.AddProcedure(pi); _MyApproval.AddProcedure(pi);
}
SetupMyApproval(); SetupMyApproval();
//pnlApprove.LocationChanged += new EventHandler(Panel_LocationChanged); //pnlApprove.LocationChanged += new EventHandler(Panel_LocationChanged);
//pnlSelect.LocationChanged += new EventHandler(Panel_LocationChanged); //pnlSelect.LocationChanged += new EventHandler(Panel_LocationChanged);
@ -162,6 +172,7 @@ namespace VEPROMS
{ {
foreach (ProcedureInfo pi in _MyDocVersion.Procedures) foreach (ProcedureInfo pi in _MyDocVersion.Procedures)
{ {
pi.MyDocVersion.DocVersionConfig.SelectedSlave = _MyDocVersion.DocVersionConfig.SelectedSlave;
clbMore.Items.Add(pi.DisplayNumber); clbMore.Items.Add(pi.DisplayNumber);
tmpProcedures.Add(pi.DisplayNumber, pi); tmpProcedures.Add(pi.DisplayNumber, pi);
} }
@ -637,6 +648,7 @@ namespace VEPROMS
} }
public ApprovalProcedure(ProcedureInfo proc) public ApprovalProcedure(ProcedureInfo proc)
{ {
proc.ProcedureConfig.SelectedSlave = proc.MyDocVersion.DocVersionConfig.SelectedSlave;
ProcInfo = proc; ProcInfo = proc;
RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev; RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev;
//AppRevDate Change //AppRevDate Change
@ -929,7 +941,8 @@ namespace VEPROMS
StageInfo nsi = StageInfo.Get(RevStage); StageInfo nsi = StageInfo.Get(RevStage);
foreach (ApprovalProcedure ap in MyProcedures) //spin thru looking for updating current revision foreach (ApprovalProcedure ap in MyProcedures) //spin thru looking for updating current revision
{ {
RevisionInfo ric = RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID); //RevisionInfo ric = RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID);
RevisionInfo ric = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(ap.ProcInfo.ItemID,ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(ap.ProcInfo.ItemID);
if (ric != null) if (ric != null)
{ {
VersionInfo vi = ric.LatestVersion; VersionInfo vi = ric.LatestVersion;
@ -950,17 +963,40 @@ namespace VEPROMS
{ {
ProcedureInfo pi = ap.ProcInfo; ProcedureInfo pi = ap.ProcInfo;
OnStatusUpdated(this, new ApprovalMessageArgs(string.Format("Processing {0}", pi.DisplayNumber))); OnStatusUpdated(this, new ApprovalMessageArgs(string.Format("Processing {0}", pi.DisplayNumber)));
RevisionInfo ric = RevisionInfo.GetCurrentByItemID(pi.ItemID); RevisionInfo ric = pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0 ? RevisionInfo.GetCurrentByItemIDandUnitID(pi.ItemID,pi.MyDocVersion.DocVersionConfig.SelectedSlave) : RevisionInfo.GetCurrentByItemID(pi.ItemID);
// RevisionInfo rip = RevisionInfo.GetPreviousByItemID(pi.ItemID); // RevisionInfo rip = RevisionInfo.GetPreviousByItemID(pi.ItemID);
DateTime myDTS = pi.DTS; DateTime myDTS = pi.DTS;
if (ric != null && ap.RevNumber == ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1) if (ric != null && ap.RevNumber == ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1)
{ {
myDTS = ric.MyConfig.History_StartDate; myDTS = ric.MyConfig.History_StartDate;
UpdateProcedureDTS(pi, myDTS); //UpdateProcedureDTS(pi, myDTS);
}
if (ric != null && ap.RevNumber != ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1)
{
myDTS = ric.DTS;
// myDTS = DateTime.Parse(pi.ProcedureConfig.Print_RevDate);
} }
string summaryPDF = VlnSettings.TemporaryFolder + @"\MySummary.pdf"; string summaryPDF = VlnSettings.TemporaryFolder + @"\MySummary.pdf";
ContentAuditInfoList cail = ContentAuditInfoList.GetSummary(pi.ItemID, pi.ItemID, false); ContentAuditInfoList cail;
AnnotationAuditInfoList aail = AnnotationAuditInfoList.GetChronology(pi.ItemID, pi.ItemID); AnnotationAuditInfoList aail;
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{
cail = ContentAuditInfoList.GetSummaryByUnit(pi.ItemID, pi.ItemID, false, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
aail = AnnotationAuditInfoList.GetChronologyByUnit(pi.ItemID, pi.ItemID, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
}
else
{
cail = ContentAuditInfoList.GetSummary(pi.ItemID, pi.ItemID, false);
aail = AnnotationAuditInfoList.GetChronology(pi.ItemID, pi.ItemID);
}
if (pi.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{
pi = ProcedureInfo.GetItemAndChildrenByUnit(pi.ItemID, 0, pi.MyDocVersion.DocVersionConfig.SelectedSlave);
}
//else
//{
// pi = ProcedureInfo.GetItemAndChildren(pi.ItemID, 0);
//}
Volian.Print.Library.PDFChronologyReport myChronoRpt = new Volian.Print.Library.PDFChronologyReport(summaryPDF, pi, cail, aail); Volian.Print.Library.PDFChronologyReport myChronoRpt = new Volian.Print.Library.PDFChronologyReport(summaryPDF, pi, cail, aail);
myChronoRpt.BuildSummary(ViewPDF); myChronoRpt.BuildSummary(ViewPDF);
FileInfo pdfFile = new FileInfo(summaryPDF); FileInfo pdfFile = new FileInfo(summaryPDF);
@ -968,22 +1004,47 @@ namespace VEPROMS
byte[] summaryBuf = new byte[pdfFile.Length]; byte[] summaryBuf = new byte[pdfFile.Length];
fs.Read(summaryBuf, 0, summaryBuf.Length); fs.Read(summaryBuf, 0, summaryBuf.Length);
fs.Close(); fs.Close();
Revision revision = Revision.GetByItemIDAndRevisionNumber(pi.ItemID, ap.RevNumber); Revision revision = null;
if (revision == null) if (ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave > 0)
{ {
RevisionConfig cfg = new RevisionConfig(); revision = Revision.GetByItemIDAndRevisionNumberAndUnitID(pi.ItemID, ap.RevNumber, ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave);
cfg.History_StartDate = pi.DTS; if (revision == null)
//cfg.Save(); {
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID); RevisionConfig cfg = new RevisionConfig();
// revision.MyConfig.History_StartDate = pi.DTS; cfg.History_StartDate = pi.DTS;
// revision.MyConfig.Save(); cfg.Applicability_Index = ap.ProcInfo.MyDocVersion.DocVersionConfig.SelectedSlave;
// revision = revision.Save(); //cfg.Save();
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
// revision.MyConfig.History_StartDate = pi.DTS;
// revision.MyConfig.Save();
// revision = revision.Save();
}
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
{
revision.Notes = RevNote;
revision.RevisionDate = ap.RevDate;
revision = revision.Save();
}
} }
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate) else
{ {
revision.Notes = RevNote; revision = Revision.GetByItemIDAndRevisionNumber(pi.ItemID, ap.RevNumber);
revision.RevisionDate = ap.RevDate; if (revision == null)
revision = revision.Save(); {
RevisionConfig cfg = new RevisionConfig();
cfg.History_StartDate = pi.DTS;
//cfg.Save();
revision = Revision.MakeRevision(pi.ItemID, RevType, ap.RevNumber, ap.RevDate, RevNote, cfg.ToString(), DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
// revision.MyConfig.History_StartDate = pi.DTS;
// revision.MyConfig.Save();
// revision = revision.Save();
}
else if (revision.Notes != RevNote || revision.RevisionDate != ap.RevDate)
{
revision.Notes = RevNote;
revision.RevisionDate = ap.RevDate;
revision = revision.Save();
}
} }
DateTime currentDTS = DateTime.Now; DateTime currentDTS = DateTime.Now;
Check check = Check.MakeCheck(revision, Stage.Get(RevStage), RevisionInfo.BuildRevisionChecks(pi), currentDTS, VlnSettings.UserID); Check check = Check.MakeCheck(revision, Stage.Get(RevStage), RevisionInfo.BuildRevisionChecks(pi), currentDTS, VlnSettings.UserID);
@ -996,9 +1057,9 @@ namespace VEPROMS
using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID)) using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID))
{ {
frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location); frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
frm.AllowAllWatermarks = true; frm.AllowAllWatermarks = true;
frm.CloseWhenDone = !ViewPDF; frm.CloseWhenDone = !ViewPDF;
frm.ShowDialog(); frm.ShowDialog();
} }
pdfFile = new FileInfo(pdfPath); pdfFile = new FileInfo(pdfPath);
fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite); fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
@ -1007,11 +1068,14 @@ namespace VEPROMS
fs.Close(); fs.Close();
VEPROMS.CSLA.Library.Version version = VEPROMS.CSLA.Library.Version.MakeVersion(revision, Stage.Get(RevStage), buf, summaryBuf, currentDTS, VlnSettings.UserID); VEPROMS.CSLA.Library.Version version = VEPROMS.CSLA.Library.Version.MakeVersion(revision, Stage.Get(RevStage), buf, summaryBuf, currentDTS, VlnSettings.UserID);
StageInfo si = StageInfo.Get(RevStage); StageInfo si = StageInfo.Get(RevStage);
int selectedSlave = pi.MyDocVersion.DocVersionConfig.SelectedSlave;
pi.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
if (si.IsApproved == 1) if (si.IsApproved == 1)
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, DateTime.Now); UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, DateTime.Now, selectedSlave);
else else
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS); UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
//UpdateProcedureDTS(pi, DateTime.Now); //UpdateProcedureDTS(pi, DateTime.Now);
pi.MyDocVersion.DocVersionConfig.SelectedSlave = selectedSlave;
} }
return true; return true;
} }
@ -1024,17 +1088,18 @@ namespace VEPROMS
itm.Save(); itm.Save();
} }
} }
private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts) private void UpdateProcedureConfig(ProcedureInfo procedureInfo, string revNumber, DateTime revDate, DateTime dts, int selectedSlave)
{ {
ProcedureConfig pc = procedureInfo.MyConfig as ProcedureConfig; ProcedureConfig pc = procedureInfo.MyConfig as ProcedureConfig;
if (pc == null) return; if (pc == null) return;
pc.SelectedSlave = selectedSlave;
pc.Print_Rev = revNumber; pc.Print_Rev = revNumber;
//AppRevDate Change //AppRevDate Change
pc.Print_RevDate = revDate.ToString("MM/dd/yyyy"); pc.Print_RevDate = revDate.ToString("MM/dd/yyyy");
using (Item itm = Item.Get(procedureInfo.ItemID)) using (Item itm = Item.Get(procedureInfo.ItemID))
{ {
itm.MyContent.Config = pc.ToString(); itm.MyContent.Config = pc.ToString();
itm.DTS = dts; //itm.DTS = dts;
itm.UserID = Volian.Base.Library.VlnSettings.UserID; itm.UserID = Volian.Base.Library.VlnSettings.UserID;
itm.Save(); itm.Save();
} }