見過最垃圾的代碼

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ page
language="java"
contentType="text/html; charset=GBK"
pageEncoding="GBK"
%>
<%@ page import="com.pcm.sale.month.model.AreaandRateModel"%>
<%@ page import="com.pcm.sale.month.model.SaleMonthForecastListModel"%>
<%@ page import="com.pcm.sale.month.model.LineAcountModel"%>
<%@ page import="java.util.*"%>
<%@ page import="java.text.NumberFormat"%>
<%@ page import="java.text.DecimalFormat"%>
<META http-equiv="Content-Type" content="text/html; charset=GBK">
<META name="GENERATOR" content="IBM WebSphere Studio">
<META http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="<html:rewrite page='/'/>style/style.css" type="text/css">
<TITLE>銷售任務完成情況</TITLE>
</HEAD>
<BODY>

 <%!
 int i=1;
   int lineSumUnnifinish=0;
   int lineSumSaleTotal=0;
   int lineSumProvinceTotal=0;
   int lineSumRealGoods=0;
   int lineSumSaleAim=0;
   ArrayList products=null;

   String tempProductListName="";
   HashMap pal;
   List dataList=null;
   LineAcountModel lamToo=null;
 %>
 <%!
 public String changeRate(double f){
  DecimalFormat df=new DecimalFormat();
  df.applyPattern("#,###############################0.00");
  String s=df.format(f);
  return s;
 }
 %>
<logic:notPresent name="RealGoodsTotalListForm" property="monthResult">
<table border="0" align="center" cellpadding="0" cellspacing="0">

</table>
</logic:notPresent>
<logic:present name="RealGoodsTotalListForm" property="monthResult">
<table width="582" border="0" align="center" cellpadding="4" cellspacing="1" bgcolor="#CCCCCC">
 <%
 
 List ar=(List)session.getAttribute("ar");
 dataList=(List)session.getAttribute("dataList");
 if(dataList == null || dataList.size() == 0)
 {%>
 <TR bgcolor="FFFFFF" align="center"><td><FONT COLOR="#FF0000"><B>沒有此月份的銷售完成情況報表數據</B></FONT></td></TR>
 <%
  return;
 }
 String parentAreaNameToo=((AreaandRateModel)ar.get(0)).getParentAreaName();
 String area=((AreaandRateModel)ar.get(0)).getArea();
 long sumTotal=0;
 int sumrealGoodsTotal=0;
 long LastSumGoods=0;
 int lineSumUnifinish=0;
 int linetSaleTotal=0;
 for(int b=0;b<dataList.size();b++){
  if((((SaleMonthForecastListModel)dataList.get(b)).getArea()).equals(area))
   sumTotal+=((SaleMonthForecastListModel)dataList.get(b)).getSaleTotal();
 }
 
 products=new ArrayList();
 for(int c=0;c<dataList.size();c++){
  String areaCompareFive=((SaleMonthForecastListModel)dataList.get(c)).getArea();
  int productId=((SaleMonthForecastListModel)dataList.get(c)).getProductId();
  if(areaCompareFive.equals(area))
   products.add(new Integer(productId));
 }
 //System.out.println("products :"+products);

 
 
 ArrayList parentAreaNames=new ArrayList();
 parentAreaNames.add(parentAreaNameToo);
 for(int o=0;o<ar.size();o++){
  String parentAreaNameCom=((AreaandRateModel)ar.get(o)).getParentAreaName();
  if(!parentAreaNameCom.equals(parentAreaNameToo)){
   parentAreaNameToo=parentAreaNameCom;
   parentAreaNames.add(parentAreaNameToo);
  }
 }
 //System.out.println("parentAreaNames :"+parentAreaNames);
 
 HashMap P_sumRate=new HashMap();
 HashMap P_sumProvince=new HashMap();
 
 for(int m=0;m<parentAreaNames.size();m++){
  int areaPartProvince=0;
  float areaPartRate=0.0f;
  String parentAreaNameTwo=(String)parentAreaNames.get(m);
  for(int n=0;n<ar.size();n++){
   String parentAreaNameThree=((AreaandRateModel)ar.get(n)).getParentAreaName();
   if(parentAreaNameTwo.equals(parentAreaNameThree)){
    areaPartRate+=((AreaandRateModel)ar.get(n)).getRate();
    areaPartProvince++;
   }
  }
  System.out.println("areaPartRate="+new Float(areaPartRate));
  P_sumRate.put(parentAreaNameTwo,new Float(areaPartRate));
  P_sumProvince.put(parentAreaNameTwo,new Integer(areaPartProvince));
 }
 %>
 
 <%--按地區統計的HashMap--%>
 <%
 ArrayList listLine=null;
  String tempListParentArea="";
  pal=new HashMap();
  for(int r=0;r<dataList.size();r++){
   String listParentArea=((SaleMonthForecastListModel)dataList.get(r)).getParentAreaName();
   if(!tempListParentArea.equals(listParentArea)){
    tempListParentArea=listParentArea;
    listLine=new ArrayList();
    listLine.add((SaleMonthForecastListModel)dataList.get(r));
    pal.put(listParentArea,listLine);
    //System.out.println("listParentArea="+listParentArea);
   }
   else{
    listLine.add((SaleMonthForecastListModel)dataList.get(r));
   }
  }
  
  //System.out.println("pal="+pal.size());
 %>
 
