<%@ page language="java" contentType="text/html; charset=gbk"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page import="com.kpt.common.Util" %> <%@page import="java.util.List"%> <%@page import="java.util.Map"%> <%@page import="java.util.Date"%> <%@page import="java.util.ArrayList"%> <%@page import="java.math.BigDecimal"%> <% String str = Util.getHeaderType(request,"用料分析"); response.setContentType("application/vnd.ms-excel;charset=gbk");response.setHeader("Content-disposition",str); %>
<% List list = (List) request.getAttribute("list"); List feedlist = (List) request.getAttribute("feedlist"); String tjType = (String) request.getAttribute("tjType"); String tjTarget = (String) request.getAttribute("tjTarget"); String strname = ""; if(list.size() == 1){ Map strnameMap = (Map)list.get(0); strname = (String)strnameMap.get("1"); } if(list.size() > 0 && !"1".equals(strname)){ //动态列头数组 int fsize = feedlist.size(); if("0".equals(tjTarget)){ fsize = fsize*2; } Double[] feedstr = new Double[fsize]; //动态合计值数组 Double[] liststr; if("0".equals(tjTarget)){ liststr = new Double[2]; }else{ liststr = new Double[1]; } for (int i = 0; i < list.size(); i++) { int c = 0; int listC = 0; Map map = (Map) list.get(i); if("0".equals(tjType)){ String n1 = (String)map.get("舍栏类别"); %> <% }else if("1".equals(tjType)){ String n1 = (String)map.get("舍栏"); %> <% }else if("2".equals(tjType)){ Date d1 = (Date)map.get("日期"); %> <% }else if("3".equals(tjType)){ String n1 = (String)map.get("TMR"); %> <% }else if("4".equals(tjType)){ String bc = ""; Integer n1 = (Integer)map.get("班次"); if(n1 == 1){ bc = "早班1"; }else if(n1 == 2){ bc = "早班2"; }else if(n1 == 3){ bc = "中班1"; }else if(n1 == 4){ bc = "中班2"; }else if(n1 == 5){ bc = "晚班1"; }else{ bc = "晚班2"; } %> <% }else if("5".equals(tjType)){ String n1 = (String)map.get("车次"); %> <% } if("0".equals(tjTarget)){ for (int j = 0; j < feedlist.size(); j++){ Map fmap = (Map) feedlist.get(j); String fname = (String)fmap.get("FNAME"); String fname1 = fname+"|理论"; String fname2 = fname+"|实际"; Double newname1 = (Double)map.get(fname1); Double newname2 = (Double)map.get(fname2); if(newname1 != null && newname2 != null){ BigDecimal bg = new BigDecimal(newname1); newname1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); BigDecimal bg1 = new BigDecimal(newname2); newname2 = bg1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); if(feedstr[c]==null){ feedstr[c] = newname1; }else{ feedstr[c] += newname1; } c++; if(feedstr[c]==null){ feedstr[c] = newname2; }else{ feedstr[c] += newname2; } c++; %> <% }else{ if(feedstr[c]==null){ feedstr[c] = 0.0; }else{ feedstr[c] += 0.0; } c++; if(feedstr[c]==null){ feedstr[c] = 0.0; }else{ feedstr[c] += 0.0; } c++; %> <% } } BigDecimal sum1 = (BigDecimal)map.get("合计|理论"); BigDecimal sum2 = (BigDecimal)map.get("合计|实际"); if(liststr[listC]==null){ liststr[listC] = sum1.doubleValue(); }else{ liststr[listC] += sum1.doubleValue(); } listC++; if(liststr[listC]==null){ liststr[listC] = sum2.doubleValue(); }else{ liststr[listC] += sum2.doubleValue(); } listC++; %> <% }else if("1".equals(tjTarget)){ for (int j = 0; j < feedlist.size(); j++){ Map fmap = (Map) feedlist.get(j); String fname = (String)fmap.get("FNAME"); String fname1 = fname+"|理论"; Double newname1 = (Double)map.get(fname1); if(newname1 != null){ BigDecimal bg = new BigDecimal(newname1); newname1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); if(feedstr[c]==null){ feedstr[c] = newname1; }else{ feedstr[c] += newname1; } c++; %> <% }else{ if(feedstr[c]==null){ feedstr[c] = 0.0; }else{ feedstr[c] += 0.0; } c++; %> <% } } BigDecimal sum1 = (BigDecimal)map.get("合计|理论"); if(liststr[listC]==null){ liststr[listC] = sum1.doubleValue(); }else{ liststr[listC] += sum1.doubleValue(); } listC++; %> <% }else if("2".equals(tjTarget)){ for (int j = 0; j < feedlist.size(); j++){ Map fmap = (Map) feedlist.get(j); String fname = (String)fmap.get("FNAME"); String fname1 = fname+"|实际"; Double newname1 = (Double)map.get(fname1); if(newname1 != null){ BigDecimal bg = new BigDecimal(newname1); newname1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); if(feedstr[c]==null){ feedstr[c] = newname1; }else{ feedstr[c] += newname1; } c++; %> <% }else{ if(feedstr[c]==null){ feedstr[c] = 0.0; }else{ feedstr[c] += 0.0; } c++; %> <% } } BigDecimal sum1 = (BigDecimal)map.get("合计|实际"); if(liststr[listC]==null){ liststr[listC] = sum1.doubleValue(); }else{ liststr[listC] += sum1.doubleValue(); } listC++; %> <% } } %> <% for (int k = 0; k < feedstr.length; k++){ String newF = String.format("%.2f", feedstr[k]); %> <% } for (int t = 0; t < liststr.length; t++){ String newL = String.format("%.2f", liststr[t]); %> <% } %> <% }else{ if("0".equals(tjTarget)){ %> <% }else{ %> <% } } %>
饲料名称 合计 合计
舍栏类别 舍栏 日期 TM 班次 车次 理论 实际 理论 实际 理论 理论 实际 实际
0.0 0.0
0.0
0.0
没有对应的结果
没有对应的结果