Преглед на файлове

月统计模板+堆场用途

git-svn-id: https://192.168.57.71/svn/jsgkj@1478 931142cf-59ea-a443-aa0e-51397b428577
ld_zhangdong преди 8 години
родител
ревизия
47dae5273d

+ 6 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/ctl/DcCtl.java

@@ -320,16 +320,20 @@ public class DcCtl extends BaseWebCtl {
 			entity.setWxpxdcdcnl(code.getWxpxdcdcnl());
 			entity.setWxpxdcmj(code.getWxpxdcmj());
 			entity.setDczrlteu(code.getDczrlteu());
-
+			String scydcytId="";//堆场拥堵ID
 			if (code.getScydcyt() != null) {
 				String name = "";
 				String[] s = code.getScydcyt().split(",");
 				for (String string : s) {
+					scydcytId+=string+",";
 					name += securityMgr.codeService().findOne(string).getText() + ",";
 				}
 				entity.setZwdcyt(name);
 			}
-
+			if (scydcytId.endsWith(",")) {
+				scydcytId=scydcytId.substring(0,scydcytId.length()-1);
+			}
+			entity.setScydcyt(scydcytId);//堆场拥堵ID
 			CodeEntity szd = new CodeEntity(szdid);
 			entity.setSzd(szd);
 

+ 146 - 0
gkjsjy/trunk/src/com/xt/jygl/gkyxtjyfx/hxhbtj/ctl/HxhbtjProCtl.java

@@ -11,6 +11,7 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,8 @@ import com.xtframe.sec.code.entity.CodeEntity;
 import com.xtframe.sec.common.BaseEntity;
 import com.xtframe.sec.common.QueryService;
 import com.xtframe.sec.common.SimplePageRequest;
+import com.xtframe.util.DigitUtils;
+import com.xtframe.util.ExcelTool;
 import com.xtframe.util.StringUtils;
 
 @Controller
@@ -492,4 +495,147 @@ public class HxhbtjProCtl extends BaseWebCtl {
 
 		return wr;
 	}
+	/**
+	 * 地区参数dq为空时才能导出
+	 * @param page
+	 * @param model
+	 * @param flag
+	 * @param request
+	 * @param response
+	 * @param rq
+	 * @param dq
+	 * @param menuid
+	 * @throws JsonProcessingException
+	 */
+	@RequestMapping(value = "/export")
+	public void export(SimplePageRequest page, Model model, String flag, final HttpServletRequest request,HttpServletResponse response, final String rq, final String dq, final String menuid) throws JsonProcessingException {
+		String start = "";
+		if (StringUtils.isEmpty(rq)) {
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+			start = sdf.format(new Date());
+		}
+		
+		List<HxhbtjVo> volist = new ArrayList<HxhbtjVo>();
+		//合计行
+		Double sumYyhxts=0d;
+		Double sumYyhxhbs=0d;
+		Double sumJyhxts=0d;
+		Double sumJyhxhbs=0d;
+		Double sumNzxts=0d;
+		Double sumNzxhbs=0d;
+		Double sumNmhxts=0d;
+		Double sumNmhxhbs=0d;
+		if (StringUtils.isEmpty(flag)) {
+			List<HxhbtjproEntity> list = hxhbtjproService.findByRq(rq != null ? rq : start);
+			if (list != null && list.size() > 0) {
+				for (HxhbtjproEntity entity : list) {
+					HxhbtjVo vo = new HxhbtjVo();
+					vo.setSzd(entity.getSzd().getText());
+					vo.setYyhxts(entity.getYyhxts().toString());
+					sumYyhxts+=entity.getYyhxts();
+					vo.setYyhxhbs(entity.getYyhxhbs().toString());
+					sumYyhxhbs+=entity.getYyhxhbs();
+					vo.setJyhxts(entity.getJyhxts().toString());
+					sumJyhxts+=entity.getJyhxts();
+					vo.setJyhxhbs(entity.getJyhxhbs().toString());
+					sumJyhxhbs+=entity.getJyhxhbs();
+					vo.setNzxts(entity.getNzxts().toString());
+					sumNzxts+=entity.getNzxts();
+					vo.setNzxhbs(entity.getNzxhbs().toString());
+					sumNzxhbs+=entity.getNzxhbs();
+					vo.setNmhxts(entity.getNmhxts().toString());
+					sumNmhxts+=entity.getNmhxts();
+					vo.setNmhxhbs(entity.getNmhxhbs().toString());
+					sumNmhxhbs+=entity.getNmhxhbs();
+					vo.setId(entity.getSzd().getId());
+					volist.add(vo);
+				}
+			} else {
+				List<CodeEntity> clist = securityMgr.codeService().findByPid("82");
+				model.addAttribute("clist", clist);
+				if (clist != null && clist.size() > 0) {
+					for (CodeEntity code : clist) {
+						HxhbtjVo vo = new HxhbtjVo();
+						vo.setSzd(code.getText());
+						vo.setYyhxts("0.0");
+						vo.setYyhxhbs("0.0");
+						vo.setJyhxts("0.0");
+						vo.setJyhxhbs("0.0");
+						vo.setNzxts("0.0");
+						vo.setNzxhbs("0.0");
+						vo.setNmhxts("0.0");
+						vo.setNmhxhbs("0.0");
+						vo.setId(code.getId());
+						volist.add(vo);
+					}
+				}
+			}
+
+		} else {
+			List<Object> slist = hxhbtjService.findAllSzd(rq != null ? rq : start);
+
+			if (slist != null && slist.size() > 0) {
+				for (Object ob : slist) {
+					Object[] e = (Object[]) ob;
+					HxhbtjVo vo = new HxhbtjVo();
+					vo.setSzd((String) e[0]);
+					DecimalFormat df2 = (DecimalFormat) DecimalFormat.getInstance();
+					df2.applyPattern("0.0");
+					vo.setYyhxts(df2.format(e[1]));
+					sumYyhxts+=DigitUtils.toDouble(e[1]);
+					vo.setYyhxhbs(df2.format(e[2]));
+					sumYyhxhbs+=DigitUtils.toDouble(e[2]);
+					vo.setJyhxts(df2.format(e[3]));
+					sumJyhxts+=DigitUtils.toDouble(e[3]);
+					vo.setJyhxhbs(df2.format(e[4]));
+					sumJyhxhbs+=DigitUtils.toDouble(e[4]);
+					vo.setNzxts(df2.format(e[5]));
+					sumNzxts+=DigitUtils.toDouble(e[5]);
+					vo.setNzxhbs(df2.format(e[6]));
+					sumNzxhbs+=DigitUtils.toDouble(e[6]);
+					vo.setNmhxts(df2.format(e[7]));
+					sumNmhxts+=DigitUtils.toDouble(e[7]);
+					vo.setNmhxhbs(df2.format(e[8]));
+					sumNmhxhbs+=DigitUtils.toDouble(e[8]);
+					vo.setId(e[9].toString());
+					volist.add(vo);
+					/*
+					 * for (int j = 1; j < e.length-1; j++) { BigDecimal s =
+					 * new BigDecimal(0.0000); if (sum[j] != null) { s =
+					 * (BigDecimal) sum[j]; } BigDecimal ss = new
+					 * BigDecimal(0.0); ss = (BigDecimal) e[j]; s =
+					 * s.add(ss); sum[j] = s; }
+					 */
+
+				}
+			}
+
+		}
+
+		//合计行
+		if(volist.size()>0){
+			HxhbtjVo vo = new HxhbtjVo();
+			vo.setSzd("合计");
+			
+			vo.setYyhxts(sumYyhxts.toString());
+			vo.setYyhxhbs(sumYyhxhbs.toString());
+			vo.setJyhxts(sumJyhxts.toString());
+			vo.setJyhxhbs(sumJyhxhbs.toString());
+			
+			vo.setNzxts(sumNzxts.toString());
+			vo.setNzxhbs(sumNzxhbs.toString());
+			vo.setNmhxts(sumNmhxts.toString());
+			vo.setNmhxhbs(sumNmhxhbs.toString());
+			//add
+			volist.add(vo);
+		}
+		
+		try{
+			//导出
+			String exportName= "全省港口集装箱航线航班月度统计_" +rq;
+			ExcelTool.exportExcel(request, response, volist, 1,exportName);
+		}catch(Exception e){
+			e.printStackTrace();
+		}
+	}
 }

