|
@@ -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();
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|