Subversion Repositories DevTools

Rev

Rev 62 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                wSyncProducts                  |
'|                                                   |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<!--#include file="common/globals.asp"-->
<!--#include file="common/config.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/_popup_window_common.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ VARIABLE DEFINITION -------------
Dim rsQry
Dim aProducts
Dim numOfRows
Dim rowNum
Dim objFormCollector
Dim currPkg_id
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
parBom_id = Request("bom_id")
Set objFormCollector = CreateObject("Scripting.Dictionary")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'----------------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
        Dim rsQry, query
        OraDatabase.Parameters.Add "BOM_ID",            nBom_id,                ORAPARM_INPUT, ORATYPE_NUMBER 
        
        query = _
        "  SELECT RTAG_ID_FK "&_
        "       FROM BOMS bo"&_
        "         WHERE bo.BOM_ID = :BOM_ID"
        
        Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
        
        query = _
        "  SELECT branch_name, branch_id "&_
        "       FROM BRANCHES br"&_
        "         WHERE br.branch_id ="&rsQry("rtag_id_fk")
                
        Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )                
                
        If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
                outobjDetails.Item ("branch_id") = rsQry("branch_id")
                outobjDetails.Item ("branch_name") = rsQry("branch_name")
        End If
        
        
        OraDatabase.Parameters.Remove "BOM_ID"
        
        rsQry.Close
        Set rsQry = Nothing
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
Sub UpdateProducts()
        Dim aDiffList, numOfRows, rowNum, OraParameter
        Const os_id_column = 2
        Const old_prod_id_column = 1
        
        '/* Get Lates Release Manager */
        OraDatabase.Parameters.Add "BOM_ID", parBom_id,         ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"),              ORAPARM_INPUT, ORATYPE_NUMBER 
        
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("CompareBomWithLatestFromRM.sql"), ORADYN_DEFAULT )
        
        
        '-- Get Rows
        If rsQry.RecordCount > 0 Then
                aDiffList = rsQry.GetRows()
                
        Else
                '-- No differencses with Release Manager, hence exit
                OraDatabase.Parameters.Remove "BOM_ID"
                OraDatabase.Parameters.Remove "RTAG_ID"
                Exit Sub
                
        End If
        
        
        
        '/* Update Versions */
        On Error Resume Next
        
        OraDatabase.Parameters.Add "OLD_PROD_ID",       0,      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "NEW_PROD_ID",       0,      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "OS_ID",             0,      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "USER_ID",           objAccessControl.UserId,        ORAPARM_INPUT, ORATYPE_NUMBER 
        
        Set OraParameter = OraDatabase.Parameters
        
        
        
        objEH.TryORA ( OraSession )
        
        numOfRows = UBound( aDiffList, 2 )
        
        For rowNum = 0 To numOfRows
                
                If Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
                        OraParameter("OLD_PROD_ID").Value = aDiffList( old_prod_id_column, rowNum )
                        OraParameter("NEW_PROD_ID").Value = Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
                        OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
                        
                        OraDatabase.ExecuteSQL "BEGIN   pk_Product.Replace_Product ( :OLD_PROD_ID, :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
                End If
                
        Next
        
        
        '--- Log Action ---
        'objEH.LogAction  _
        'objAccessControl.UserId, _
        'enumAT_EVENT_COMMENT, _
        '"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
        'SCRIPT_NAME, _
        '"Updated Products with new versions.", _
        'OraDatabase
        
        
        objEH.CatchORA ( OraSession )   
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "RTAG_ID"
        OraDatabase.Parameters.Remove "OLD_PROD_ID"
        OraDatabase.Parameters.Remove "NEW_PROD_ID"
        OraDatabase.Parameters.Remove "OS_ID"
        OraDatabase.Parameters.Remove "USER_ID"
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
Sub AddPatches()
        Dim aDiffList, numOfRows, rowNum, OraParameter
        Const os_id_column = 2
        Const prod_id_column = 1
        
        '/* Get Lates Release Manager */
        OraDatabase.Parameters.Add "BOM_ID", parBom_id,         ORAPARM_INPUT, ORATYPE_NUMBER 
        
        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
        
        
        '-- Get Rows
        If rsQry.RecordCount > 0 Then
                aDiffList = rsQry.GetRows()
                
        Else
                '-- No differencses with Release Manager, hence exit
                OraDatabase.Parameters.Remove "BOM_ID"
                Exit Sub
        End If
        
        
        
        '/* Update Versions */
        On Error Resume Next
        
        OraDatabase.Parameters.Add "NEW_PROD_ID",       0,      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "OS_ID",             0,      ORAPARM_INPUT, ORATYPE_NUMBER 
        OraDatabase.Parameters.Add "USER_ID",           objAccessControl.UserId,        ORAPARM_INPUT, ORATYPE_NUMBER 
        
        Set OraParameter = OraDatabase.Parameters
        
        
        
        objEH.TryORA ( OraSession )
        
        numOfRows = UBound( aDiffList, 2 )
        
        For rowNum = 0 To numOfRows
                
                If Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
                        OraParameter("NEW_PROD_ID").Value = Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
                        OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
                        
                        OraDatabase.ExecuteSQL "BEGIN   pk_Product.Add_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
                End If
                
        Next
        
        
        objEH.CatchORA ( OraSession )   
        
        OraDatabase.Parameters.Remove "BOM_ID"
        OraDatabase.Parameters.Remove "NEW_PROD_ID"
        OraDatabase.Parameters.Remove "OS_ID"
        OraDatabase.Parameters.Remove "USER_ID"
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
Call GetFormDetails ( parBom_id, objFormCollector )

