From 6a7a9f7786d6e615198e8f4ab8fbacc86ec42ee8 Mon Sep 17 00:00:00 2001 From: Kathy Date: Thu, 1 Sep 2011 11:02:02 +0000 Subject: [PATCH] --- PROMS/DataLoader/Sections.cs | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/PROMS/DataLoader/Sections.cs b/PROMS/DataLoader/Sections.cs index 990f56d2..62ed8aab 100644 --- a/PROMS/DataLoader/Sections.cs +++ b/PROMS/DataLoader/Sections.cs @@ -27,6 +27,7 @@ namespace DataLoader { public partial class Loader { + const int E2 = 4194304; private Dictionary dicOldToNew; private Item AddSection(Item procitem, string Number, string Title, string SecType, DateTime Dts, string Userid, ConfigInfo ci, string stpseq, string fmt, int libdocid, string pth, Item FromItem, FormatInfo activeFormat) { @@ -48,9 +49,46 @@ namespace DataLoader // Find the docstyle based on the section type (step[1]) & the 'type' from the dbf // record sectype[0]) string dstyleindx = ((stpseq == null || stpseq == "") ? " " : stpseq.Substring(1, 1)) + ((SecType==null||SecType == "") ? " " : SecType.Substring(0, 1)); + int tmpE2 = LookupOldToNew(dstyleindx); //int docstyleindx = GetDocStyleIndx(dstyleindx, format, procitem, docver,Number,Title); int docstyleindx = GetDocStyleIndx(dstyleindx, format, procitem, Number, Title); + // Adjust the section number. The 16bit vfw code was sometimes printing section numbers + // differently than what was stored as data. For example VEWCNOFN: OFN MA-001, the section + // number was '1.' and 16bit printed it as '1.0'. The flag that caused this was (surprisingly), + // !LineAboveUnderSection, search for LineAboveUnderSection in PROMSNT\exe\print\prntStep.c + // to find the beginning point of tracing this 16bit logic, the call to PlaceSectionTitle. + // The change in section number is: + // 1 -> 1. B -> B. + // 1. -> 1.0 B. -> B.0 + // 1.0 stays same B.0 stays the same + // It was decided to make the string change in the dataloader rather than have this 'strange' + // code/support in the print program for the 32bit veproms. (8/30/11). This seems to work + // for Wcnemg, WcnOFn, HLP, FPL. As other plants are migrated, this may need changed. + + /* The 16bit code if statement is (see below for what parts of this if statement where supported + * for data migration so far (as of 8/31/11). Note that 'Smartsubsection' only had values of + * 0 in fmtfiles. + * if (!CancelCurSecTitle() && + !(SpecialStepsFoldout && (CurDoc->oldtonew == E2)) && + !(SmartSubSection && (CurDoc->oldtonew & SmartSubSection) && + Section[CurrentSectIndex].Level == 0) && + Section[CurrentSectIndex].Sequence[9] != 'N') { + */ + FormatData fmtData = format.PlantFormat.FormatData; + if (fmtData.SectData.StepSectionData.StepSectionLayoutData.ShowSectionTitles && + !format.PlantFormat.DocStyles.DocStyleList[docstyleindx].CancelSectTitle && + !(format.PlantFormat.DocStyles.DocStyleList[docstyleindx].SpecialStepsFoldout && tmpE2 == E2)) + { + if (!fmtData.SectData.StepSectionData.StepSectionLayoutData.LineAboveUnderSection && + (Number != null && Number != "") && + (stpseq != null && stpseq.Substring(1, 1) == "0" && stpseq.Substring(5, 1) != " ")) + { + if (Number.EndsWith(".")) Number = Number + "0"; + else if (Number.Length>1 && Number[Number.Length-2] != '.') Number = Number + "."; + } + } + // tack on the column mode - add to config xml for node. if (stpseq != null && stpseq.Substring(1, 1) == "0" && stpseq.Substring(5, 1) != " ") {