<%!
  ArrayList getParentList(String BigArea){
   
   ArrayList parentList=(ArrayList)pal.get(BigArea);
    ArrayList productInfo=new ArrayList();
    //System.out.println("parentList大區產品="+parentList.size());
   for(int ii=0;ii<products.size();ii++){ 
     lamToo=new LineAcountModel();
      int productIdLine=((Integer)products.get(ii)).intValue();
     
    for(int jj=0; jj<parentList.size(); jj++){
     int productListIdToo=((SaleMonthForecastListModel)parentList.get(jj)).getProductId();
     //System.out.println("productListIdToo是="+productListIdToo);
     
     if(productIdLine==productListIdToo){
      //System.out.println("productIdLine==productListIdToo:"+productIdLine);
    
      lineSumUnnifinish+=((SaleMonthForecastListModel)parentList.get(jj)).getUnfinishTotal();
      
        //System.out.println(((SaleMonthForecastListModel)parentList.get(jj)).getUnfinishTotal());
      //System.out.print("-----------");
      //System.out.println(i++);
      lineSumSaleTotal+=((SaleMonthForecastListModel)parentList.get(jj)).getSaleTotal();
      lineSumProvinceTotal+=((SaleMonthForecastListModel)parentList.get(jj)).getProvinceSaleTotal();
           lineSumRealGoods+=((SaleMonthForecastListModel)parentList.get(jj)).getGoodsTotal();
           lineSumSaleAim=lineSumUnnifinish+lineSumProvinceTotal;
          
           lamToo.setLineSumProvinceTotal(lineSumProvinceTotal);
           lamToo.setLineSumRealGoods(lineSumRealGoods);
           lamToo.setLineSumSaleAim(lineSumSaleAim);
           lamToo.setLineSumSaleTotal(lineSumSaleTotal);
           lamToo.setLineSumUnnifinish(lineSumUnnifinish);
          
     }
    }
    lineSumUnnifinish=0;
    lineSumSaleTotal=0;
    lineSumProvinceTotal=0;
    lineSumRealGoods=0;
    lineSumSaleAim=0;
    productInfo.add(lamToo);
   } 
    return productInfo;
  }
 %>


 <caption><%=((SaleMonthForecastListModel)dataList.get(0)).getSaleMonth()%> 月 份 銷 售 任 務 完 成 情 況</caption>
  <tr align="center" bgcolor="fcf2cd" class="css">
    <td class="css">&nbsp;大&nbsp;&nbsp;&nbsp;區&nbsp;</td> <td noWrap class="css">&nbsp;省&nbsp;&nbsp;&nbsp;份&nbsp;</td><td>&nbsp;比例&nbsp;</td>
    <%
     for(int i=0;i<dataList.size();i++){
      SaleMonthForecastListModel amflModel=(SaleMonthForecastListModel)dataList.get(i);
      String areatoo=amflModel.getArea();
      if(area.equals(areatoo)){
    %>
  
       <td noWrap><%=amflModel.getProductName()%>上月<br>未完成任務</td>
       <td noWrap><%=amflModel.getProductName()%>任務</td>
       <td noWrap><%=amflModel.getProductName()%>總任務</td>
       <td noWrap>實際提貨量</td>
       <td noWrap>任務完成率</td>
    <%
      }
     }
    %>
    <td noWrap>總體任務</td><td noWrap>總提貨量</td><td noWrap>總體任務<br>完成率</td>
    </tr>

   
 <%--第二部分--%>   
  <%   
   int sumProducts=products.size();
    int begin=0;
    int end=sumProducts;
    
    for(int x=0; x<parentAreaNames.size(); x++){
    String parentListAreaNameToo=(String)parentAreaNames.get(x);
   
    //System.out.println("parentListAreaNameToo最外成大區="+parentListAreaNameToo);
   
    int areaProvinces=0;
    float areaRate=0.0f;
    float completeRate=0.0f;
    float sumCompleteRate=0.0f;          
     
     
    String tempParentAreaName=null;
     if(ar.size()>0)
      tempParentAreaName=((AreaandRateModel)ar.get(0)).getParentAreaName();
     for(int i=0;i<ar.size();i++){
      String FparentAreaName=((AreaandRateModel)ar.get(i)).getParentAreaName();
      
       String areaCompareOne=((AreaandRateModel)ar.get(i)).getArea();
       String parentAreaName=((AreaandRateModel)ar.get(i)).getParentAreaName();
      String areaName=((AreaandRateModel)ar.get(i)).getAreaName();
      int sumGoodsTotal=0;
      float rate=((AreaandRateModel)ar.get(i)).getRate();  
      
      if(((String)parentAreaNames.get(x)).equals(FparentAreaName)){ 
      //System.out.println("arrayParentArea[x]:"+arrayParentArea[x]);  
    %>

     <tr bgcolor="FFFFFF" class="css">
      <%
       if(i==0)
       {
       areaProvinces=((Integer)P_sumProvince.get(tempParentAreaName)).intValue();
       areaRate=((Float)P_sumRate.get(tempParentAreaName)).floatValue();
       
      %>
      <td rowspan='<%=areaProvinces+1%>'><%=tempParentAreaName%><%=changeRate(areaRate)%>%</td>
      <%
      }
       if(!tempParentAreaName.equals(parentAreaName))
       {
        tempParentAreaName = parentAreaName;
        areaProvinces=((Integer)P_sumProvince.get(tempParentAreaName)).intValue();
        areaRate=((Float)P_sumRate.get(tempParentAreaName)).floatValue();
;
        System.out.println("areaRate="+areaRate);
      %>
      <td rowspan='<%=areaProvinces+1%>'><%=tempParentAreaName%><%=changeRate(areaRate)%>%</td>
      <%
       }
      %>
      <td><%=areaName%></td><td><%=changeRate(rate)%>%</td>
    <%
      for(int j=0;j<dataList.size();j++){
       String areaCompareTwo=((SaleMonthForecastListModel)dataList.get(j)).getArea();
       if(areaCompareTwo.equals(areaCompareOne)){
     %>
        <td><%=((SaleMonthForecastListModel)dataList.get(j)).getUnfinishTotal()%></td>
        <td><%=((SaleMonthForecastListModel)dataList.get(j)).getProvinceSaleTotal()%></td>
        <%
        int sumAim=((SaleMonthForecastListModel)dataList.get(j)).getUnfinishTotal()+((SaleMonthForecastListModel)dataList.get(j)).getProvinceSaleTotal();
        int goodsTotal=((SaleMonthForecastListModel)dataList.get(j)).getGoodsTotal();
        sumGoodsTotal+=goodsTotal;
        %>
        <td><%=sumAim%></td>
        <td><%=goodsTotal%></td>
       
        <%
         if(sumAim==0 || goodsTotal==0){
        %>
         <td>0.00%</td>
        <%
         }
         else{
          completeRate=goodsTotal*100/sumAim;
        %>
        
        <td><%=changeRate(completeRate)%>%</td>
        <%
        }
        %>
    <%
       }
      }
      LastSumGoods+=sumGoodsTotal;
      sumCompleteRate+=completeRate;
      %>
      <td><%=new Float(sumTotal/100*rate).intValue()%></td><td><%=sumGoodsTotal%></td><td><%=changeRate(sumCompleteRate)%>%</td>
      <%     
      sumGoodsTotal=0;
    %>
     </tr>
     
     
    <%
      }
     }
    %>
    
    <tr bgcolor="FFFFFF" class="css"><td>合計</td><td><%=changeRate(areaRate)%>%</td>
     <%
     int i=1;
     int sumLineSumSaleAim=0;
     int sumLineSumRealGoodsToo=0;
     float countRate=0.0f;
     float sumCountRate=0.0f;
     ArrayList productsInfo=getParentList(parentListAreaNameToo);
     //System.out.println("productsInfo的大小呵呵 fsdgfdsgfdsgfdsgfsdgfds合乎="+productsInfo.size());
     for(int y=0;y<products.size();y++){
      int LineSumUnnifinishToo=((LineAcountModel)productsInfo.get(y)).getLineSumUnnifinish();
      
      int LineSumProvinceTotalToo=((LineAcountModel)productsInfo.get(y)).getLineSumProvinceTotal();
      
      int LineSumSaleAim=((LineAcountModel)productsInfo.get(y)).getLineSumSaleAim();
      
      int LineSumRealGoodsToo=((LineAcountModel)productsInfo.get(y)).getLineSumRealGoods();
      
      if(LineSumSaleAim==0){
       countRate=0.00f;
      }
      else{
       countRate=LineSumRealGoodsToo*100/LineSumSaleAim;
      }
      sumLineSumSaleAim+=LineSumSaleAim;
      sumLineSumRealGoodsToo+=LineSumRealGoodsToo;
      if(sumLineSumSaleAim==0){
       sumCountRate=0.0f;
      }
      else{
        sumCountRate=sumLineSumRealGoodsToo*100/sumLineSumSaleAim;
      }
     %>
      <td><%=LineSumUnnifinishToo%></td>
      <td><%=LineSumProvinceTotalToo%></td>
      <td><%=LineSumSaleAim%></td>
      <td><%=LineSumRealGoodsToo%></td>
      <td><%=changeRate(countRate)%>%</td>
     <%
      }
     %>
     <td><%=sumLineSumSaleAim%></td><td><%=sumLineSumRealGoodsToo%></td><td><%=changeRate(sumCountRate)%>%</td>
    </tr>
    <%
     sumLineSumSaleAim=0;
     sumLineSumRealGoodsToo=0;
    }
    %>


<%--第三部分--%>
    <tr bgcolor="FFFFFF" class="css">
     <%
      float sumRate=0.0f;
      for(int a=0;a<ar.size();a++){
       sumRate+=((AreaandRateModel)ar.get(a)).getRate();
      }
     %>
     <td>總計</td><td></td><td><%=changeRate(sumRate)%>%</td>
     <%
     int sumUnfinish=0;
     int saleTotal=0;
     sumrealGoodsTotal = 0;
   for(int d=0;d<products.size();d++){
    int productId=((Integer)products.get(d)).intValue();
      for(int e=0;e<dataList.size();e++){
       int comparePId=((SaleMonthForecastListModel)dataList.get(e)).getProductId();
       if(productId==comparePId){
        sumUnfinish+=((SaleMonthForecastListModel)dataList.get(e)).getUnfinishTotal();
        sumrealGoodsTotal+=((SaleMonthForecastListModel)dataList.get(e)).getGoodsTotal();
       }
      }
      for(int f=0;f<dataList.size();f++){
       String compareAreaSix=((SaleMonthForecastListModel)dataList.get(f)).getArea();
       int compareOnePId=((SaleMonthForecastListModel)dataList.get(f)).getProductId();
        if(compareAreaSix.equals(area) && productId==compareOnePId){
         saleTotal=((SaleMonthForecastListModel)dataList.get(f)).getSaleTotal();
        }
      }
     
   %>
   
     <td><%=sumUnfinish%></td>
     <td><%=saleTotal%></td>
     <%
      int sumTotalCount=sumUnfinish+saleTotal;
     %>
     <td><%=sumTotalCount%></td>
       <td><%=sumrealGoodsTotal%></td>
       <%
        if(sumTotalCount==0){
       %>
       <td>0.00%</td>
       <%
       }
       else{
       %>
       <td><%=changeRate(sumrealGoodsTotal*100/sumTotalCount)%>%</td>
       <%
       }
       %>
   <%
    sumUnfinish=0;
    sumrealGoodsTotal=0;
   }
   %>
   <td><%=sumTotal%></td><td><%=LastSumGoods%></td>
   <%
    if(sumTotal==0){
   %>
   <td>0.00%</td>
   <%
   }
   else{
   %>
   <td><%=changeRate(LastSumGoods*100/sumTotal)%>%</td>
   <%
    }
   %>
    </tr>
 
</table>

<br>
  &nbsp;&nbsp;&nbsp;&nbsp;任務量總計:  <%=sumTotal%>&nbsp;&nbsp;&nbsp;&nbsp;總提貨量: <%=LastSumGoods%>
</logic:present>

</BODY>
</HTML>
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章