+ 11 - 1
gkjsjy/trunk/src/com/xt/jygl/gkyxtjyfx/hxhbtj/vo/HxhbtjVo.java

@@ -64,7 +64,8 @@ public class HxhbtjVo extends BaseVo {
 	private String rq = null;
 	private String dq = null;
 	private String dqzw = null;
-	
+	/** 所在地 */
+	private String szd;
 	public String getDqzw() {
 		return dqzw;
 	}
@@ -512,4 +513,13 @@ public class HxhbtjVo extends BaseVo {
 	public void setRq(String rq) {
 		this.rq = rq;
 	}
+
+	public String getSzd() {
+		return szd;
+	}
+
+	public void setSzd(String szd) {
+		this.szd = szd;
+	}
+	
 }

+ 9 - 0
gkjsjy/trunk/src/com/xtframe/util/DigitUtils.java

@@ -37,4 +37,13 @@ public abstract class DigitUtils {
 		}
 		return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
 	}
+	
+	public static Double toDouble(Object obj) {
+		Double d=0d;
+		try {
+			d=Double.valueOf(obj.toString());
+		} catch (Exception e) {
+		}
+		return d;
+	}
 }

+ 10 - 0
gkjsjy/trunk/src/com/xtframe/util/StringUtils.java

@@ -15,6 +15,7 @@ import java.util.StringTokenizer;
 import java.util.TimeZone;
 import java.util.TreeSet;
 
+
 /**
  * Miscellaneous {@link String} utility methods.
  *
@@ -1833,4 +1834,13 @@ public abstract class StringUtils {
 			return name;
 		}
 	}
+	/**
+	 * 空时取空字符串
+	 * @param s
+	 * @return
+	 */
+	public static String nvl(String s){
+		if(s==null)return "";
+		return s;
+	}
 }