客户信息打印

<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];
        }
    }

}
时间: 2024-10-03 04:23:01

客户信息打印的相关文章

Java 门店管理系统 客户信息 档案管理 库存管理 进销存 SSM 项目源码

统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM 普通java web(非maven, 附赠pom.xml文件)  数据库:mysql 3.开发工具:myeclipse  eclipse idea 均可, 没有限制. 我这边myeclipse 2014 导出来的项目源码 ----------------------------------------

day5--装饰器函数的信息打印,迭代器,生成器,列表推导式,内置函数

本文档主要内容: 一 装饰器函数的信息打印 二 迭代器 三 生成器 四 生成器表达式和列表推导式 五 内置函数 一 装饰器函数的信息打印 一个函数一旦被装饰器给装饰后,这个函数的信息使用原来的命令打印的就是装饰器函数的信息了,如何做呢? from functools import wraps def logger(f): @wraps(f) def inner(*args, **kwargs): """ :param args: 函数名,密码 :param kwargs: 备

大数据技术之_16_Scala学习_11_客户信息管理系统+并发编程模型 Akka+Akka 网络编程-小黄鸡客服案例+Akka 网络编程-Spark Master Worker 进程通讯项目

第十五章 客户信息管理系统15.1 项目的开发流程15.2 项目的需求分析15.3 项目的界面15.4 项目的设计-程序框架图15.5 项目的功能实现15.5.1 完成 Customer 类15.5.2 完成显示主菜单和退出软件功能15.5.3 完成显示客户列表的功能15.5.4 完成添加客户的功能15.5.5 完成删除客户的功能15.5.6 完善退出确认功能15.5.7 完善删除确认功能15.5.8 完成修改客户的功能第十六章 并发编程模型 Akka16.1 Akka 的介绍16.2 Acto

记录客户信息你还在用传统的笔记本吗?

对于销售员来说,对客户的信息记录十分重要,一般情况下,销售员都是使用传统的小本子记录的方式.这种记录客户的信息不但效率低下,而且还会出现信息错漏的情况,大大的阻碍了客户维系的工作进行.在线crm客户关系管理系统,在记录客户信息这方面有着重要的意义,不但能够高效.准确录入客户的信息,而且还能够让销售员随时随地记录客户的信息. 传统的记录方式往往会导致客户的资料有各种错漏,不但耗费销售员的时间,而且还有可能给企业带来客户流失的风险.但是使用在线crm可以有效解决这些问题,销售员在见客户的过程中使用在

bos 第5天(定区的添加、定区的分页查询、hessian远程调用实现获取客户信息)

BOS项目笔记 第5天 今天内容安排: 1.添加定区功能 2.定区分页查询 3.hessian入门----远程调用技术 4.基于hessian实现定区关联客户 1. 添加定区 定区可以将取派员.分区.客户信息关联到一起. 页面:WEB-INF/pages/base/decidedzone.jsp 第一步:使用下拉框展示取派员数据,修改combobox的URL地址,发送请求 第二步:在StaffAction中提供listajax方法,查询没有作废的取派员,返回json数据 第三步:在StaffSe

随机森林 - 寿险客户信息分析

注:  出于职业要求, 本文中所有数字均被人为修改过, 并非真实数字, 很抱歉也不能贴出源代码 目标: 个险客户特征分析 背景: 目前市场部使用的推广活动分析系统只能针对客户调查返回的信息分析,且仅有年龄/性别/婚姻状态/收入四个维度, 预测精度不高.  市场部希望能从现有的寿险客户信息分析出影响他们选择保险产品的关键因素, 借此更有针对性地改进市场推广活动 建模过程: 输入: 从现有上千万的客户信息抽取其个人信息, 清洗后留下100多个特征, 包括婚姻, 年龄, 收入, 身高体重, 职业风险度

客户信息全SQL

SELECT hp.party_name "客户名称", --客户名称 hca.account_number "客户编号", --客户编号 hca.cust_account_id "客户ID", --客户cust_acc_id decode(hca.customer_type, 'I', '内部客户', 'R', '外部客户', hca.customer_type) "客户类型", hca.customer_class_cod

makefile 与android.mk中加信息打印

makefile里面加打印: [table]@echo ' zImage - Compressed kernel image' android.mk里面加信息打印: $(warning TEXT......) 这个函数被运行的时候.会输出:TEXT......,可是make会继续运行下去. $(error TEXT......) 这个函数被运行的时候,会输出:TEXT.......而且终止make的运行. 当中"TEXT....."能够替换为对变量的取值来输出变量的信息,比如:$(wa

客户信息维护jsp

搭建好SSH环境后,实现对客户信息的操作: applicationContext.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema