1. 程式人生 > >客戶信息打印

客戶信息打印

alt 產品 add tid getpara tac integer nbsp xpage

技術分享

<apex:page renderAs="pdf" showheader="false" sidebar="false" applyHtmltag="false" Controller="ExportAccountController">
        <head>
        <style>
        body {
            font-family: Arial Unicode MS;
            } 
      
         .div_main{
           font-size:32px;
           margin:0px auto;
           width:
100%; text-align:center } .tableInfo{ border-collapse:collapse; text-align:center margin:0px auto; width:100%; font-size:12px; } .table{ border-collapse:collapse; text-align:center margin:0px auto; width:
100%; font-size:12px; } </style> </head> <body> <div class="div_info"> <apex:image url="{!$Resource.Meritor_Loge}" width="270" height="50"/> </div> <div class
="div_main"> <apex:outputText value="客戶信息增加/變更表" /> </div> <div style="text-align:center" > {!YEAR(TODAY())}年{!MONTH(TODAY())}月{!DAY(TODAY())}日 </div> <table class="tableInfo" border="1" color="black"> <tr> <td colspan="3" style="height:60px;"> 客戶編碼(價格表):&nbsp;<apex:outputField value="{!Account.AccountCode__c}"/> </td> <td style="border:none;text-align:right;" colspan="7"> <apex:outputText value=" 合同編號:" />&nbsp; <apex:repeat value="{!contractList}" var="ct"> <apex:outputField value="{!ct.Name}"/> </apex:repeat> </td> </tr> <tr> <th rowspan="5" style="width:6px;text-align:center;r:none">客<br/>戶<br/>地<br/>址<br/>信<br/>息</th> <th colspan="4" style="text-align:center">新建(變更)客戶</th> <th colspan="4" style="text-align:center">原客戶</th> </tr> <tr> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="客戶名稱" /><br/></th> <td colspan="3" style="text-align:center"></td> <th style="width:80px;height:40px;text-align:center"><apex:outputText value="客戶名稱" /><br/></th> <td colspan="3" style="text-align:center"><apex:outputField value="{!Account.Name}"/></td> </tr> <tr> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="納稅人識別號" /><br/><apex:outputText value="(地址1)" /></th> <td colspan="3" style="text-align:center"></td> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="納稅人識別號" /><br/><apex:outputText value="(地址1)" /></th> <td colspan="3" style="text-align:center"><apex:outputField value="{!Account.TaxNo__c }"/></td> </tr> <tr> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="地址,電話" /><br/><apex:outputText value="(地址2)" /></th> <td colspan="3" style="text-align:center"></td> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="地址,電話" /><br/><apex:outputText value="(地址2)" /></th> <td colspan="3" style="text-align:center"><apex:outputField value="{!Account.Phone}"/><br/><apex:outputField value="{!Account.Phone}"/></td> </tr> <tr> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="開戶行及賬號" /><br/><apex:outputText value="(地址3)" /></th> <td colspan="3" style="text-align:center"></td> <th style="width:80px;height:40px;text-align:center"> <apex:outputText value="開戶行及賬號" /><br/><apex:outputText value="(地址3)" /></th> <td colspan="3" style="text-align:center"><apex:outputField value="{!Account.Bank__c}"/><br/><apex:outputField value="{!Account.Account__c}"/></td> </tr> <tr> <th rowspan="3" style="width:6px;text-align:center">客<br/>戶<br/>數<br/>據</th> <th style="width:80px;height:50px;text-align:center"> <apex:outputText value="推銷員代碼" /><br/></th> <td style="width:80px;height:50px;text-align:center" ></td> <th style="width:80px;height:50px;text-align:center"><apex:outputText value="地區(財務)" /><br/></th> <td style="width:80px;height:50px;text-align:center"></td> <th style="width:80px;height:50px;text-align:center"> <apex:outputText value="推銷員代碼" /><br/></th> <td style="width:80px;height:50px;text-align:center"></td> <th style="width:80px;height:50px;text-align:center"><apex:outputText value="地區(財務)" /><br/></th> <td></td> </tr> <tr> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="銷售渠道" /><br/></th> <td style="width:85px;height:50px;text-align:center"></td> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="付款方式" /><br/></th> <td style="width:85px;height:50px;text-align:center"></td> <th style="width:84px;height:50px;text-align:center"> <apex:outputText value="銷售渠道" /><br/></th> <td style="width:85px;height:50px;text-align:center"><apex:outputField value="{!Account.Channel__c}"/></td> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="付款方式" /><br/></th> <td style="width:85px;height:50px;text-align:center"><apex:outputField value="{!Account.PaymentMethod__c}"/></td> </tr> <tr> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="客戶類型" /><br/></th> <td style="width:85px;height:50px;text-align:center"></td> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="信用等級" /><br/></th> <td style="width:85px;height:50px;text-align:center"></td> <th style="width:84px;height:50px;text-align:center"> <apex:outputText value="客戶類型" /><br/></th> <td style="width:85px;height:50px;text-align:center"><apex:outputField value="{!Account.Type}"/></td> <th style="width:84px;height:50px;text-align:center"><apex:outputText value="信用等級" /><br/></th> <td style="width:85px;height:50px;text-align:center"><apex:outputField value="{!Account.CreditRating__c}"/></td> </tr> </table> <table class="table" border="1"> <tr> <th rowspan="{!Count}" style="width:6px;text-align:center;border-top:none;text-align:center">合<br/>同<br/>價<br/>格<br/>明<br/>細</th> <th colspan="4" style="border-top:none;text-align:center"><apex:outputText value="配套產品信息" /></th> <th colspan="2" style="border-top:none;text-align:center"><apex:outputText value="原配套產品信息" /></th> </tr> <tr> <th style="text-align:center"><apex:outputText value="產品名稱" /></th> <th style="text-align:center"><apex:outputText value="客戶產品名稱" /></th> <th style="text-align:center"><apex:outputText value="合同價格/更改價格(含稅)" /></th> <th style="text-align:center"><apex:outputText value="項目號" /></th> <th style="text-align:center"><apex:outputText value="原產品名稱" /></th> <th style="text-align:center"><apex:outputText value="原價格(含稅)" /></th> </tr> <apex:repeat value="{!contractItemList }" var="it"> <tr> <td><apex:outputField value="{!it.Product__c}"/></td> <td><apex:outputField value="{!it.ProductDescription__c}"/></td> <td><apex:outputField value="{!it.UnitPrice__c}"/></td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> </apex:repeat> <apex:repeat value="{!contractList}" var="ct"> <tr> <td colspan="7">備註:<apex:outputField value="{!ct.Description}"/></td> </tr> </apex:repeat> <tr> <td colspan="3">申請人:<br/>日期</td> <td colspan="2">市場營銷部:<br/>日期</td> <td colspan="2">財務經理:<br/>日期</td> </tr> </table> <div> <apex:outputText value="錄入人:" /> </div> </body> </apex:page>
public class ExportAccountController{
    public Account account{get; set;}
    public List<ContractItem__c> contractItem{get; set;}
    public List<Contract> contractList {get; set;}//這個是合同的List
    public Map<Id, List<ContractItem__c>> contractItemMap {get; set;} //這個是合同和合同產品的Map  Id是合同的Id 
    public List<ContractItem__c> contractItemList {get; set;}//這個是合同產品對象的List
    public Map<Id, List<Product2>> productMap {get; set;} //這個是合同產品和產品的Map Id是合同產品的Id
    public List<Product2> productList {get; set;}//這個是產品對象的List

