zoukankan      html  css  js  c++  java
  • PTC FlexPLM rfa 客制化参考手册 By Elegant.Prosper

    1.根据Key或者中文名称,获取单一列表的对应中文名称或Key
    <%!
        public String GetValueByKey(String Key){
            try{
                //准备关键字和值的转换
                FlexTypeAttribute LoadAtt=FlexTypeCache.getFlexTypeFromPath("Document\\Images Page").getAttribute("pageType");
                Collection pathData = LoadAtt.getAttValueList().getDataSet();            
                for(Iterator iter=pathData.iterator();iter.hasNext();){
                    FlexObject fo=(FlexObject)iter.next();
                    String key=fo.getString("KEY");
                    String disp=fo.getString("VALUE_ZH_CN");
                    if(key.contains(Key))
                        return disp;
                }
                return "";
            }
            catch(Exception e){
                System.out.println("GetValueByKey====Error:"+e);
                return "";        
            }
        }
    %>
    2.FlexPLM CSP开发 绑定创建新文档和设计师上传文档时候的品牌、季节、年份、系列字段
    View Code
      1 <%-- Copyright (c) 2002 Life Cycle Solutions, Inc.   All Rights Reserved --%>
      2 
      3 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
      4 <%-- //////////////////////   onLoad  PAGE DOCUMENTATION    //////////////////////////////--%>
      5 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
      6 <%--
      7     JSP Type: ClientSidePlugin
      8 
      9     product_onloadEvent_CSP.jsp:   // Replace with actual filename //
     10   
     11 --%>
     12 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     13 <%-- //////////////////////////////// JSP HEADERS ////////////////////////////////////////--%>
     14 <%-- /////////////////  Add to the import package/class list as required  ////////////////--%>
     15 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     16 <%@page language="java"
     17        import="com.lcs.wc.client.Activities,                
     18                 com.lcs.wc.client.web.*,    
     19                 com.lcs.wc.util.*,
     20                 com.lcs.wc.db.*,
     21                 com.lcs.wc.flextype.*,
     22                 com.lcs.wc.foundation.*,
     23                 com.lcs.wc.product.*,
     24                 com.lcs.wc.placeholder.*,
     25                 com.lcs.wc.season.*,
     26                 com.lcs.wc.sourcing.*,
     27                 com.lcs.wc.specification.*,
     28                 com.liz.wc.util.*,
     29                 wt.part.WTPartMaster,
     30                 java.util.*"
     31 %>
     32 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     33 <jsp:useBean id="productModel" scope="request" class="com.lcs.wc.product.LCSProductClientModel"/>
     34 <jsp:useBean id="seasonProductModel" scope="request" class="com.lcs.wc.season.LCSSeasonProductLinkClientModel" />
     35 <%-- //////////////////////////////// BEAN INITIALIZATIONS ///////////////////////////////--%>
     36 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     37 
     38 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     39 <%-- ///////////////////// INITIALIZATION JSP CODE and CSP environment ///////////////////--%>
     40 <%-- ///// This section is generic and is included in all the Client Side Plugins ////////--%>
     41 <%-- ////// Do not alter this section unless instructed to do so via the comments  ///////--%>
     42 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
     43 <%     
     44 
     45     String activity = request.getParameter("activity");
     46     String action = request.getParameter("action");
     47     String oid = request.getParameter("oid");
     48     String type = request.getParameter("type");
     49     System.out.println(">>>oid>>>>"+oid);
     50     String flexTypeLabel = "";
     51     String flexTypePath = "";
     52 
     53     // The following print out line are provided for debugging
     54     //System.out.println("onLoad..type = " + type);   
     55     //System.out.println("onLoad...activity = " + activity);   
     56     //System.out.println("onLoad...action = " + action);   
     57     
     58     ClientSidePluginHelper csph = new ClientSidePluginHelper();
     59     csph.init(type);
     60     String flextypeName = csph.getFlexTypeName();
     61     System.out.println(">>>flextypeName>>>>"+flextypeName);
     62     
     63     //FlexType flextype = csph.getFlexType();
     64     //csph.listKeyElements();
     65     //csph.listKeyLabels();
     66     //csph.listKeyVariableTypes();
     67     
     68     // if required add java code after this line 
     69     FlexTypeAttribute seasonOptionsAtt = null;
     70     Collection seasonDataSet = null;
     71      String yearName = "";
     72     String season_zh = "";
     73     String seasonKey = "";
     74     String brand = "";
     75     String series = "";
     76     try{
     77         seasonOptionsAtt = FlexTypeCache.getFlexTypeFromPath("Business Object\\Common Attribute Lists\\EP System Attributes").getAttribute("seasonCode");
     78         seasonDataSet = seasonOptionsAtt.getAttValueList().getDataSet();
     79         }catch(Exception ex){
     80             ex.printStackTrace();
     81     }
     82      //Changed By JackChain 2012-09-11
     83      if(FormatHelper.hasContent(oid)&&oid.indexOf("LCSProduct")>-1){
     84         LCSProduct productAVer = (LCSProduct)LCSQuery.findObjectById(oid);
     85         LCSProduct latestProductVersion = (LCSProduct)VersionHelper.getVersion(productAVer.getMaster(),"A");
     86         SeasonProductLocator seasonProductLocator = new SeasonProductLocator();
     87         LCSSeasonProductLink seasonProductLink = seasonProductLocator.getSeasonProductLink(latestProductVersion);
     88         LCSSeason season = (LCSSeason)seasonProductLocator.getSeasonRev(seasonProductLink);
     89         String seasonName = ""+season.getName();
     90         yearName = seasonName.substring(seasonName.indexOf("-")+1,seasonName.lastIndexOf("-")).trim();
     91         season_zh = seasonName.substring(seasonName.lastIndexOf("-")+1,seasonName.length()).trim();
     92            for(Iterator iter = seasonDataSet.iterator();iter.hasNext();){
     93                  FlexObject object = (FlexObject)iter.next();
     94                  String value_CN = (String)object.getString("VALUE_ZH_CN");    
     95                  if(FormatHelper.hasContent(value_CN)&& value_CN.equals(season_zh)){
     96                            seasonKey = (String)object.getString("KEY");
     97                  }
     98           }
     99        brand = ""+latestProductVersion.getValue("EPAplanbrand");
    100        series = ""+latestProductVersion.getValue("EPAplanmarketSeries");
    101      }
    102      else if(FormatHelper.hasContent(oid)&&oid.indexOf("LCSSourceToSeasonLink")>-1){
    103         LCSSourceToSeasonLink sourceToSeasonLink = (LCSSourceToSeasonLink) LCSQuery.findObjectById(oid);    
    104         System.out.println(">>>sourceToSeasonLink>>>>"+sourceToSeasonLink);
    105         LCSSourcingConfig sourcingConfig = (LCSSourcingConfig)VersionHelper.latestIterationOf(sourceToSeasonLink.getSourcingConfigMaster());
    106         long productARevId = new Double(sourcingConfig.getProductARevId()).longValue();
    107         LCSProduct productAVer = (LCSProduct)LCSQuery.findObjectById("VR:com.lcs.wc.product.LCSProduct:" + productARevId);
    108         LCSProduct latestProductVersion = (LCSProduct)VersionHelper.getVersion(productAVer.getMaster(),"A");
    109         SeasonProductLocator seasonProductLocator = new SeasonProductLocator();
    110         LCSSeasonProductLink seasonProductLink = seasonProductLocator.getSeasonProductLink(latestProductVersion);
    111         LCSSeason season = (LCSSeason)seasonProductLocator.getSeasonRev(seasonProductLink);
    112         String seasonName = ""+season.getName();
    113         yearName = seasonName.substring(seasonName.indexOf("-")+1,seasonName.lastIndexOf("-")).trim();
    114         season_zh = seasonName.substring(seasonName.lastIndexOf("-")+1,seasonName.length()).trim();
    115 
    116            for(Iterator iter = seasonDataSet.iterator();iter.hasNext();){
    117                  FlexObject object = (FlexObject)iter.next();
    118                  String value_CN = (String)object.getString("VALUE_ZH_CN");    
    119                  if(FormatHelper.hasContent(value_CN)&& value_CN.equals(season_zh)){
    120                            seasonKey = (String)object.getString("KEY");
    121                  }
    122           }
    123         brand = ""+latestProductVersion.getValue("EPAplanbrand");
    124         series = ""+latestProductVersion.getValue("EPAplanmarketSeries");
    125      }
    126     
    127    if(FormatHelper.hasContent(oid)&&oid.indexOf("FlexSpecToSeasonLink")>-1){
    128     FlexSpecToSeasonLink specToSeasonLink = (FlexSpecToSeasonLink)LCSQuery.findObjectById(oid);    
    129     System.out.println(">>>specToSeasonLink>>>>"+specToSeasonLink);
    130     if(specToSeasonLink!=null){
    131             WTPartMaster seasonMaster = specToSeasonLink.getSeasonMaster();
    132             FlexSpecification spec = (FlexSpecification)VersionHelper.latestIterationOf(specToSeasonLink.getSpecificationMaster());
    133             LCSSourcingConfigMaster sourcingConfigMaster = (LCSSourcingConfigMaster)spec.getSpecSource();
    134             
    135             SeasonProductLocator seasonProductLocator = new SeasonProductLocator();
    136             LCSProduct product = seasonProductLocator.getProductARev(sourcingConfigMaster);
    137             LCSSeason season = (LCSSeason)VersionHelper.latestIterationOf(seasonMaster);
    138             //System.out.println(">>>season="+season);
    139             String seasonName = ""+season.getName();
    140                  yearName = seasonName.substring(seasonName.indexOf("-")+1,seasonName.lastIndexOf("-")).trim();
    141                  //System.out.println(">>>yearName="+yearName);
    142                  season_zh = seasonName.substring(seasonName.lastIndexOf("-")+1,seasonName.length()).trim();
    143            //System.out.println(">>>season_zh="+season_zh);
    144            for(Iterator iter = seasonDataSet.iterator();iter.hasNext();){
    145                  FlexObject object = (FlexObject)iter.next();
    146                  String value_CN = (String)object.getString("VALUE_ZH_CN");    
    147                  if(FormatHelper.hasContent(value_CN)&& value_CN.equals(season_zh)){
    148                            seasonKey = (String)object.getString("KEY");
    149                  }
    150           }
    151        brand = ""+product.getValue("EPAplanbrand");
    152        series = ""+product.getValue("EPAplanmarketSeries");
    153             
    154         }
    155    }
    156      
    157        System.out.println(">>>brand>>>"+brand);
    158        System.out.println(">>>series>>>"+series);
    159        System.out.println(">>>seasonKey>>>"+seasonKey);
    160 %>
    161 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    162 <%-- /////////////////////////////////////// JSP METHODS /////////////////////////////////--%>
    163 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    164 <%! 
    165     public static final String JSPNAME = "ClientSidePlugin";
    166     public static final boolean DEBUG = true;
    167 
    168 %>
    169 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    170 <%-- ///////////////////////////////// JAVSCRIPT PLUGIN LOGIC ////////////////////////////--%>
    171 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    172 
    173 <script>
    174 
    175     // ***** Begining of function pattern *************************************************
    176    function onLoadCreateProductImageAttributes(){
    177     
    178         if("<%= csph.getKeyElement("EPAyear") %>" != "cspKeyNotFound"&&
    179                 "<%= csph.getKeyElement("EPAstyleSeries") %>" != "cspKeyNotFound"&&
    180                 "<%= csph.getKeyElement("EPAbrand") %>" != "cspKeyNotFound"&&
    181            "<%= csph.getKeyElement("EPAseasonType") %>" != "cspKeyNotFound" )
    182         {
    183             var epYear = document.MAINFORM.<%= csph.getKeyElement("EPAyear")%>;
    184             var epSeasonType = document.MAINFORM.<%= csph.getKeyElement("EPAseasonType")%>;
    185             var epBrand = document.MAINFORM.<%= csph.getKeyElement("EPAbrand")%>;
    186             var epSeries = document.MAINFORM.<%= csph.getKeyElement("EPAstyleSeries")%>;
    187             
    188             for(h=0;h<epSeries.length;h++){
    189                   var valueh = epSeries[h].value;
    190                   
    191                   if(valueh =='<%=series%>'){
    192                       epSeries[h].selected = true;
    193                       epSeries.disabled = true;
    194                   }
    195             }
    196             
    197             for(l=0;l<epBrand.length;l++){
    198                   var valuel = epBrand[l].value;
    199                   //alert(">>valueI>>>"+valueI);
    200                   if(valuel =='<%=brand%>'){
    201                       epBrand[l].selected = true;
    202                       epBrand.disabled = true;
    203                   }
    204             }
    205             
    206             for(i=0;i<epYear.length;i++){
    207                   var valueI = epYear[i].value;
    208                   //alert(">>valueI>>>"+valueI);
    209                   if(valueI =='<%=yearName%>'){
    210                       epYear[i].selected = true;
    211                       //epYear.readOnly = true;
    212                       epYear.disabled = true;
    213                   }
    214             }
    215             
    216             for(k=0;k<epSeasonType.length;k++){
    217                  var valuek = epSeasonType[k].value;
    218                  //alert(">>>valuek>>>"+valuek);
    219                  if(valuek =='<%=seasonKey%>'){
    220                       epSeasonType[k].selected = true;
    221                       //epSeasonType.readOnly = true;
    222                       epSeasonType.disabled = true;
    223                   }
    224             }
    225         }else{        
    226            alert(" Error Running CSP function [doThisFunction]" + "\r" +
    227                  " one of the flextype keyNames being used is not valid." + "\r" + "\r" +
    228                  " Keys Referenced are: attributeKeyname1, attributeKeyname2." 
    229                  );
    230         }
    231        
    232    }
    233 
    234 // ***** End of function pattern *************************************************
    235 
    236     function runLoadFunctions(){ 
    237         //newFunction();
    238         onLoadCreateProductImageAttributes();
    239     }
    240 
    241 
    242 </script>
    243 
    244 <script>runLoadFunctions();</script>
    245 
    246 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    247 <%-- /////////////////////// End of onLoad Client Side Plugin ////////////////////////////--%>
    248 <%-- /////////////////////////////////////////////////////////////////////////////////////--%>
    3.FlexPLM rfa 获取用户的中文名字,获取用户,根据用户获取用户信息
    public String GetChineseName(String loginame){
            try{
                PreparedQueryStatement statement = new PreparedQueryStatement();
                statement.appendFromTable("WTUSER");
                statement.appendSelectColumn("WTUSER", "NAME");
                statement.appendSelectColumn("WTUSER", "IDA2A2");
                statement.appendAndIfNeeded();
                statement.appendCriteria(new Criteria("WTUSER", "NAME", loginame, Criteria.EQUALS));
                SearchResults Result = LCSQuery.runDirectQuery(statement);
                Vector VectRlt = Result.getResults();
                if(VectRlt.size()<=0)
                    return loginame;
                else{
                    FlexObject user = (FlexObject)VectRlt.get(0);
                    Hashtable userIdNameTable=UserCache.getAllUserIDHashtable();
                    return userIdNameTable.get(user.getString("WTUSER.IDA2A2")).toString();
                }
            }catch(Exception e)
            {
                return loginame;
            }
    }
    4.FlexPLM rfa 开jsp自动检测,编译功能

    什么意思呢?FlexPLM我们在做客制化开发的时候,往往要对jsp做大量的修改,这样修改的jsp,如果不开启这项自动感知,访问的时候还是以前的jsp页面,怎么开启呢? 找到:D:\ptc\Windchill_9.1\Tomcat\conf目录,修改web.xml文件的如下位置即可:

        <servlet>
            <servlet-name>jsp</servlet-name>
            <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
            <init-param>
                <param-name>fork</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>development</param-name>
                <param-value>true这里,默认是false</param-value>
            </init-param>

    持续更新中...

  • 相关阅读:
    # codeforces 1199 D. Welfare State(思维+dp)
    # codeforces 1245 A. A. Good ol' Numbers Coloring(数学)
    # codeforces 1272 F. Two Bracket Sequences(三维dp + bfs)
    关于MySQL无法启动 ERROR 2003 (HY000)
    PAT 甲级测试题目 -- 1002 A+B for Polynomials
    PAT 甲级测试题目 -- 1001 A+B Format
    Flask 中接收 web 端 JSON 的小例子
    一些工具
    MySql的一些常见问题(Windows 和 Ubuntu 下)
    Python学习笔记
  • 原文地址:https://www.cnblogs.com/qidian10/p/2673801.html
Copyright © 2011-2022 走看看