If Request("action") <> "" Then 
        ' --- Form is Valid ---
        Call UpdateProducts()
        
        Call AddPatches()
        
        If objEH.Finally Then
                Call OpenInParentWindow ( Request("rfile") &"?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )
                Call CloseWindow()
        End If
End If

'----------------------------------------------
%>


<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  return "Uncheck all"; }
else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
  return "Check all"; }
}
//  End -->
</script>


<title>Deployment Manager</title>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="scripts/common.js"></script>
<style type="text/css">
<!--
.style8 {font-size: 12px}
-->
</style>
</head>

<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();">
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="icons/i_linkarrow_black.gif" width="11" height="11" align="absmiddle">&nbsp;Add Patches </span> <br>
    Add Patches, selecting the approved ones from "Production Manager".
    </td>
  </tr> 
<%
'-- FROM START --------------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>    
  <tr>
    <td background="images/bg_login.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><%=ProgressBar()%>
          <input name="btn" type="submit" class="form_btn" value="Add">
          <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td>
        <td align="left">&nbsp;        </td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td>
<!-- PRODUCT NAME RESULTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->            
        <table width="100%"  border="0" cellspacing="10" cellpadding="0">
      <tr>
        <td width="100%" valign="top" nowrap class="body_txt">
                  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->  
                  <!--#include file="messages/_msg_inline.asp"-->
                  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                  <%
                  If objFormCollector.Item("branch_id") = "" Then
                        Call Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>", 1, "100%" )
                  End If
                  %>
                  <!-- ADD PATCHES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                  Select Patches and click Add.
          <table width="100%"  border="0" cellspacing="3" cellpadding="0">
  
                  
                
                    <%
                        OraDatabase.Parameters.Add "BOM_ID", parBom_id,         ORAPARM_INPUT, ORATYPE_NUMBER 
                        OraDatabase.Parameters.Add "BRANCH_ID", objFormCollector.Item("branch_id"),             ORAPARM_INPUT, ORATYPE_NUMBER 
                        
                        Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
                        currPkg_id = 0
                        %>
                        
                        <%If rsQry.RecordCount > 0 Then%>
                    <tr>
                          <td nowrap background="images/bg_bage_0h.gif" class="body_col" align="center">Add</td>
              <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td>
                          <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td>
              <td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="left">Comments<img src="images/spacer.gif" width="1" height="18" align="absmiddle"></div>                </td>
              </tr>
                        
                        <%
                        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                        %>
                        <%If currPkg_id <> rsQry("pkg_id") Then%>
            <tr>
                          <td colspan="2" nowrap><div align="left"><span class="body_row"><img src="icons/i_product.gif" width="19" height="19" hspace="2" align="absmiddle"><%=rsQry("prod_name")%></span></div></td>
              <td nowrap class="body_row">&nbsp;</td>
              <td nowrap class="body_row"></td>
              </tr>
                        <tr>
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
            </tr>
                        <%currPkg_id = rsQry("pkg_id")%>
                        <%End If%>
                        <%
                        Dim rsForm
                        Set rsForm = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_AUTHORISATION WHERE PV_ID="&rsQry("prod_id")&" AND BOM_ID="&parBom_id, ORADYN_DEFAULT)
                        
                        If rsForm("is_official") = "Y" Then%>
            <tr>
              <td align="center" nowrap><input type="checkbox" name="add_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td>
              <td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td>
              <td nowrap class="body_row"><img src="icons/i_patch_small.gif" width="16" height="16" border="0" align="absmiddle"><%=rsQry("prod_version")%></td>
              <td nowrap class="body_row"><span class="body_row"><%=rsQry("comments")%></span></td>
            </tr>
                        

                        <tr>
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
            </tr>
                        <%End If
                        rsForm.Close()
                        Set rsForm = Nothing
                        
                        %>                      
                        
            <%rsQry.MoveNext
                        Wend
                        %>
                        
                        <%End If%>
                        
                        <tr>
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="3"></td>
            </tr>
          </table>
                  
                  
                  <%
                  OraDatabase.Parameters.Remove "BRANCH_ID"
                  OraDatabase.Parameters.Remove "BOM_ID"
                  rsQry.Close
                  Set rsQry = Nothing
                  %>              </td>
        </tr>
    </table>
        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    </td>
  </tr>
  <%=objPMod.ComposeHiddenTags()%>
  <input type="hidden" name="action" value="true">
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>
</table>
</body>
</html>
<%
'------------ RUN AFTER PAGE RENDER -----------
'----------------------------------------------
%><!--#include file="common/globals_destructor.asp"-->