    public Integer Count{get; set;}
    public ExportAccountController(){  
       
        Map<Id, List<ContractItem__c>> contractItemMap = new Map<Id, List<ContractItem__c>>();

        //獲取Account的Id 
        String accountId = ApexPages.currentPage().getParameters().get(‘id‘);              
        account=[select Id, Name,PaymentMethod__c,Account__c, AccountCode__c, Channel__c, CreditRating__c,Annual__c,Type,TaxNo__c ,Bank__c,
        BillingCountry,BillingCity, BillingState,Phone
        FROM Account 
        WHERE Id=:accountId];
                      
        List<ContractItem__c> contractItem= [SELECT  Name,UnitPrice__c,Product__c                            
        FROM ContractItem__c
        WHERE Contract__r.AccountId=:accountId
        AND Contract__r.EndDate<:date.today()];
        
        //查詢所有與該客戶有關的合同
        contractList = [Select Id, Name,EndDate,Status,Description From Contract Where AccountId =: accountId
                                                                  AND EndDate>:date.today()
                                                                  AND Status = ‘Activated‘]; 
      
        //創建一個set  
        Set<Id> contractIdSet = new Set<Id>();
       
        if (contractList != null && contractList.size() > 0){
           //循環取出contractList  再添加到set裏面
            for (Contract cont: contractList){
                 
                contractIdSet.add(cont.Id);
                
            }
        }
        
        //這個是查詢所有合同下邊的 合同產品對象
        if (contractIdSet.size() > 0){
             
            contractItemList = [Select Id, Name, Product__c,UnitPrice__c,Contract__c,
                                Comments__c,ProductDescription__c From ContractItem__c Where Contract__c  In: contractIdSet
                                                                                       ];
            Count=2;
            for(ContractItem__c ci: contractItemList  ){
              Count++;
            
            }
            
        }
         
       
        Set<Id> productIdSet = new Set<Id>();
        
        if (contractItemList != null && contractItemList.size() > 0){
            for (ContractItem__c item: contractItemList){
            
                //創建一個list 
                List<ContractItem__c> itemList = new List<ContractItem__c>();
                
                //如果 合同和合同產品不為空
                if(contractItemMap.get(item.Contract__c) != null && contractItemMap.get(item.Contract__c).size() > 0)
                {
                    itemList = contractItemMap.get(item.Contract__c);
                }
                
                itemList.add(item);
                contractItemMap.put(item.Contract__c, itemList);
                productIdSet.add(item.Product__c);
            }
        }
           
        //查詢所有與合同產品相關的產品
        if (productIdSet.size() > 0){
            productList = [Select Id, Name From Product2 Where Id In: productIdSet];
        }                            
    }
    
    
  
}

客戶信息打印