Advertisement
njb

SPROC 2

njb
Apr 11th, 2012
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 46.93 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[batch_report_v2]
  2. (
  3. @SBN BIGINT,
  4. @userlogin VARCHAR(128),
  5. @Rev_Comment VARCHAR(255),
  6. @Input_Report_Rev INT --If @Report_Rev = -1, create the report
  7.                       --If @Report_Rev >= 0, just display the already created report
  8. )
  9. AS
  10.  
  11. DECLARE @Batch_Report_Ver VARCHAR(25)
  12. SET @Batch_Report_Ver = (SELECT DB_NAME());
  13.  
  14. DECLARE @Report_Date DATETIME
  15.  
  16.  
  17. --Clear out the tables for the new report data
  18. DELETE FROM [dbo].[TempQR_Master]
  19. DELETE FROM [dbo].[TempQR_Sub]
  20. DELETE FROM [dbo].[TempArticle]
  21. DELETE FROM [dbo].[TempDose_Family]
  22. DELETE FROM [dbo].[TempEBeamSubsystem]
  23. DELETE FROM [dbo].[TempRecipe]
  24. DELETE FROM [dbo].[TempUPN]
  25. DELETE FROM [dbo].[TempSBNInfo]
  26. DELETE FROM [dbo].[TempQR_Master_Diverted]
  27.  
  28.  
  29. ------------------------------------------------------------------------
  30. --Get all Quality Records associated with a particular SBN for later use
  31. --by saving the queries to temp tables for easier retrieval, and for the
  32. --SQL Reporting tool. It requires these tables to exist.
  33. ------------------------------------------------------------------------
  34.  
  35. DECLARE @TempQR_Master TABLE(
  36.     CountID BIGINT,
  37.     SiteID INT,
  38.     TreatmentSystemID INT,
  39.     Barcode VARCHAR(200),
  40.     Label_SN VARCHAR(50),
  41.     SBN INT,
  42.     ProductCode VARCHAR(50),
  43.     Lot VARCHAR(50),
  44.     ProcessSpecID INT,
  45.     PARAM INT,
  46.     PARAM_REV INT,
  47.     CONFIG_REV INT,
  48.     SCALE_REV INT,
  49.     SETUP_STAT BIT,
  50.     VALIDATION_RUN BIT,
  51.     RECEIVED_TIME DATETIME,
  52.     OUTPUT_TIME DATETIME,
  53.     REJECT_FORCED BIT,
  54.     PROCESSING_STATUS TINYINT,
  55.     OUTPUT_STATUS TINYINT,
  56.     INTERRUPTIONS INT,
  57.     db_rev VARCHAR(50),
  58.     OutfeedBarcode VARCHAR(200),
  59.     CreatedTime DATETIME,
  60.     TrackClass VARCHAR(50),
  61.     Op_uname VARCHAR(255),
  62.     Op_rname VARCHAR(255),
  63.     Rec_CRC INT
  64. )
  65.  
  66. IF (@Input_Report_Rev = -1) --Create a new report
  67. BEGIN
  68.     INSERT INTO @TempQR_Master
  69.     SELECT *
  70.     FROM QR_Master
  71.     WHERE QR_Master.SBN = @SBN
  72. END
  73. ELSE
  74. BEGIN
  75.     --Only get boxes that belong to this SBN in case the report was created in the middle of a batch
  76.     --This is done by only selecting boxes that have records before this Rev of the report was created.
  77.     SELECT @Report_Date = CreatedTime
  78.     FROM Report_Summary_v2  --Version 2
  79.     WHERE SBN = @SBN AND Report_Revision   = @Input_Report_Rev
  80.  
  81.     INSERT INTO @TempQR_Master
  82.     SELECT *
  83.     FROM QR_Master
  84.     WHERE QR_Master.SBN = @SBN AND
  85.           QR_Master.Output_Time < @Report_Date
  86.  
  87. END
  88.  
  89. --Now for Boxes which were Diverted from QR_Master
  90. /*
  91. This section uses the TempQR_Master table to get the Output_Status
  92. code which is referenced against a list of Divert Reasons for each value > 0.
  93. An Output_Status of 0 means it was treated OK.
  94. This reason is then appended to the end of the TempQR_Master_Diverted table
  95. after everything from the QR_Master table is copied
  96. */
  97. DECLARE @Reject_Reason VARCHAR(128)
  98. DECLARE @i CURSOR
  99.  
  100. DECLARE @Interruption_Reason VARCHAR(128)
  101. DECLARE @j CURSOR
  102.  
  103. DECLARE @CountID BIGINT
  104. DECLARE @SiteID INT
  105. DECLARE @TreatmentSystemID INT
  106. DECLARE @Barcode VARCHAR(200)
  107. DECLARE @Label_SN VARCHAR(50)
  108. DECLARE @SBN_2 INT
  109. DECLARE @ProductCode VARCHAR(50)
  110. DECLARE @Lot VARCHAR(50)
  111. DECLARE @ProcessSpecID INT
  112. DECLARE @Param INT
  113. DECLARE @Param_Rev INT
  114. DECLARE @Config_Rev INT
  115. DECLARE @Scale_Rev INT
  116. DECLARE @Setup_Stat BIT
  117. DECLARE @VALIDATION_RUN BIT
  118. DECLARE @Received_Time DATETIME
  119. DECLARE @Output_Time DATETIME
  120. DECLARE @Reject_Forced BIT
  121. DECLARE @Processing_Status TINYINT
  122. DECLARE @Output_Status TINYINT
  123. DECLARE @Interruptions INT
  124. DECLARE @db_rev VARCHAR(50)
  125. DECLARE @OutfeedBarcode VARCHAR(200)
  126. DECLARE @CreatedTime DATETIME
  127. DECLARE @TrackClass VARCHAR(50)
  128. DECLARE @Op_uname VARCHAR(255)
  129. DECLARE @Op_rname VARCHAR(255)
  130. DECLARE @Rec_CRC INT
  131.  
  132. DECLARE @TempQR_Master_Diverted TABLE(
  133.     CountID BIGINT,
  134.     SiteID INT,
  135.     TreatmentSystemID INT,
  136.     Barcode VARCHAR(200),
  137.     Label_SN VARCHAR(50),
  138.     SBN INT,
  139.     ProductCode VARCHAR(50),
  140.     Lot VARCHAR(50),
  141.     ProcessSpecID INT,
  142.     PARAM INT,
  143.     PARAM_REV INT,
  144.     CONFIG_REV INT,
  145.     SCALE_REV INT,
  146.     SETUP_STAT BIT,
  147.     VALIDATION_RUN BIT,
  148.     RECEIVED_TIME DATETIME,
  149.     OUTPUT_TIME DATETIME,
  150.     REJECT_FORCED BIT,
  151.     PROCESSING_STATUS TINYINT,
  152.     OUTPUT_STATUS TINYINT,
  153.     INTERRUPTIONS INT,
  154.     db_rev VARCHAR(50),
  155.     OutfeedBarcode VARCHAR(200),
  156.     CreatedTime DATETIME,
  157.     TrackClass VARCHAR(50),
  158.     Op_uname VARCHAR(255),
  159.     Op_rname VARCHAR(255),
  160.     Rec_CRC INT,
  161.     Reject_Reason VARCHAR(128),
  162.     Interruption_Reason VARCHAR(128)
  163. )
  164.  
  165. -- Only add boxes which have a divert reason, and QA boxes which have a 'proper'
  166. -- divert reason, not just the fact that it was a QA box.
  167. SET @i = CURSOR FOR
  168. SELECT *
  169. FROM @TempQR_Master
  170. WHERE Output_Status <> 0 AND Output_Status <> 35 AND Output_Status <> 36
  171.  
  172. OPEN @i
  173. -- Get the first record
  174. FETCH NEXT FROM @i INTO
  175. @CountID,
  176. @SiteID,
  177. @TreatmentSystemID,
  178. @Barcode,
  179. @Label_SN,
  180. @SBN_2,
  181. @ProductCode,
  182. @Lot,
  183. @ProcessSpecID,
  184. @Param,
  185. @Param_Rev,
  186. @Config_Rev,
  187. @Scale_Rev,
  188. @Setup_Stat,
  189. @Validation_Run,
  190. @Received_Time,
  191. @Output_Time,
  192. @Reject_Forced,
  193. @Processing_Status,
  194. @Output_Status,
  195. @Interruptions,
  196. @db_rev,
  197. @OutfeedBarcode,
  198. @CreatedTime,
  199. @TrackClass,
  200. @Op_uname,
  201. @Op_rname,
  202. @Rec_CRC
  203.  
  204. WHILE @@FETCH_STATUS = 0
  205. BEGIN
  206.     SET @Reject_Reason =   -- This is the reason for a Diverted box that shows up in the Report
  207.         CASE @Output_Status
  208.  
  209.             WHEN 0  THEN 'Accepted'
  210.             WHEN 1  THEN 'NA fault'
  211.             WHEN 2  THEN 'NA fault'
  212.             WHEN 3  THEN 'NA fault'
  213.             WHEN 4  THEN 'NA fault'
  214.             WHEN 5  THEN 'NA fault'
  215.             WHEN 6  THEN 'NA fault'
  216.             WHEN 7  THEN 'NA fault'
  217.             WHEN 8  THEN 'NA fault'
  218.             WHEN 9  THEN 'NA fault'
  219.             WHEN 10 THEN 'NA fault'
  220.             WHEN 11 THEN 'NA fault'
  221.             WHEN 12 THEN 'NA fault'
  222.             WHEN 13 THEN 'NA fault'
  223.             WHEN 14 THEN 'NA fault'
  224.             WHEN 15 THEN 'NA fault'
  225.             WHEN 16 THEN 'NA fault'
  226.             WHEN 17 THEN 'NA fault'
  227.             WHEN 18 THEN 'NA fault'
  228.             WHEN 19 THEN 'NA fault'
  229.             WHEN 20 THEN 'NA fault'
  230.             WHEN 21 THEN 'NA fault'
  231.             WHEN 22 THEN 'NA fault'
  232.             WHEN 23 THEN 'NA fault'
  233.             WHEN 24 THEN 'NA fault'
  234.             WHEN 25 THEN 'NA fault'
  235.             WHEN 26 THEN 'NA fault'
  236.             WHEN 27 THEN 'NA fault'
  237.             WHEN 28 THEN 'No Read at Outfeed'
  238.             WHEN 29 THEN 'Out of Sequence at Outfeed'
  239.             WHEN 30 THEN 'Barcode Mismatch at Outfeed'
  240.             WHEN 31 THEN 'Wrong Orientation at Outfeed'
  241.             WHEN 32 THEN 'NA fault'
  242.             WHEN 33 THEN 'Processing out of limits after first pass'
  243.             WHEN 34 THEN 'Processing out of limits after second pass'
  244.             WHEN 35 THEN 'QA load after first pass'
  245.             WHEN 36 THEN 'QA load after second pass'
  246.             WHEN 37 THEN 'Process OK after first pass'
  247.             WHEN 38 THEN 'Process OK after second pass'
  248.             WHEN 39 THEN 'NA fault'
  249.             WHEN 40 THEN 'NA fault'
  250.             WHEN 41 THEN 'NA fault'
  251.             WHEN 42 THEN 'NA fault'
  252.             WHEN 43 THEN 'NA fault'
  253.             WHEN 44 THEN 'NA fault'
  254.             WHEN 45 THEN 'NA fault'
  255.             WHEN 46 THEN 'NA fault'
  256.             WHEN 47 THEN 'Reject on Min Dose'
  257.             WHEN 48 THEN 'Reject on Max Dose'
  258.             WHEN 49 THEN 'Reject on Min and Max Dose'
  259.             WHEN 50 THEN 'Trans Coeff low limit A FP'
  260.             WHEN 51 THEN 'Trans Coeff high limit A FP'
  261.             WHEN 52 THEN 'Beam Current low limit A FP'
  262.             WHEN 53 THEN 'Beam Current high limit A FP'
  263.             WHEN 54 THEN 'Scan Left low limit A FP'
  264.             WHEN 55 THEN 'Scan Left high limit A FP'
  265.             WHEN 56 THEN 'Scan Right low limit A FP'
  266.             WHEN 57 THEN 'Scan Right high limit A FP'
  267.             WHEN 58 THEN 'UBC Speed low limit A FP'
  268.             WHEN 59 THEN 'UBC Speed high limit A FP'
  269.             WHEN 60 THEN 'Trans Coeff low limit B FP'
  270.             WHEN 61 THEN 'Trans Coeff high limit B FP'
  271.             WHEN 62 THEN 'Beam Current low limit B FP'
  272.             WHEN 63 THEN 'Beam Current high limit B FP'
  273.             WHEN 64 THEN 'Scan Left low limit B FP'
  274.             WHEN 65 THEN 'Scan Left high limit B FP'
  275.             WHEN 66 THEN 'Scan Right low limit B FP'
  276.             WHEN 67 THEN 'Scan Right high limit B FP'
  277.             WHEN 68 THEN 'UBC Speed low limit B FP'
  278.             WHEN 69 THEN 'UBC Speed high limit B FP'
  279.             WHEN 70 THEN 'Trans Coeff low limit A SP'
  280.             WHEN 71 THEN 'Trans Coeff high limit A SP'
  281.             WHEN 72 THEN 'Beam Current low limit A SP'
  282.             WHEN 73 THEN 'Beam Current high limit A SP'
  283.             WHEN 74 THEN 'Scan Left low limit A SP'
  284.             WHEN 75 THEN 'Scan Left high limit A SP'
  285.             WHEN 76 THEN 'Scan Right low limit A SP'
  286.             WHEN 77 THEN 'Scan Right high limit A SP'
  287.             WHEN 78 THEN 'UBC Speed low limit A SP'
  288.             WHEN 79 THEN 'UBC Speed high limit A SP'
  289.             WHEN 80 THEN 'Trans Coeff low limit B SP'
  290.             WHEN 81 THEN 'Trans Coeff high limit B SP'
  291.             WHEN 82 THEN 'Beam Current low limit B SP'
  292.             WHEN 83 THEN 'Beam Current high limit B SP'
  293.             WHEN 84 THEN 'Scan Left low limit B SP'
  294.             WHEN 85 THEN 'Scan Left high limit B SP'
  295.             WHEN 86 THEN 'Scan Right low limit B SP'
  296.             WHEN 87 THEN 'Scan Right high limit B SP'
  297.             WHEN 88 THEN 'UBC Speed low limit B SP'
  298.             WHEN 89 THEN 'UBC Speed high limit B SP'
  299.             WHEN 90 THEN 'Process Value Error'
  300.             WHEN 91 THEN 'Dose Value Error'
  301.             WHEN 92 THEN 'NA fault'
  302.             WHEN 93 THEN 'NA fault'
  303.             WHEN 94 THEN 'NA fault'
  304.             WHEN 95 THEN 'NA fault'
  305.             WHEN 96 THEN 'NA fault'
  306.             WHEN 97 THEN 'NA fault'
  307.             WHEN 98 THEN 'NA fault'
  308.             WHEN 99 THEN 'NA fault'
  309.             ELSE 'Reason Not Specified'
  310.         END --for the CASE
  311.  
  312.     SET @Interruption_Reason =   -- This is the interruption reason that shows up in the Report
  313.         CASE @Interruptions
  314.             --These are Interruptions from the Process Controller
  315.             WHEN 0 THEN 'NONE'
  316.             WHEN 1 THEN 'OZONE_BLOWER_FLOW_SW_1'
  317.             WHEN 2 THEN 'OZONE_BLOWER_FLOW_SW_2'
  318.             WHEN 3 THEN 'OL_OZONE_BLOWER_1'
  319.             WHEN 4 THEN 'OL_OZONE_BLOWER_2'
  320.             WHEN 5 THEN 'UBC_A_INTLK'
  321.             WHEN 6 THEN 'UBC_B_INTLK'
  322.             WHEN 7 THEN 'PARAM_SET_NOT_LOADED'
  323.             WHEN 8 THEN 'UBC_SPD_NOT_LOADED'
  324.             WHEN 9 THEN 'UBC_SPEED_CHECK_INTLK'
  325.             WHEN 10 THEN 'DEC_TABLE_CRC'
  326.             WHEN 11 THEN 'SBN_TABLE_CRC'
  327.             WHEN 12 THEN 'PR_TABLE_CRC'
  328.             WHEN 13 THEN 'SCALE_LOAD_FLAG'
  329.             WHEN 14 THEN 'CONFIG_LOAD_FLAG'
  330.             WHEN 15 THEN 'PARAM_CRC'
  331.             WHEN 16 THEN 'CONFIG_CRC'
  332.             WHEN 17 THEN 'SCALE_CRC'
  333.             WHEN 18 THEN 'SQL_INTLK'
  334.             WHEN 19 THEN 'SQL_CONN_INTLK'
  335.             WHEN 20 THEN 'PARAM_LOADED'
  336.             WHEN 21 THEN 'CONFIG_LOADED'
  337.             WHEN 22 THEN 'SCALE_LOADED'
  338.             WHEN 23 THEN 'WATCH_DOG'
  339.             WHEN 24 THEN 'ACC_A_READY'
  340.             WHEN 25 THEN 'ACC_B_READY'
  341.             WHEN 26 THEN 'BOX_BURN_INTLK'
  342.             WHEN 27 THEN 'PROCESS_OFF'
  343.             WHEN 28 THEN 'spare'
  344.             WHEN 29 THEN 'spare'
  345.             WHEN 30 THEN 'spare'
  346.             WHEN 31 THEN 'spare'
  347.             --These are Interruptions for EBeamSubsystem 1A
  348.             WHEN 100 THEN '1A NONE'
  349.             WHEN 101 THEN '1A BEAM_KEY_OFF'
  350.             WHEN 102 THEN '1A F14_OFF'
  351.             WHEN 103 THEN '1A GUN_PUMP_HV'
  352.             WHEN 104 THEN '1A SCAN_PUMP_HV'
  353.             WHEN 105 THEN '1A KLY_PUMP_HV'
  354.             WHEN 106 THEN '1A SUMMARY_TRIP'
  355.             WHEN 107 THEN '1A ACC_WINDOW_BLOWER'
  356.             WHEN 108 THEN '1A SAFETY_SET'
  357.             WHEN 109 THEN '1A CLIPPER_MON'
  358.             WHEN 110 THEN '1A BIAS_V_MON'
  359.             WHEN 111 THEN '1A PARAM_CRC'
  360.             WHEN 112 THEN '1A CONFIG_CRC'
  361.             WHEN 113 THEN '1A SCALE_CRC'
  362.             WHEN 114 THEN '1A PARAM_LOADED'
  363.             WHEN 115 THEN '1A CONFIG_LOADED'
  364.             WHEN 116 THEN '1A SCALE_LOADED'
  365.             WHEN 117 THEN '1A WATCH_DOG'
  366.             WHEN 118 THEN '1A GUN_FIL_I'
  367.             WHEN 119 THEN '1A GUN_FIL_V'
  368.             WHEN 120 THEN '1A GUN_GRID_V'
  369.             WHEN 121 THEN '1A PROCESS_OFF'
  370.             WHEN 122 THEN '1A BIAS_V_MON'
  371.             WHEN 123 THEN '1A GUN_GRID_V'
  372.             WHEN 124 THEN '1A STC_IP_I'
  373.             WHEN 125 THEN '1A STC_XP_I'
  374.             WHEN 126 THEN '1A GUN_FOCUS_V'
  375.             WHEN 127 THEN '1A GUN_FOCUS_I'
  376.             WHEN 128 THEN '1A GUN_HV'
  377.             WHEN 129 THEN '1A RF_DRIVER'
  378.             WHEN 130 THEN '1A GUN_PUMP'
  379.             WHEN 131 THEN '1A SCAN_PUMP'
  380.             WHEN 132 THEN '1A KLY_PUMP'
  381.             WHEN 133 THEN '1A K_COLL_FLOW'
  382.             WHEN 134 THEN '1A IGBT_I'
  383.             WHEN 135 THEN '1A PFN_V'
  384.             WHEN 136 THEN '1A INV_DIODE'
  385.             WHEN 137 THEN '1A K_COLL_POW'
  386.             WHEN 138 THEN '1A K_PUL_I'
  387.             WHEN 139 THEN '1A K_PUL_V'
  388.             WHEN 140 THEN '1A RF_FWD_1'
  389.             WHEN 141 THEN '1A RF_REF_1'
  390.             WHEN 142 THEN '1A RF_SIN_1'
  391.             WHEN 143 THEN '1A RF_COS_1'
  392.             WHEN 144 THEN '1A K_COLL_IN'
  393.             WHEN 145 THEN '1A K_COLL_OUT'
  394.             WHEN 146 THEN '1A K_FIL_V'
  395.             WHEN 147 THEN '1A K_FIL_I'
  396.             WHEN 148 THEN '1A K_SOL_V'
  397.             WHEN 149 THEN '1A K_SOL_I'
  398.             WHEN 150 THEN '1A BUSBAR_V'
  399.             WHEN 151 THEN '1A SCAN_I_L'
  400.             WHEN 152 THEN '1A SCAN_I_R'
  401.             WHEN 153 THEN '1A PRF'
  402.             WHEN 154 THEN '1A ACC_TEMP'
  403.             WHEN 155 THEN '1A FAC_TEMP'
  404.             WHEN 156 THEN '1A THY_RES'
  405.             WHEN 157 THEN '1A SF6_PRESS'
  406.             WHEN 158 THEN '1A GUN_I_PEAK'
  407.             WHEN 159 THEN '1A GUN_HVPS_I'
  408.             WHEN 160 THEN '1A SCAN_SPEED'
  409.             WHEN 161 THEN '1A VB0_1'
  410.             WHEN 162 THEN '1A CHG_I_COM'
  411.             WHEN 163 THEN '1A BEAM_CLAMP_1'
  412.             WHEN 164 THEN '1A RF_FREQ'
  413.             WHEN 165 THEN '1A RAMP_T_1'
  414.             WHEN 166 THEN '1A TEMP_IGBT_A'
  415.             WHEN 167 THEN '1A PFN_V_COM'
  416.             WHEN 168 THEN '1A AN_IP_A'
  417.             WHEN 169 THEN '1A AN_IP_B'
  418.             WHEN 170 THEN '1A AN_IP_C'
  419.             WHEN 171 THEN '1A SCAN_V'
  420.             WHEN 172 THEN '1A BEAM_CLAMP_2'
  421.             WHEN 173 THEN '1A ACC_FOC_I'
  422.             WHEN 174 THEN '1A ACC_FOC_V'
  423.             WHEN 175 THEN '1A STC_XP_V'
  424.             WHEN 176 THEN '1A STC_IP_V'
  425.             WHEN 177 THEN '1A PT_BIAS_V'
  426.             WHEN 178 THEN '1A BEAM_I_AVE'
  427.             WHEN 179 THEN '1A RF_FWD_2'
  428.             WHEN 180 THEN '1A RF_REF_2'
  429.             WHEN 181 THEN '1A RF_SIN_2'
  430.             WHEN 182 THEN '1A RF_COS_2'
  431.             WHEN 183 THEN '1A KLY_OK'
  432.             WHEN 184 THEN '1A THY_OK'
  433.             WHEN 185 THEN '1A POWER_KEY_ON'
  434.             WHEN 186 THEN '1A W2_LEVEL_SW_OK'
  435.             WHEN 187 THEN '1A SHL_TEMP_SHUTDOWN'
  436.             WHEN 188 THEN '1A SCALE_LOAD_FLAG'
  437.             WHEN 189 THEN '1A CONFIG_LOAD_FLAG'
  438.             WHEN 190 THEN '1A K_COLL_IN'
  439.             WHEN 191 THEN '1A K_COLL_OUT'
  440.             WHEN 192 THEN '1A FAC_TEMP'
  441.             WHEN 193 THEN '1A AN_IP_B'
  442.             WHEN 194 THEN '1A SQL_OK'
  443.             WHEN 195 THEN '1A WINDOW_PDF'
  444.             WHEN 196 THEN '1A SOL_FLOW'
  445.             WHEN 197 THEN '1A LOAD_FLOW'
  446.             WHEN 198 THEN '1A CIRC_FLOW'
  447.             WHEN 199 THEN '1A PT_FLOW'
  448.             WHEN 200 THEN '1A IGBT_FLOW'
  449.             WHEN 201 THEN '1A MAN_HIGH_PRESS'
  450.             WHEN 202 THEN '1A MAN_LOW_PRESS'
  451.             WHEN 203 THEN '1A KLY_BODY_FLOW'
  452.             WHEN 204 THEN '1A MAN_RET_PRESS'
  453.             WHEN 205 THEN '1A OIL_LEVEL_OK'
  454.             WHEN 206 THEN '1A m2113.1'
  455.             WHEN 207 THEN '1A m2113.2'
  456.             WHEN 208 THEN '1A KLY_WIN_FLOW'
  457.             WHEN 209 THEN '1A PT_TEMP'
  458.             WHEN 210 THEN '1A PC_OZONE_BLOWER'
  459.             WHEN 211 THEN '1A PC_UBC_SPEED'
  460.             WHEN 212 THEN '1A m2113.7'
  461.             WHEN 213 THEN '1A m2114.0'
  462.             WHEN 214 THEN '1A m2114.1'
  463.             WHEN 215 THEN '1A m2114.2'
  464.             WHEN 216 THEN '1A m2114.3'
  465.             WHEN 217 THEN '1A m2114.4'
  466.             WHEN 218 THEN '1A m2114.5'
  467.             WHEN 219 THEN '1A m2114.6'
  468.             WHEN 220 THEN '1A m2114.7'
  469.             WHEN 221 THEN '1A m2115.0'
  470.             WHEN 222 THEN '1A m2115.1'
  471.             WHEN 223 THEN '1A m2115.2'
  472.             WHEN 224 THEN '1A m2115.3'
  473.             WHEN 225 THEN '1A m2115.4'
  474.             WHEN 226 THEN '1A m2115.5'
  475.             WHEN 227 THEN '1A m2115.6'
  476.             WHEN 228 THEN '1A m2115.7'
  477.             WHEN 229 THEN '1A m2116.0'
  478.             WHEN 230 THEN '1A m2116.1'
  479.             WHEN 231 THEN '1A m2116.2'
  480.             WHEN 232 THEN '1A m2116.3'
  481.             WHEN 233 THEN '1A m2116.4'
  482.             WHEN 234 THEN '1A m2116.5'
  483.             WHEN 235 THEN '1A m2116.6'
  484.             WHEN 236 THEN '1A m2116.7'
  485.             WHEN 237 THEN '1A m2117.0'
  486.             WHEN 238 THEN '1A m2117.1'
  487.             WHEN 239 THEN '1A m2117.2'
  488.             WHEN 240 THEN '1A m2117.3'
  489.             WHEN 241 THEN '1A m2117.4'
  490.             WHEN 242 THEN '1A m2117.5'
  491.             WHEN 243 THEN '1A m2117.6'
  492.             WHEN 244 THEN '1A m2117.7'
  493.             WHEN 245 THEN '1A m2118.0'
  494.             WHEN 246 THEN '1A m2118.1'
  495.             WHEN 247 THEN '1A m2118.2'
  496.             WHEN 248 THEN '1A m2118.3'
  497.             WHEN 249 THEN '1A m2118.4'
  498.             WHEN 250 THEN '1A m2118.5'
  499.             WHEN 251 THEN '1A m2118.6'
  500.             WHEN 252 THEN '1A m2118.7'
  501.             WHEN 253 THEN '1A m2119.0'
  502.             WHEN 254 THEN '1A m2119.1'
  503.             WHEN 255 THEN '1A m2119.2'
  504.             WHEN 256 THEN '1A m2119.3'
  505.             WHEN 257 THEN '1A m2119.4'
  506.             WHEN 258 THEN '1A m2119.5'
  507.             WHEN 259 THEN '1A m2119.6'
  508.             WHEN 260 THEN '1A m2119.7'
  509.             WHEN 261 THEN '1A m2120.0'
  510.             WHEN 262 THEN '1A m2120.1'
  511.             WHEN 263 THEN '1A m2120.2'
  512.             WHEN 264 THEN '1A m2120.3'
  513.             WHEN 265 THEN '1A m2120.4'
  514.             WHEN 266 THEN '1A m2120.5'
  515.             WHEN 267 THEN '1A m2120.6'
  516.             WHEN 268 THEN '1A m2120.7'
  517.             WHEN 269 THEN '1A m2121.0'
  518.             WHEN 270 THEN '1A m2121.1'
  519.             WHEN 271 THEN '1A m2121.2'
  520.             WHEN 272 THEN '1A m2121.3'
  521.             WHEN 273 THEN '1A m2121.4'
  522.             WHEN 274 THEN '1A m2121.5'
  523.             WHEN 275 THEN '1A m2121.6'
  524.             WHEN 276 THEN '1A m2121.7'
  525.             WHEN 277 THEN '1A m2122.0'
  526.             WHEN 278 THEN '1A m2122.1'
  527.             WHEN 279 THEN '1A m2122.2'
  528.             WHEN 280 THEN '1A m2122.3'
  529.             WHEN 281 THEN '1A m2122.4'
  530.             WHEN 282 THEN '1A m2122.5'
  531.             WHEN 283 THEN '1A m2122.6'
  532.             WHEN 284 THEN '1A m2122.7'
  533.             WHEN 285 THEN '1A m2123.0'
  534.             WHEN 286 THEN '1A m2123.1'
  535.             WHEN 287 THEN '1A m2123.2'
  536.             WHEN 288 THEN '1A m2123.3'
  537.             WHEN 289 THEN '1A m2123.4'
  538.             WHEN 290 THEN '1A m2123.5'
  539.             WHEN 291 THEN '1A m2123.6'
  540.             WHEN 292 THEN '1A m2123.7'
  541.             WHEN 293 THEN '1A m2124.0'
  542.             WHEN 294 THEN '1A m2124.1'
  543.             WHEN 295 THEN '1A m2124.2'
  544.             WHEN 296 THEN '1A m2124.3'
  545.             WHEN 297 THEN '1A m2124.4'
  546.             WHEN 298 THEN '1A m2124.5'
  547.             WHEN 299 THEN '1A m2124.6'
  548.             WHEN 300 THEN '1A m2124.7'
  549.             WHEN 301 THEN '1A m2125.0'
  550.             WHEN 302 THEN '1A m2125.1'
  551.             WHEN 303 THEN '1A m2125.2'
  552.             WHEN 304 THEN '1A m2125.3'
  553.             WHEN 305 THEN '1A m2125.4'
  554.             --These are Interruptions for EBeamSubsystem 2B
  555.             WHEN 400 THEN '2B NONE'
  556.             WHEN 401 THEN '2B BEAM_KEY_OFF'
  557.             WHEN 402 THEN '2B F14_OFF'
  558.             WHEN 403 THEN '2B GUN_PUMP_HV'
  559.             WHEN 404 THEN '2B SCAN_PUMP_HV'
  560.             WHEN 405 THEN '2B KLY_PUMP_HV'
  561.             WHEN 406 THEN '2B SUMMARY_TRIP'
  562.             WHEN 407 THEN '2B ACC_WINDOW_BLOWER'
  563.             WHEN 408 THEN '2B SAFETY_SET'
  564.             WHEN 409 THEN '2B CLIPPER_MON'
  565.             WHEN 410 THEN '2B BIAS_V_MON'
  566.             WHEN 411 THEN '2B PARAM_CRC'
  567.             WHEN 412 THEN '2B CONFIG_CRC'
  568.             WHEN 413 THEN '2B SCALE_CRC'
  569.             WHEN 414 THEN '2B PARAM_LOADED'
  570.             WHEN 415 THEN '2B CONFIG_LOADED'
  571.             WHEN 416 THEN '2B SCALE_LOADED'
  572.             WHEN 417 THEN '2B WATCH_DOG'
  573.             WHEN 418 THEN '2B GUN_FIL_I'
  574.             WHEN 419 THEN '2B GUN_FIL_V'
  575.             WHEN 420 THEN '2B GUN_GRID_V'
  576.             WHEN 421 THEN '2B PROCESS_OFF'
  577.             WHEN 422 THEN '2B BIAS_V_MON'
  578.             WHEN 423 THEN '2B GUN_GRID_V'
  579.             WHEN 424 THEN '2B STC_IP_I'
  580.             WHEN 425 THEN '2B STC_XP_I'
  581.             WHEN 426 THEN '2B GUN_FOCUS_V'
  582.             WHEN 427 THEN '2B GUN_FOCUS_I'
  583.             WHEN 428 THEN '2B GUN_HV'
  584.             WHEN 429 THEN '2B RF_DRIVER'
  585.             WHEN 430 THEN '2B GUN_PUMP'
  586.             WHEN 431 THEN '2B SCAN_PUMP'
  587.             WHEN 432 THEN '2B KLY_PUMP'
  588.             WHEN 433 THEN '2B K_COLL_FLOW'
  589.             WHEN 434 THEN '2B IGBT_I'
  590.             WHEN 435 THEN '2B PFN_V'
  591.             WHEN 436 THEN '2B INV_DIODE'
  592.             WHEN 437 THEN '2B K_COLL_POW'
  593.             WHEN 438 THEN '2B K_PUL_I'
  594.             WHEN 439 THEN '2B K_PUL_V'
  595.             WHEN 440 THEN '2B RF_FWD_1'
  596.             WHEN 441 THEN '2B RF_REF_1'
  597.             WHEN 442 THEN '2B RF_SIN_1'
  598.             WHEN 443 THEN '2B RF_COS_1'
  599.             WHEN 444 THEN '2B K_COLL_IN'
  600.             WHEN 445 THEN '2B K_COLL_OUT'
  601.             WHEN 446 THEN '2B K_FIL_V'
  602.             WHEN 447 THEN '2B K_FIL_I'
  603.             WHEN 448 THEN '2B K_SOL_V'
  604.             WHEN 449 THEN '2B K_SOL_I'
  605.             WHEN 450 THEN '2B BUSBAR_V'
  606.             WHEN 451 THEN '2B SCAN_I_L'
  607.             WHEN 452 THEN '2B SCAN_I_R'
  608.             WHEN 453 THEN '2B PRF'
  609.             WHEN 454 THEN '2B ACC_TEMP'
  610.             WHEN 455 THEN '2B FAC_TEMP'
  611.             WHEN 456 THEN '2B THY_RES'
  612.             WHEN 457 THEN '2B SF6_PRESS'
  613.             WHEN 458 THEN '2B GUN_I_PEAK'
  614.             WHEN 459 THEN '2B GUN_HVPS_I'
  615.             WHEN 460 THEN '2B SCAN_SPEED'
  616.             WHEN 461 THEN '2B VB0_1'
  617.             WHEN 462 THEN '2B CHG_I_COM'
  618.             WHEN 463 THEN '2B BEAM_CLAMP_1'
  619.             WHEN 464 THEN '2B RF_FREQ'
  620.             WHEN 465 THEN '2B RAMP_T_1'
  621.             WHEN 466 THEN '2B TEMP_IGBT_A'
  622.             WHEN 467 THEN '2B PFN_V_COM'
  623.             WHEN 468 THEN '2B AN_IP_A'
  624.             WHEN 469 THEN '2B AN_IP_B'
  625.             WHEN 470 THEN '2B AN_IP_C'
  626.             WHEN 471 THEN '2B SCAN_V'
  627.             WHEN 472 THEN '2B BEAM_CLAMP_2'
  628.             WHEN 473 THEN '2B ACC_FOC_I'
  629.             WHEN 474 THEN '2B ACC_FOC_V'
  630.             WHEN 475 THEN '2B STC_XP_V'
  631.             WHEN 476 THEN '2B STC_IP_V'
  632.             WHEN 477 THEN '2B PT_BIAS_V'
  633.             WHEN 478 THEN '2B BEAM_I_AVE'
  634.             WHEN 479 THEN '2B RF_FWD_2'
  635.             WHEN 480 THEN '2B RF_REF_2'
  636.             WHEN 481 THEN '2B RF_SIN_2'
  637.             WHEN 482 THEN '2B RF_COS_2'
  638.             WHEN 483 THEN '2B KLY_OK'
  639.             WHEN 484 THEN '2B THY_OK'
  640.             WHEN 485 THEN '2B POWER_KEY_ON'
  641.             WHEN 486 THEN '2B W2_LEVEL_SW_OK'
  642.             WHEN 487 THEN '2B SHL_TEMP_SHUTDOWN'
  643.             WHEN 488 THEN '2B SCALE_LOAD_FLAG'
  644.             WHEN 489 THEN '2B CONFIG_LOAD_FLAG'
  645.             WHEN 490 THEN '2B K_COLL_IN'
  646.             WHEN 491 THEN '2B K_COLL_OUT'
  647.             WHEN 492 THEN '2B FAC_TEMP'
  648.             WHEN 493 THEN '2B AN_IP_B'
  649.             WHEN 494 THEN '2B SQL_OK'
  650.             WHEN 495 THEN '2B WINDOW_PDF'
  651.             WHEN 496 THEN '2B SOL_FLOW'
  652.             WHEN 497 THEN '2B LOAD_FLOW'
  653.             WHEN 498 THEN '2B CIRC_FLOW'
  654.             WHEN 499 THEN '2B PT_FLOW'
  655.             WHEN 500 THEN '2B IGBT_FLOW'
  656.             WHEN 501 THEN '2B MAN_HIGH_PRESS'
  657.             WHEN 502 THEN '2B MAN_LOW_PRESS'
  658.             WHEN 503 THEN '2B KLY_BODY_FLOW'
  659.             WHEN 504 THEN '2B MAN_RET_PRESS'
  660.             WHEN 505 THEN '2B OIL_LEVEL_OK'
  661.             WHEN 506 THEN '2B m2113.1'
  662.             WHEN 507 THEN '2B m2113.2'
  663.             WHEN 508 THEN '2B KLY_WIN_FLOW'
  664.             WHEN 509 THEN '2B PT_TEMP'
  665.             WHEN 510 THEN '2B PC_OZONE_BLOWER'
  666.             WHEN 511 THEN '2B PC_UBC_SPEED'
  667.             WHEN 512 THEN '2B m2113.7'
  668.             WHEN 513 THEN '2B m2114.0'
  669.             WHEN 514 THEN '2B m2114.1'
  670.             WHEN 515 THEN '2B m2114.2'
  671.             WHEN 516 THEN '2B m2114.3'
  672.             WHEN 517 THEN '2B m2114.4'
  673.             WHEN 518 THEN '2B m2114.5'
  674.             WHEN 519 THEN '2B m2114.6'
  675.             WHEN 520 THEN '2B m2114.7'
  676.             WHEN 521 THEN '2B m2115.0'
  677.             WHEN 522 THEN '2B m2115.1'
  678.             WHEN 523 THEN '2B m2115.2'
  679.             WHEN 524 THEN '2B m2115.3'
  680.             WHEN 525 THEN '2B m2115.4'
  681.             WHEN 526 THEN '2B m2115.5'
  682.             WHEN 527 THEN '2B m2115.6'
  683.             WHEN 528 THEN '2B m2115.7'
  684.             WHEN 529 THEN '2B m2116.0'
  685.             WHEN 530 THEN '2B m2116.1'
  686.             WHEN 531 THEN '2B m2116.2'
  687.             WHEN 532 THEN '2B m2116.3'
  688.             WHEN 533 THEN '2B m2116.4'
  689.             WHEN 534 THEN '2B m2116.5'
  690.             WHEN 535 THEN '2B m2116.6'
  691.             WHEN 536 THEN '2B m2116.7'
  692.             WHEN 537 THEN '2B m2117.0'
  693.             WHEN 538 THEN '2B m2117.1'
  694.             WHEN 539 THEN '2B m2117.2'
  695.             WHEN 540 THEN '2B m2117.3'
  696.             WHEN 541 THEN '2B m2117.4'
  697.             WHEN 542 THEN '2B m2117.5'
  698.             WHEN 543 THEN '2B m2117.6'
  699.             WHEN 544 THEN '2B m2117.7'
  700.             WHEN 545 THEN '2B m2118.0'
  701.             WHEN 546 THEN '2B m2118.1'
  702.             WHEN 547 THEN '2B m2118.2'
  703.             WHEN 548 THEN '2B m2118.3'
  704.             WHEN 549 THEN '2B m2118.4'
  705.             WHEN 550 THEN '2B m2118.5'
  706.             WHEN 551 THEN '2B m2118.6'
  707.             WHEN 552 THEN '2B m2118.7'
  708.             WHEN 553 THEN '2B m2119.0'
  709.             WHEN 554 THEN '2B m2119.1'
  710.             WHEN 555 THEN '2B m2119.2'
  711.             WHEN 556 THEN '2B m2119.3'
  712.             WHEN 557 THEN '2B m2119.4'
  713.             WHEN 558 THEN '2B m2119.5'
  714.             WHEN 559 THEN '2B m2119.6'
  715.             WHEN 560 THEN '2B m2119.7'
  716.             WHEN 561 THEN '2B m2120.0'
  717.             WHEN 562 THEN '2B m2120.1'
  718.             WHEN 563 THEN '2B m2120.2'
  719.             WHEN 564 THEN '2B m2120.3'
  720.             WHEN 565 THEN '2B m2120.4'
  721.             WHEN 566 THEN '2B m2120.5'
  722.             WHEN 567 THEN '2B m2120.6'
  723.             WHEN 568 THEN '2B m2120.7'
  724.             WHEN 569 THEN '2B m2121.0'
  725.             WHEN 570 THEN '2B m2121.1'
  726.             WHEN 571 THEN '2B m2121.2'
  727.             WHEN 572 THEN '2B m2121.3'
  728.             WHEN 573 THEN '2B m2121.4'
  729.             WHEN 574 THEN '2B m2121.5'
  730.             WHEN 575 THEN '2B m2121.6'
  731.             WHEN 576 THEN '2B m2121.7'
  732.             WHEN 577 THEN '2B m2122.0'
  733.             WHEN 578 THEN '2B m2122.1'
  734.             WHEN 579 THEN '2B m2122.2'
  735.             WHEN 580 THEN '2B m2122.3'
  736.             WHEN 581 THEN '2B m2122.4'
  737.             WHEN 582 THEN '2B m2122.5'
  738.             WHEN 583 THEN '2B m2122.6'
  739.             WHEN 584 THEN '2B m2122.7'
  740.             WHEN 585 THEN '2B m2123.0'
  741.             WHEN 586 THEN '2B m2123.1'
  742.             WHEN 587 THEN '2B m2123.2'
  743.             WHEN 588 THEN '2B m2123.3'
  744.             WHEN 589 THEN '2B m2123.4'
  745.             WHEN 590 THEN '2B m2123.5'
  746.             WHEN 591 THEN '2B m2123.6'
  747.             WHEN 592 THEN '2B m2123.7'
  748.             WHEN 593 THEN '2B m2124.0'
  749.             WHEN 594 THEN '2B m2124.1'
  750.             WHEN 595 THEN '2B m2124.2'
  751.             WHEN 596 THEN '2B m2124.3'
  752.             WHEN 597 THEN '2B m2124.4'
  753.             WHEN 598 THEN '2B m2124.5'
  754.             WHEN 599 THEN '2B m2124.6'
  755.             WHEN 600 THEN '2B m2124.7'
  756.             WHEN 601 THEN '2B m2125.0'
  757.             WHEN 602 THEN '2B m2125.1'
  758.             WHEN 603 THEN '2B m2125.2'
  759.             WHEN 604 THEN '2B m2125.3'
  760.             WHEN 605 THEN '2B m2125.4'
  761.             ELSE 'Interruption Not Specified'
  762.         END --for the CASE
  763.  
  764.  
  765.     INSERT INTO @TempQR_Master_Diverted
  766.     SELECT
  767.     @CountID,
  768.     @SiteID,
  769.     @TreatmentSystemID,
  770.     @Barcode,
  771.     @Label_SN,
  772.     @SBN_2,
  773.     @ProductCode,
  774.     @Lot,
  775.     @ProcessSpecID,
  776.     @Param,
  777.     @Param_Rev,
  778.     @Config_Rev,
  779.     @Scale_Rev,
  780.     @Setup_Stat,
  781.     @Validation_Run,
  782.     @Received_Time,
  783.     @Output_Time,
  784.     @Reject_Forced,
  785.     @Processing_Status,
  786.     @Output_Status,
  787.     @Interruptions,
  788.     @db_rev,
  789.     @OutfeedBarcode,
  790.     @CreatedTime,
  791.     @TrackClass,
  792.     @Op_uname,
  793.     @Op_rname,
  794.     @Rec_CRC,
  795.     @Reject_Reason,
  796.     @Interruption_Reason
  797.  
  798.     -- Get the next record since we're not at the end
  799.     FETCH NEXT FROM @i INTO
  800.     @CountID,
  801.     @SiteID,
  802.     @TreatmentSystemID,
  803.     @Barcode,
  804.     @Label_SN,
  805.     @SBN_2,
  806.     @ProductCode,
  807.     @Lot,
  808.     @ProcessSpecID,
  809.     @Param,
  810.     @Param_Rev,
  811.     @Config_Rev,
  812.     @Scale_Rev,
  813.     @Setup_Stat,
  814.     @Validation_Run,
  815.     @Received_Time,
  816.     @Output_Time,
  817.     @Reject_Forced,
  818.     @Processing_Status,
  819.     @Output_Status,
  820.     @Interruptions,
  821.     @db_rev,
  822.     @OutfeedBarcode,
  823.     @CreatedTime,
  824.     @TrackClass,
  825.     @Op_uname,
  826.     @Op_rname,
  827.     @Rec_CRC
  828. END -- for the BEGIN associated with the WHILE @@FETCH_STATUS above
  829.  
  830. CLOSE @i
  831. DEALLOCATE @i
  832.  
  833. DECLARE @TempQR_Sub TABLE(
  834.     CountID BIGINT,
  835.     SiteID INT,
  836.     TreatmentSystemID INT,
  837.     EBeamSubsystemID INT,
  838.     Barcode VARCHAR(200),
  839.     Pass INT,
  840.     ProductSide INT,
  841.     ProductOrientation INT,
  842.     ENTER_UBC_TIME DATETIME,
  843.     EXIT_UBC_TIME DATETIME,
  844.     CONFIG_REV INT,
  845.     SCALE_REV INT,
  846.     ProcessSpecID INT,
  847.     ProcessSpecRev INT,
  848.     DOSE_FAMILY INT,
  849.     DOSE_FAMILY_REV INT,
  850.     RECIPE INT,
  851.     RECIPE_REV INT,
  852.     PARAM_SET INT,
  853.     PARAM_SET_REV INT,
  854.     PRESET_UBC_SPEED DECIMAL(7,3),
  855.     ENERGY_MIN DECIMAL(5,3),
  856.     ENERGY_AVG DECIMAL(5,3),
  857.     ENERGY_MAX DECIMAL(5,3),
  858.     AVE_BEAM_MIN DECIMAL(5,1),
  859.     AVE_BEAM_AVG DECIMAL(5,1),
  860.     AVE_BEAM_MAX DECIMAL(5,1),
  861.     SCAN_L_MIN DECIMAL(7,3),
  862.     SCAN_L_AVG DECIMAL(7,3),
  863.     SCAN_L_MAX DECIMAL(7,3),
  864.     SCAN_R_MIN DECIMAL(7,3),
  865.     SCAN_R_AVG DECIMAL(7,3),
  866.     SCAN_R_MAX DECIMAL(7,3),
  867.     UBC_SPEED_MIN DECIMAL(7,3),
  868.     UBC_SPEED_AVG DECIMAL(7,3),
  869.     UBC_SPEED_MAX DECIMAL(7,3),
  870.     DOSE_VARIATION_FACTOR_MIN DECIMAL(4,3),
  871.     DOSE_VARIATION_FACTOR_AVG DECIMAL(4,3),
  872.     DOSE_VARIATION_FACTOR_MAX DECIMAL(4,3),
  873.     DOSE_MIN DECIMAL(7,3),
  874.     DOSE_AVG DECIMAL(7,3),
  875.     DOSE_MAX DECIMAL(7,3),
  876.     CreatedTime DATETIME,
  877.     TrackClass VARCHAR(50),
  878.     TrackTime DATETIME,
  879.     Op_uname VARCHAR(255),
  880.     Op_rname VARCHAR(255),
  881.     Rec_CRC INT
  882. )
  883.  
  884. --Now for QR_Sub table
  885. INSERT INTO @TempQR_Sub
  886. SELECT
  887. QR_Sub.CountID,
  888. QR_Sub.SiteID,
  889. QR_Sub.TreatmentSystemID,
  890. QR_Sub.EBeamSubsystemID,
  891. QR_Sub.Barcode,
  892. QR_Sub.Pass,
  893. QR_Sub.ProductSide,
  894. QR_Sub.ProductOrientation,
  895. QR_Sub.ENTER_UBC_TIME,
  896. QR_Sub.EXIT_UBC_TIME,
  897. QR_Sub.CONFIG_REV,
  898. QR_Sub.SCALE_REV,
  899. QR_Sub.ProcessSpecID,
  900. QR_Sub.ProcessSpecRev,
  901. QR_Sub.DOSE_FAMILY,
  902. QR_Sub.DOSE_FAMILY_REV,
  903. QR_Sub.RECIPE,
  904. QR_Sub.RECIPE_REV,
  905. QR_Sub.PARAM_SET,
  906. QR_Sub.PARAM_SET_REV,
  907. QR_Sub.PRESET_UBC_SPEED,
  908. QR_Sub.ENERGY_MIN,
  909. QR_Sub.ENERGY_AVG,
  910. QR_Sub.ENERGY_MAX,
  911. QR_Sub.AVE_BEAM_MIN,
  912. QR_Sub.AVE_BEAM_AVG,
  913. QR_Sub.AVE_BEAM_MAX,
  914. QR_Sub.SCAN_L_MIN,
  915. QR_Sub.SCAN_L_AVG,
  916. QR_Sub.SCAN_L_MAX,
  917. QR_Sub.SCAN_R_MIN,
  918. QR_Sub.SCAN_R_AVG,
  919. QR_Sub.SCAN_R_MAX,
  920. QR_Sub.UBC_SPEED_MIN,
  921. QR_Sub.UBC_SPEED_AVG,
  922. QR_Sub.UBC_SPEED_MAX,
  923. QR_Sub.DOSE_VARIATION_FACTOR_MIN,
  924. QR_Sub.DOSE_VARIATION_FACTOR_AVG,
  925. QR_Sub.DOSE_VARIATION_FACTOR_MAX,
  926. QR_Sub.DOSE_MIN,
  927. QR_Sub.DOSE_AVG,
  928. QR_Sub.DOSE_MAX,
  929. QR_Sub.CreatedTime,
  930. QR_Sub.TrackClass,
  931. QR_Sub.TrackTime,
  932. QR_Sub.Op_uname,
  933. QR_Sub.Op_rname,
  934. QR_Sub.Rec_CRC
  935.  
  936. FROM QR_Sub
  937.  
  938. JOIN QR_Master
  939. ON QR_Master.Barcode = QR_Sub.Barcode AND
  940.    QR_Master.RECEIVED_TIME < QR_Sub.ENTER_UBC_TIME AND
  941.    QR_Master.OUTPUT_TIME > QR_Sub.EXIT_UBC_TIME
  942. WHERE
  943. QR_Master.SBN = @SBN
  944.  
  945. ----------------------------------------------------------------------------------
  946. -- Done Getting all Quality Records associated with a particular SBN for later use
  947. ----------------------------------------------------------------------------------
  948.  
  949.  
  950. ----------------------------------------------------------------------------------
  951. --Get EBeamSubsystem data associated with a particular SBN
  952. ----------------------------------------------------------------------------------
  953. DECLARE @UBC_A_Speed_Tol VARCHAR(20)
  954. DECLARE @UBC_B_Speed_Tol VARCHAR(20)
  955.  
  956. DECLARE @TempEBeamSubsystem TABLE(
  957.     TempEBeamSubsystemID INT,
  958.     Sterilizer_Alias VARCHAR(50),
  959.     Recipe INT,
  960.     Recipe_Rev INT,
  961.     Param_Set INT,
  962.     Param_Set_Rev INT,
  963.     Preset_UBC_Speed DECIMAL(7,3),
  964.     Config_Rev INT,
  965.     Scale_Rev INT,
  966.     [Description] VARCHAR(255),
  967.     Ave_Beam_I_Set VARCHAR(20),
  968.     Scan_I_L_Set VARCHAR(20),
  969.     Scan_I_R_Set VARCHAR(20),
  970.     Ave_Beam_I_Tol VARCHAR(20),
  971.     Scan_I_L_Tol VARCHAR(20),
  972.     Scan_I_R_Tol VARCHAR(20),
  973.     UBC_Speed_Tol VARCHAR(20)
  974. )
  975.  
  976.  
  977. INSERT INTO @TempEBeamSubsystem
  978. SELECT DISTINCT
  979. tqrs.EBeamSubsystemID AS TempEBeamSubsystemID,
  980. IniInformation.ini_value AS Sterilizer_Alias,
  981. tqrs.Recipe,            --From @TempQR_Sub
  982. tqrs.Recipe_Rev,        --From @TempQR_Sub
  983. tqrs.Param_Set,         --From @TempQR_Sub
  984. tqrs.Param_Set_Rev,     --From @TempQR_Sub
  985. tqrs.Preset_UBC_Speed,  --From @TempQR_Sub
  986. tqrs.Config_Rev,        --From @TempQR_Sub
  987. tqrs.Scale_Rev,         --From @TempQR_Sub
  988. Param_List.Description,
  989.  
  990. Param_Set.tag111 AS Ave_Beam_I_Set,
  991. -- Scan_I_Left_Set
  992. (CAST(Param_Set.tag33 AS DECIMAL(6,2)) + --tag33 is scan_i
  993.                           CAST(Param_Set.tag34 AS DECIMAL(6,2))) AS Scan_I_L_Set,  --tag34 is offset
  994. -- Scan_I_Right_Set      
  995. (-1*(CAST(Param_Set.tag33 AS DECIMAL(6,2))) + --tag33 is scan_i
  996.                            CAST(Param_Set.tag34 AS DECIMAL(6,2))) AS Scan_I_R_Set, --tag34 is offset
  997. Param_Tol.tag99 AS Ave_Beam_I_Tol,
  998. Param_Tol.tag33 AS Scan_I_L_Tol,
  999. Param_Tol.tag34 AS Scan_I_R_Tol,
  1000. Param_Tol.Tag3 AS UBC_Speed_Tol
  1001.  
  1002. FROM @TempQR_Sub tqrs
  1003.  
  1004. JOIN Param_List
  1005. ON tqrs.EBeamSubsystemID = Param_List.Sterilizer AND
  1006.    tqrs.Param_Set        = Param_List.Param AND
  1007.    tqrs.Param_Set_Rev    = Param_List.Revision
  1008.  
  1009. JOIN @TempQR_Master tqrm --Have to alias this table or the next line won't work
  1010. ON tqrm.Barcode = tqrs.Barcode AND
  1011.    tqrm.SBN     = @SBN
  1012.  
  1013. JOIN Param_Set
  1014. ON tqrs.Param_Set        = Param_Set.Param AND
  1015.    tqrs.Param_Set_Rev    = Param_Set.Revision AND
  1016.    tqrs.EBeamSubsystemID = Param_Set.Sterilizer
  1017.  
  1018. JOIN Param_Tol
  1019. ON tqrs.Param_Set        = Param_Tol.Param AND
  1020.    tqrs.Param_Set_Rev    = Param_Tol.Revision AND
  1021.    tqrs.EBeamSubsystemID = Param_Tol.Sterilizer
  1022.  
  1023. JOIN IniInformation
  1024. ON tqrs.EBeamSubsystemID        = IniInformation.sterilizer AND
  1025.    IniInformation.ini_parameter = 'sterilizer_alias'
  1026.  
  1027. WHERE tqrs.Param_Set          = tqrs.Param_Set AND
  1028.       tqrs.Param_Set_Rev      = tqrs.Param_Set_Rev AND
  1029.       tqrs.EBeamSubsystemID   = tqrs.EBeamSubsystemID
  1030. ----------------------------------------------------------------------------------
  1031. --Done getting EBeamSubsystem data associated with an SBN
  1032. ----------------------------------------------------------------------------------
  1033. SELECT * FROM @TempEBeamSubsystem
  1034.  
  1035. ----------------------------------------------------------------------------------
  1036. --Get the Process Spec associated with a particular SBN
  1037. ----------------------------------------------------------------------------------
  1038.  
  1039. DECLARE @TempArticle TABLE(
  1040.     Article INT,
  1041.     Revision INT,
  1042.     Issue INT,
  1043.     Sterilizer TINYINT,
  1044.     Customer INT,
  1045.     [Description] VARCHAR(255),
  1046.     Current_Rev BIT,
  1047.     Op_uname VARCHAR(255),
  1048.     Op_rname VARCHAR(255),
  1049.     CreatedTime DATETIME,
  1050.     TrackClass VARCHAR(50),
  1051.     TrackTime DATETIME,
  1052.     Rec_CRC INT,
  1053.     Instructions VARCHAR(255),
  1054.     Dose_Family INT,
  1055.     Recipe INT,
  1056.     [Enabled] INT,
  1057.     [LENGTH] DECIMAL(4,0),
  1058.     Width DECIMAL(7,3),
  1059.     Thickness DECIMAL(7,3),
  1060.     Mass DECIMAL(7,3),
  1061.     QA_Rec BIT,
  1062.     Load_to_DT BIT,
  1063.     WildCard BIT,
  1064.     Ref_Process_Dose DECIMAL(6,2),
  1065.     Ref_Min_Dose DECIMAL(6,2),
  1066.     Ref_Max_Dose DECIMAL(6,2),
  1067.     Max_Allowed_Dose DECIMAL(6,2),
  1068.     Ref_Nom_Dose_1 DECIMAL(6,2),
  1069.     Ref_Nom_Dose_2 DECIMAL(6,2),
  1070.     Timestamp_Window DECIMAL(7,3),
  1071.     Use_Timestamp BIT,
  1072.     Force_QA BIT,
  1073.     Rev_Comment VARCHAR(255),
  1074.     DF_Revs BIT,
  1075.     Number_of_Passes INT,
  1076.     BoxOrientation INT,
  1077.     MaxUBCSpeedScalling DECIMAL(5,3),
  1078.     AddDosesFromBothSides BIT
  1079. )
  1080.  
  1081. IF (SELECT COUNT(*) FROM @TempQR_Master) = 0
  1082. BEGIN
  1083.     --If @TempQR_Master is empty, no box has entered the system yet
  1084.     INSERT INTO @TempArticle
  1085.     SELECT DISTINCT Article.*
  1086.     FROM  SBN_UPN, UPN, Article
  1087.     WHERE SBN_UPN.SBN     = @SBN AND
  1088.           SBN_UPN.UPN     = UPN.UPN AND
  1089.           UPN.Current_Rev = 'true' AND
  1090.           UPN.Article     = Article.Article AND
  1091.           Article.Current_Rev = 'true'
  1092. END
  1093. ELSE
  1094. BEGIN
  1095.     --ELSE use the actual data found in the Quality Records
  1096.     INSERT INTO @TempArticle
  1097.     SELECT *
  1098.     FROM Article
  1099.     WHERE Article.Article    = (SELECT DISTINCT tqrm.ProcessSpecID
  1100.                                 FROM @TempQR_Master tqrm
  1101.                                 WHERE tqrm.SBN = @SBN) AND
  1102.  
  1103.           Article.Revision   = (SELECT DISTINCT tqrs.ProcessSpecRev
  1104.                                 FROM @TempQR_Master tqrm, @TempQR_Sub tqrs
  1105.                                 WHERE tqrm.Barcode = tqrs.Barcode AND
  1106.                                       tqrm.SBN = @SBN) AND
  1107.  
  1108.           Article.Sterilizer = (SELECT DISTINCT tqrm.TreatmentSystemID
  1109.                                 FROM @TempQR_Master tqrm
  1110.                                 WHERE tqrm.SBN = @SBN) AND
  1111.  
  1112.           Article.Issue      = 1
  1113. END
  1114.  
  1115. ----------------------------------------------------------------------------------
  1116. --Done getting the Process Spec associated with a particular SBN
  1117. ----------------------------------------------------------------------------------
  1118.  
  1119.  
  1120. ----------------------------------------------------------------------------------
  1121. --Get the Dose Family associated with a particular SBN
  1122. ----------------------------------------------------------------------------------
  1123.  
  1124. DECLARE @TempDose_Family TABLE(
  1125.     Dose_Family INT,
  1126.     Revision INT,
  1127.     Issue INT,
  1128.     Sterilizer TINYINT,
  1129.     Customer INT,
  1130.     [Description] VARCHAR(255),
  1131.     Current_Rev BIT,
  1132.     Op_uname VARCHAR(255),
  1133.     Op_rname VARCHAR(255),
  1134.     CreatedTime DATETIME,
  1135.     TrackClass VARCHAR(50),
  1136.     TrackTime DATETIME,
  1137.     Rec_CRC INT,
  1138.     Min_Req_Dose DECIMAL(6,2),
  1139.     Process_Dose DECIMAL(6,2),
  1140.     [Enabled] INT,
  1141.     Force_QA BIT,
  1142.     Load_to_DT BIT,
  1143.     [Expiry_Date] DATETIME,
  1144.     Rev_Comment VARCHAR(255)
  1145. )
  1146.  
  1147. IF (SELECT COUNT(*) FROM @TempQR_Master) = 0
  1148. BEGIN
  1149.     --If @TempQR_Master is empty, no box has entered the system yet
  1150.     INSERT INTO @TempDose_Family
  1151.     SELECT DISTINCT Dose_Family.*
  1152.     FROM  @TempArticle ta, Dose_Family
  1153.     WHERE ta.Dose_Family          = Dose_Family.Dose_Family AND
  1154.           Dose_Family.Current_Rev = 'true'
  1155. END
  1156. ELSE
  1157. BEGIN
  1158.  
  1159.     INSERT INTO @TempDose_Family
  1160.     SELECT *  
  1161.     FROM DOSE_FAMILY
  1162.     WHERE DOSE_FAMILY.Dose_Family = (SELECT DISTINCT tqrs.DOSE_FAMILY
  1163.                                      FROM @TempQR_Sub tqrs) AND
  1164.  
  1165.           DOSE_FAMILY.Revision    = (SELECT TOP 1 tqrs.DOSE_FAMILY_REV
  1166.                                      FROM @TempQR_Sub tqrs) AND
  1167.  
  1168.           DOSE_FAMILY.Sterilizer  = (SELECT DISTINCT tqrm.TreatmentSystemID
  1169.                                      FROM @TempQR_Master tqrm
  1170.                                      WHERE tqrm.SBN = @SBN) AND
  1171.  
  1172.           DOSE_FAMILY.Issue       = 1
  1173. END
  1174.  
  1175. ----------------------------------------------------------------------------------
  1176. --Done getting the Dose Family associated with a particular SBN
  1177. ----------------------------------------------------------------------------------
  1178.  
  1179.  
  1180. ----------------------------------------------------------------------------------
  1181. --Get Recipes for EBeamSubsystems associated with a particular SBN
  1182. ----------------------------------------------------------------------------------
  1183.  
  1184. DECLARE @TempRecipe TABLE(
  1185.     Recipe INT,
  1186.     Revision INT,
  1187.     Issue INT,
  1188.     SiteID INT,
  1189.     EBeamSubsystemID TINYINT,
  1190.     [Description] VARCHAR(255),
  1191.     Current_Rev BIT,
  1192.     Op_uname VARCHAR(255),
  1193.     Op_rname VARCHAR(255),
  1194.     CreatedTime DATETIME,
  1195.     TrackClass VARCHAR(50),
  1196.     TrackTime DATETIME,
  1197.     Rec_CRC INT,
  1198.     Instructions VARCHAR(255),
  1199.     Ref_Dose_1 DECIMAL(6,2),
  1200.     Ref_Dose_2 DECIMAL(6,2),
  1201.     Double_Sided BIT,
  1202.     Ref_Conv_Speed DECIMAL(6,2),
  1203.     Ref_Dose_Ratio DECIMAL(6,3),
  1204.     Param_Set INT,
  1205.     [Enabled] INT,
  1206.     Ref_Energy_1 DECIMAL(4,2),
  1207.     Ref_Energy_2 DECIMAL(4,2),
  1208.     Ref_Power_1 DECIMAL(6,3),
  1209.     Ref_Power_2 DECIMAL(6,3),
  1210.     Ref_Width_1 DECIMAL(4,0),
  1211.     Ref_Width_2 DECIMAL(4,0),
  1212.     Ref_Current_1 DECIMAL(5,1),
  1213.     Ref_Current_2 DECIMAL(5,1),
  1214.     Nominal_Dose_1 DECIMAL(6,2),
  1215.     Nominal_Dose_2 DECIMAL(6,2),
  1216.     Add_ND1_ND2 BIT,
  1217.     Scaling_Dose DECIMAL(6,2),
  1218.     Max_Diff DECIMAL(5,2),
  1219.     Use_ND1 BIT,
  1220.     Use_ND2 BIT,
  1221.     Force_QA BIT,
  1222.     Load_to_DT BIT,
  1223.     Rev_Comment VARCHAR(255)
  1224. )
  1225.  
  1226. INSERT INTO @TempRecipe
  1227. SELECT DISTINCT
  1228. Recipe.Recipe,
  1229. Recipe.Revision,
  1230. Recipe.Issue,
  1231. Recipe.SiteID,
  1232. Recipe.EBeamSubsystemID,
  1233. Recipe.Description,
  1234. Recipe.Current_Rev,
  1235. Recipe.Op_uname,
  1236. Recipe.Op_rname,
  1237. Recipe.CreatedTime,
  1238. Recipe.TrackClass,
  1239. Recipe.TrackTime,
  1240. Recipe.Rec_CRC,
  1241. Recipe.Instructions,
  1242. Recipe.Ref_Dose_1,
  1243. Recipe.Ref_Dose_2,
  1244. Recipe.Double_Sided,
  1245. Recipe.Ref_Conv_Speed,
  1246. Recipe.Ref_Dose_Ratio,
  1247. Recipe.Param_Set,
  1248. Recipe.Enabled,
  1249. Recipe.Ref_Energy_1,
  1250. Recipe.Ref_Energy_2,
  1251. Recipe.Ref_Power_1,
  1252. Recipe.Ref_Power_2,
  1253. Recipe.Ref_Width_1,
  1254. Recipe.Ref_Width_2,
  1255. Recipe.Ref_Current_1,
  1256. Recipe.Ref_Current_2,
  1257. Recipe.Nominal_Dose_1,
  1258. Recipe.Nominal_Dose_2,
  1259. Recipe.Add_ND1_ND2,
  1260. Recipe.Scaling_Dose,
  1261. Recipe.Max_Diff,
  1262. Recipe.Use_ND1,
  1263. Recipe.Use_ND2,
  1264. Recipe.Force_QA,
  1265. Recipe.Load_to_DT,
  1266. Recipe.Rev_Comment
  1267.  
  1268. FROM Recipe, @TempEBeamSubsystem tebs
  1269. WHERE Recipe.EBeamSubsystemID = tebs.TempEBeamSubsystemID AND
  1270.       Recipe.Recipe           = tebs.Recipe AND
  1271.       Recipe.Revision         = tebs.Recipe_Rev AND
  1272.       Recipe.Issue            = 1
  1273.  
  1274. ----------------------------------------------------------------------------------
  1275. --Done getting Recipes for EBeamSubsystems associated with a particular SBN
  1276. ----------------------------------------------------------------------------------
  1277.  
  1278.  
  1279. ----------------------------------------------------------------------------------
  1280. --Get Product (UPN) Data associated with a particular SBN
  1281. ----------------------------------------------------------------------------------
  1282.  
  1283. DECLARE @TempUPN TABLE(
  1284.     [Description] VARCHAR(255),
  1285.     QTY INT,
  1286.     Lot VARCHAR(100),
  1287.     UPN INT,
  1288.     Instructions VARCHAR(255),
  1289.     UPN_Entry VARCHAR(50)
  1290. )
  1291.  
  1292.  
  1293. INSERT INTO @TempUPN
  1294. SELECT
  1295. SBN_UPN.Description,
  1296. SBN_UPN.QTY,
  1297. SBN_UPN.Lot,
  1298. SBN_UPN.UPN,
  1299. UPN.Instructions,
  1300. UPN.UPN_Entry
  1301.  
  1302. FROM SBN_UPN, UPN, @TempArticle ta
  1303. WHERE SBN_UPN.SBN         = @SBN AND
  1304.       SBN_UPN.UPN         = UPN.UPN AND
  1305.       UPN.Sterilizer      = ta.Sterilizer AND
  1306.       UPN.Current_rev     = 1 AND
  1307.       SBN_UPN.Current_rev = 1
  1308. ----------------------------------------------------------------------------------
  1309. --Done Getting Product (UPN) Data associated with a particular SBN
  1310. ----------------------------------------------------------------------------------
  1311.  
  1312.  
  1313. ----------------------------------------------------------------------------------
  1314. --Get various quality record values associated with a particular SBN
  1315. ----------------------------------------------------------------------------------
  1316. DECLARE @Company_Name VARCHAR(255)
  1317. DECLARE @Location VARCHAR(255)
  1318. DECLARE @PC_Param INT
  1319. DECLARE @PC_ParamRev INT
  1320. DECLARE @PC_Config INT
  1321. DECLARE @PC_Scale INT
  1322.  
  1323. --Company Name
  1324. SET @Company_Name =
  1325. (SELECT Company.Description
  1326. FROM Company, Customer, @TempArticle ta
  1327. WHERE Company.Company      = Customer.Company AND
  1328.       Company.Sterilizer   = ta.Sterilizer AND
  1329.       Company.Current_Rev  = 1 AND
  1330.       Customer.Customer    = ta.Customer AND
  1331.       Customer.Sterilizer  = ta.Sterilizer AND
  1332.       Customer.Current_Rev = 1)
  1333.  
  1334. --Location (Customer Name)
  1335. SET @Location =
  1336. (SELECT Customer.Description
  1337. FROM Customer, @TempArticle ta
  1338. WHERE Customer.Customer    = ta.Customer AND
  1339.       Customer.Sterilizer  = ta.Sterilizer AND
  1340.       Customer.Current_Rev = 1)
  1341.  
  1342. --Process Controller Param Set and Revision, Config, and Scale
  1343. SET @PC_Param    = (SELECT DISTINCT PARAM FROM @TempQR_Master)
  1344. SET @PC_ParamRev = (SELECT DISTINCT PARAM_REV FROM @TempQR_Master)
  1345. SET @PC_Config   = (SELECT DISTINCT CONFIG_REV FROM @TempQR_Master)
  1346. SET @PC_Scale    = (SELECT DISTINCT SCALE_REV FROM @TempQR_Master)
  1347.  
  1348. ----------------------------------------------------------------------------------
  1349. --Done getting various quality record values associated with a particular SBN
  1350. ----------------------------------------------------------------------------------
  1351.  
  1352.  
  1353. ----------------------------------------------------------------------------------
  1354. --Get various box quantities/values associated with a particular SBN
  1355. ----------------------------------------------------------------------------------
  1356. DECLARE @SBN_Description VARCHAR(255)
  1357. DECLARE @Start_SBN_Time DATETIME
  1358. DECLARE @End_SBN_Time DATETIME
  1359. DECLARE @Dose_Min DECIMAL(7,3)
  1360. DECLARE @Dose_Max DECIMAL(7,3)
  1361. DECLARE @Total_Boxes INT
  1362. DECLARE @Boxes_Not_Diverted INT
  1363. DECLARE @Boxes_Processed INT
  1364. DECLARE @Boxes_Not_Processed INT
  1365. DECLARE @Non_RML_Boxes INT
  1366. DECLARE @RML_Boxes INT
  1367. DECLARE @Report_Rev INT
  1368. DECLARE @Report_Uname VARCHAR(255)
  1369. DECLARE @Report_Rname VARCHAR(255)
  1370.  
  1371. --SBN Description
  1372. SET @SBN_Description = (SELECT SBN.Description
  1373.                         FROM SBN
  1374.                         WHERE SBN.SBN         = @SBN AND
  1375.                               SBN.Current_Rev = 'true')
  1376.  
  1377. --Start Process Time
  1378. SET @Start_SBN_Time = (SELECT MIN(RECEIVED_TIME) FROM @TempQR_Master)
  1379.  
  1380. --End Process Time
  1381. SET @End_SBN_Time = (SELECT MAX(OUTPUT_TIME) FROM @TempQR_Master)
  1382.  
  1383. --Min (of Min) Dose for Accepted Boxes (Does this include RML (Dosimetry) Boxes?)
  1384. SET @Dose_Min = (
  1385. SELECT MIN(tqrs.DOSE_MIN) FROM @TempQR_Sub tqrs, @TempQR_Master tqrm
  1386. WHERE tqrm.Output_Status = 0 AND
  1387.       tqrm.Barcode = tqrs.Barcode)
  1388.  
  1389. --Max (of Max) Dose for Accepted Boxes (Does this include RML (Dosimetry) Boxes?)
  1390. SET @Dose_Max =
  1391. (SELECT MAX(tqrs.DOSE_MAX) FROM @TempQR_Sub tqrs, @TempQR_Master tqrm
  1392. WHERE tqrm.Output_Status = 0 AND
  1393.       tqrm.Barcode = tqrs.Barcode)
  1394.  
  1395. --Total Number of Boxes in SBN
  1396. --SUM the Qty for each Product (UPN) in the SBN
  1397. SET @Total_Boxes = (SELECT SUM(QTY) FROM SBN_UPN WHERE SBN=@SBN AND Current_Rev = 1)
  1398.  
  1399. --Number of Boxes Processed
  1400. SET @Boxes_Processed =
  1401. (SELECT COUNT(*) FROM @TempQR_Master tqrm)
  1402.  
  1403. --Number of Boxes Not Diverted (Includes RML's as long as they were treated OK)
  1404. SET @Boxes_Not_Diverted =
  1405. (SELECT COUNT(*) FROM @TempQR_Master tqrm
  1406. WHERE tqrm.Output_Status = 0)
  1407.  
  1408. --Number of Boxes Not Processed (Includes RML's)
  1409. SET @Boxes_Not_Processed = (@Total_Boxes) - (@Boxes_Processed)
  1410.  
  1411. --Number of Non-RML Boxes
  1412. SET @Non_RML_Boxes =
  1413. (SELECT COUNT(*) FROM @TempQR_Master tqrm
  1414. WHERE tqrm.Validation_Run = 0)
  1415.  
  1416. --Number of RML Boxes
  1417. SET @RML_Boxes =
  1418. (SELECT COUNT(*) FROM @TempQR_Master tqrm
  1419. WHERE tqrm.Validation_Run <> 0)
  1420.  
  1421.  
  1422. IF (@Input_Report_Rev = -1) --Create a new report, don't display an existing one
  1423. BEGIN
  1424.     --Check to see if any revisions of this report exist and increment for this report
  1425.  
  1426.     SELECT
  1427.     @Report_Rev = MAX(Report_Revision)
  1428.     FROM
  1429.     Report_Summary_v2  --Version 2
  1430.     WHERE
  1431.     SBN         = @SBN
  1432.  
  1433.     IF (@Report_Rev IS NULL)
  1434.     BEGIN
  1435.         SET @Report_Rev = 1
  1436.     END
  1437.     ELSE
  1438.     BEGIN
  1439.         SET @Report_Rev = @Report_Rev + 1
  1440.     END
  1441.  
  1442.     SET @Report_Uname = @userlogin
  1443.  
  1444.     SELECT @Report_Rname = fullname
  1445.     FROM Users
  1446.     WHERE login = @userlogin
  1447.  
  1448.     SET @Report_Date = GETDATE()
  1449.  
  1450. END
  1451. ELSE
  1452. BEGIN
  1453.     --Get details of existing report from Report_Summary_v2 table
  1454.  
  1455.     SET @Report_Rev = @Input_Report_Rev
  1456.  
  1457.     SELECT @Rev_Comment = Rev_Comment
  1458.     FROM Report_Summary_v2  --Version 2
  1459.     WHERE SBN = @SBN AND Report_Revision = @Input_Report_Rev
  1460.  
  1461.     SELECT @Batch_Report_Ver = Batch_Report_Version
  1462.     FROM Report_Summary_v2  --Version 2
  1463.     WHERE SBN = @SBN AND Report_Revision   = @Input_Report_Rev
  1464.  
  1465.     SELECT @Report_Uname = user_login
  1466.     FROM Report_Summary_v2  --Version 2
  1467.     WHERE SBN = @SBN AND Report_Revision   = @Input_Report_Rev
  1468.  
  1469.     SELECT @Report_Rname = user_fullname
  1470.     FROM Report_Summary_v2  --Version 2
  1471.     WHERE SBN = @SBN AND Report_Revision   = @Input_Report_Rev
  1472.  
  1473.     SELECT @Report_Date = CreatedTime
  1474.     FROM Report_Summary_v2  --Version 2
  1475.     WHERE SBN = @SBN AND Report_Revision   = @Input_Report_Rev
  1476.  
  1477. END
  1478.  
  1479.  
  1480. DECLARE @TempSBNInfo TABLE(
  1481. SBN BIGINT,
  1482. SBN_Description VARCHAR(255),
  1483. Company_Name VARCHAR(255),
  1484. Location VARCHAR(255),
  1485. PC_Param INT,
  1486. PC_ParamRev INT,
  1487. PC_Config INT,
  1488. PC_Scale INT,
  1489. Start_SBN_Time DATETIME,
  1490. End_SBN_Time DATETIME,
  1491. Dose_Min DECIMAL(7,3),
  1492. Dose_Max DECIMAL(7,3),
  1493. Total_Boxes INT,
  1494. Boxes_Not_Diverted INT,
  1495. Boxes_Processed INT,
  1496. Boxes_Not_Processed INT,
  1497. Non_RML_Boxes INT,
  1498. RML_Boxes INT,
  1499. --@Non_RML_Boxes_Diverted
  1500. Rev_Comment VARCHAR(255),
  1501. Report_Rev INT,
  1502. Batch_Report_Ver VARCHAR(25),
  1503. Report_Uname VARCHAR(255),
  1504. Report_Rname VARCHAR(255),
  1505. Report_Date DATETIME,
  1506. Detailed_Report BIT,
  1507. From_To_Report BIT
  1508. )
  1509.  
  1510. INSERT INTO @TempSBNInfo
  1511. SELECT
  1512. @SBN AS SBN,
  1513. @SBN_Description AS SBN_Description,
  1514. @Company_Name AS Company_Name,
  1515. @Location AS Location,
  1516. @PC_Param AS PC_Param,
  1517. @PC_ParamRev AS PC_ParamRev,
  1518. @PC_Config AS PC_Config,
  1519. @PC_Scale AS PC_Scale,
  1520. @Start_SBN_Time AS Start_SBN_Time,
  1521. @End_SBN_Time AS End_SBN_Time,
  1522. @Dose_Min AS Dose_Min,
  1523. @Dose_Max AS Dose_Max,
  1524. @Total_Boxes AS Total_Boxes,
  1525. @Boxes_Not_Diverted AS Boxes_Not_Diverted,
  1526. @Boxes_Processed AS Boxes_Processed,
  1527. @Boxes_Not_Processed AS Boxes_Not_Processed,
  1528. @Non_RML_Boxes AS Non_RML_Boxes,
  1529. @RML_Boxes AS RML_Boxes,
  1530. --@Non_RML_Boxes_Diverted
  1531. @Rev_Comment AS Rev_Comment,
  1532. @Report_Rev AS Report_Rev,
  1533. @Batch_Report_Ver AS Batch_Report_Ver,
  1534. @Report_Uname AS Report_Uname,
  1535. @Report_Rname AS Report_Rname,
  1536. @Report_Date AS Report_Date,
  1537. 0 AS Detailed_Report,
  1538. 0 AS From_To_Report  
  1539.  
  1540. ----------------------------------------------------------------------------------
  1541. --Done getting various box quantities/values associated with a particular SBN
  1542. ----------------------------------------------------------------------------------
  1543.  
  1544.  
  1545. ----------------------------------------------------------------------------------
  1546. --Add report info to Report_Summary_v2 table if generating a new report
  1547. ----------------------------------------------------------------------------------
  1548.  
  1549. IF (@Input_Report_Rev = -1) --Create a new report, don't display an existing one
  1550. BEGIN
  1551.  
  1552.     DECLARE @fullname VARCHAR(128)
  1553.     DECLARE @CURRENT_DATE DATETIME
  1554.  
  1555.     SET @CURRENT_DATE = GETDATE()
  1556.     SET @fullname = (SELECT fullname
  1557.                      FROM users
  1558.                      WHERE [login] = @userlogin)
  1559.  
  1560.     INSERT INTO Report_Summary_v2
  1561.     SELECT
  1562.     @SBN,
  1563.     @Report_Rev,
  1564.     @Rev_Comment,
  1565.     @Batch_Report_Ver,
  1566.     @userlogin,
  1567.     @fullname,
  1568.     'Created',
  1569.     @CURRENT_DATE,
  1570.     @CURRENT_DATE,
  1571.     40  
  1572.  
  1573. END
  1574.  
  1575.  
  1576. INSERT INTO TempQR_Master SELECT * FROM @TempQR_Master
  1577. INSERT INTO TempQR_Sub SELECT * FROM @TempQR_Sub
  1578. INSERT INTO TempArticle SELECT * FROM @TempArticle
  1579. INSERT INTO TempDose_Family SELECT * FROM @TempDose_Family
  1580. INSERT INTO TempEBeamSubsystem SELECT * FROM @TempEBeamSubsystem
  1581. INSERT INTO TempRecipe SELECT * FROM @TempRecipe
  1582. INSERT INTO TempUPN SELECT * FROM @TempUPN
  1583. INSERT INTO TempSBNInfo SELECT * FROM @TempSBNInfo
  1584. INSERT INTO TempQR_Master_Diverted SELECT * FROM @TempQR_Master_Diverted
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement