diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/AreaManageController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/AreaManageController.java index 45bb3d6..1826710 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/AreaManageController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/areamanage/AreaManageController.java @@ -4,7 +4,9 @@ import java.util.List; import javax.servlet.http.HttpSession; +import com.clouds.common.utils.ResultUtils; import com.clouds.common.web.vo.BizResultVO; +import com.clouds.common.web.vo.EasyUIDataGridVO; import com.zteits.clouds.api.apibase.bean.BaseRequest; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.constants.ErrorType; @@ -14,6 +16,7 @@ import com.zteits.clouds.api.dto.sys.param.AreaTreeDTO; import com.zteits.clouds.api.service.sys.TbAreaService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.formula.functions.T; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -47,14 +50,25 @@ public class AreaManageController { @ApiOperation("根据归属组织ID查询区域与区块树") @PostMapping("/queryAreaAndBlockTree") - public BizResultVO> queryAreaAndBlockTree(@RequestBody BaseRequest baseRequest){ + public BizResultVO> queryAreaAndBlockTree(@RequestBody BaseRequest baseRequest){ + BizResultVO> resultVO = new BizResultVO<>(); + EasyUIDataGridVO easyUIDataGridVO = new EasyUIDataGridVO<>(); AreaBlockByOrgIdQueryRequest request = new AreaBlockByOrgIdQueryRequest(); request.setSysCode(baseRequest.getSysCode()); // TODO 此处orgId 从当前登录操作人中取,现在先不限制 request.setOrgId(1L); BizResult> result= tbAreaService.queryAreaBlockByOrgId(request); - return new BizResultVO<>(result); + if(ResultUtils.isSuccess(result)){ + easyUIDataGridVO.setRows(result.getData()); + easyUIDataGridVO.setTotal(result.getData().size()); + resultVO.setData(easyUIDataGridVO); + }else { + resultVO.setCode(result.getErrCode().getCode()); + resultVO.setMsg(result.getErrMsg()); + } + + return resultVO; } } 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..3140e92 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,25 +1,40 @@ 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.constants.TableNameEnum; 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; @@ -86,9 +101,9 @@ public class AnalysisController extends BizController { int endMonth = endc.get(Calendar.MONTH) + 1; int endDay = endc.get(Calendar.DAY_OF_MONTH); - String tableName = "tp_p_eqp_log"+endYear+""+endMonth; + String tableName = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+""+endMonth; if(endMonth < 10){ - tableName = "tp_p_eqp_log"+endYear+"0"+endMonth; + tableName = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+"0"+endMonth; } requestObject.setTableName(tableName); if (beginYear == endYear && beginMonth == endMonth && beginDay == endDay) { @@ -186,11 +201,11 @@ public class AnalysisController extends BizController { endc.setTime(requestObject.getEndTime()); int endYear = endc.get(Calendar.YEAR); int endMonth = endc.get(Calendar.MONTH) + 1; - int endDay = endc.get(Calendar.DAY_OF_MONTH); + //int endDay = endc.get(Calendar.DAY_OF_MONTH); - String tableName = "tp_p_eqp_log"+endYear+""+endMonth; + String tableName = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+""+endMonth; if(endMonth < 10){ - tableName = "tp_p_eqp_log"+endYear+"0"+endMonth; + tableName = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+"0"+endMonth; } requestObject.setTableName(tableName); // 按每天统计 @@ -200,7 +215,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 = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+""+endMonth; + if(endMonth < 10){ + tableName = TableNameEnum.TP_P_EQP_LOG.getValue()+endYear+"0"+endMonth; + } + request.setTableName(tableName); + + BizResult> bizResult = eqpBerthsService.queryBerthTurnOverDetailForHour(request); + //SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String[] title = new String[] { "时间","停车场名称", "周转率" }; + String sheetName = "泊位周转率"; + String fileName = "泊位周转率" + sdf.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); + }