From d4a0303d1e03c74efd1ef337d7abef4d4f208bc2 Mon Sep 17 00:00:00 2001 From: wangfei <1006884993@qq.com> Date: Wed, 30 Aug 2017 09:37:51 +0800 Subject: [PATCH] 泊位周转率-导出 --- src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/AnalysisController.java | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/AnalysisController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/AnalysisController.java index 6d1ee59..d54b456 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/AnalysisController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/AnalysisController.java @@ -1,31 +1,47 @@ package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic; import java.sql.Timestamp; +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.poi.xssf.usermodel.XSSFSheet; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import com.alibaba.dubbo.common.utils.CollectionUtils; import com.clouds.common.utils.DateUtil; +import com.clouds.common.utils.excle.ExcelUtil; +import com.clouds.common.utils.excle.ExcleFillDateManager; +import com.clouds.common.utils.excle.Layouter; import com.clouds.common.web.BizController; import com.clouds.common.web.vo.BizResultVO; import com.clouds.common.web.vo.EasyUIDataGridVO; import com.google.common.collect.Lists; +import com.zteits.clouds.api.apibase.bean.BaseInfo; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.bean.PageBean; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.clouds.param.BerthTurnOverQueryRequest; import com.zteits.clouds.api.dto.park.dto.BerthTurnOverCountDTO; +import com.zteits.clouds.api.dto.park.dto.ParkingLotUseStatisticDTO; +import com.zteits.clouds.api.dto.park.param.ParkingLotUseStatisticForPageRequest; import com.zteits.clouds.api.service.park.EqpBerthsService; import com.zteits.irain.portal.constant.ParkConstant; import com.zteits.irain.portal.vo.parkinglotcloudplatform.datastatistic.LineChartVO; @@ -200,7 +216,69 @@ public class AnalysisController extends BizController { return returnJqGridData(respondObject,BerthTurnOverCountDTO.class); } - + /** + * @param beginTime + * @param endTime + * @param plNos + * @param requests + * @param response + */ + @ApiOperation("导出周转率数据统计excel") + @GetMapping("exportBerthTurnOverExcel") + public void exportBerthTurnOverExcel(@RequestParam String beginTime, @RequestParam String endTime, + @RequestParam List plNos, HttpServletRequest requests, HttpServletResponse response) { + BerthTurnOverQueryRequest request = new BerthTurnOverQueryRequest(); + request.setSysCode(sysCode); + request.setBeginTime(DateUtil.to_date(beginTime, DateUtil.DATETIME_FORMAT)); + request.setEndTime(DateUtil.to_date(endTime, DateUtil.DATETIME_FORMAT)); + request.setPlNos(plNos); + request.setBaseRequest(new BaseInfo(1, 100)); + request.setTimeType(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1DAY); + + Calendar endc = Calendar.getInstance(); + endc.setTime(request.getEndTime()); + int endYear = endc.get(Calendar.YEAR); + int endMonth = endc.get(Calendar.MONTH) + 1; + int endDay = endc.get(Calendar.DAY_OF_MONTH); + String tableName = "tp_p_eqp_log"+endYear+""+endMonth; + if(endMonth < 10){ + tableName = "tp_p_eqp_log"+endYear+"0"+endMonth; + } + request.setTableName(tableName); + + BizResult> bizResult = eqpBerthsService.queryBerthTurnOverDetailForHour(request); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd"); + String[] title = new String[] { "时间","停车场名称", "周转率" }; + String sheetName = "泊位周转率"; + String fileName = "泊位周转率" + format2.format(new Date()); + // 1.创建excel信息 + XSSFSheet workSheet = ExcelUtil.createExcel(sheetName); + // 2.设置excel表头和表体 + Layouter.buildReport(workSheet, title, 0, 0); + // 3.填充数据 + List contentList = new ArrayList(); + List list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(bizResult.getData().getDataList())) { + list = bizResult.getData().getDataList(); + } + DecimalFormat df=new DecimalFormat("#.##"); + + for (BerthTurnOverCountDTO e : list) { + Object[] obj = new Object[title.length]; + int index = 0; + obj[index++] = e.getTurnDayTime()+":00:00"; + obj[index++] = e.getParkName(); + /*double d=100-e.getTurnOver()* 100; + obj[index++] = df.format(d) + "%";*/ + obj[index++] = df.format(e.getTurnOver()); + contentList.add(obj); + } + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, contentList, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } -- libgit2 0.21.4