diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/RegionAreaController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/RegionAreaController.java index 348aa10..00617d0 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/RegionAreaController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/RegionAreaController.java @@ -1,37 +1,48 @@ package com.zteits.irain.portal.web.parkinglotcloudplatform.areamanage; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +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.util.StringUtils; +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.alibaba.fastjson.JSONObject; +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.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.dto.YearMonthCardStatisticDTO; import com.zteits.clouds.api.dto.park.dto.TpPRegionAreaDTO; import com.zteits.clouds.api.dto.park.param.DeleteTpPRegionAreaRequest; import com.zteits.clouds.api.dto.park.param.QueryTpPRegionAreaForPageRequest; import com.zteits.clouds.api.dto.park.param.SaveOrUpdateTpPRegionAreaRequest; -import com.zteits.clouds.api.dto.sys.SysOpDTO; -import com.zteits.clouds.api.dto.sys.param.SysOpDeleteRequest; -import com.zteits.clouds.api.dto.sys.param.SysOpForPageRequest; -import com.zteits.clouds.api.dto.sys.param.SysOpSaveOrModfiyRequest; +import com.zteits.clouds.api.dto.pay.param.YearMonthCardStatisticRequest; import com.zteits.clouds.api.service.park.TpPRegionAreaService; -import com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic.RealTimeMonitorController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -121,5 +132,57 @@ public class RegionAreaController extends BizController { logger.info("调用分页查询泊位区间信息dubbo服务返回信息:response={}"+JSONObject.toJSONString(result)); return returnJqGridData(result, TpPRegionAreaDTO.class); } + + + + @ApiOperation("导出年卡月卡统计excel") + @GetMapping("exportYearMonthStatisticExcel") + public void exportYearMonthStatisticExcel( + @RequestParam List plNos, @RequestParam String parkAreaCode, + HttpServletRequest requests, HttpServletResponse response) throws Exception { + + QueryTpPRegionAreaForPageRequest request= new QueryTpPRegionAreaForPageRequest(); + request.setSysCode(sysCode); + request.setPlNos(plNos); + request.setBaseRequest(new BaseInfo(1, 0)); + request.setParkAreaCode(parkAreaCode); + + BizResult> result = tpPRegionAreaService.queryTpPRegionAreaForPage(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()); + +// String[] billTitle = new String[9]; +// billTitle = new String[2]; +// billTitle[0] = "年卡月卡统计"; + + + // 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(result.getData().getDataList())) { + list = result.getData().getDataList(); + } + for (TpPRegionAreaDTO e : list) { + Object[] obj = new Object[title.length]; + int index = 0; + obj[index++] = e.getParkAreaName() != null ? e.getParkAreaName() : ""; + obj[index++] = e.getParkAreaCode() != null ? e.getParkAreaCode() : ""; + obj[index++] = e.getPlName() != null ? e.getPlName() : ""; + obj[index++] = e.getBerthNum(); + contentList.add(obj); + } + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, contentList, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } }