diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/CloudsParDurationController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/CloudsParDurationController.java index 1ad05bd..32bc273 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/CloudsParDurationController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/CloudsParDurationController.java @@ -1,13 +1,17 @@ package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic; -import java.math.BigDecimal; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.collections.map.HashedMap; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -18,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.alibaba.dubbo.common.utils.StringUtils; +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; @@ -25,10 +30,8 @@ import com.clouds.common.web.BizController; import com.clouds.common.web.vo.BizResultVO; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.bean.PageBean; -import com.zteits.clouds.api.dto.clouds.dto.BillManageDTO; import com.zteits.clouds.api.dto.clouds.dto.ParkDurationDTO; import com.zteits.clouds.api.dto.clouds.dto.ParkDurationForHourDTO; -import com.zteits.clouds.api.dto.clouds.param.BillQueryRequest; import com.zteits.clouds.api.dto.clouds.param.ParkDurationRequest; import com.zteits.clouds.api.service.clouds.CloudsParDurationService; @@ -44,12 +47,40 @@ public class CloudsParDurationController extends BizController{ /** * 企业云平台->停车时长折线图->按日.
* @return + * @throws Exception */ @ApiOperation("企业云平台->停车时长折线图->按日") @PostMapping("/queryEchartsForParkDurationForDay") - public BizResultVO> queryEchartsForParkDurationForDay(@RequestBody ParkDurationRequest parkDurationRequest){ - BizResult> result = cloudsParDurationService.queryEchartsForParkDurationForDay(parkDurationRequest); - return new BizResultVO>(result); + public BizResultVO> queryEchartsForParkDurationForDay(@RequestBody ParkDurationRequest parkDurationRequest,HttpServletResponse response) throws Exception{ + BizResult> result = cloudsParDurationService.queryEchartsForParkDurationForDay(parkDurationRequest); + + return new BizResultVO>(result); + } + + /** + * 获取2个时间的时间所有天数.
+ * @param parkDurationRequest + * @return + */ + public List getTwoDaysDay(ParkDurationRequest parkDurationRequest){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String beginTime = DateUtil.getDateString(parkDurationRequest.getParkOutBeginTime(),"yyyy-MM-dd"); + String endTime = DateUtil.getDateString(parkDurationRequest.getParkOutEndTime(),"yyyy-MM-dd"); + List dateList =new ArrayList(); + //获取开始结束之间的所有日期 + try { + List datas = DateUtil.getBetweenDates(format.parse(beginTime),format.parse(endTime)); + if(!CollectionUtils.isEmpty(datas)){ + for(Date e:datas){ + if(e != null){ + dateList.add(format.format(e)); + } + } + } + } catch (ParseException e) { + e.printStackTrace(); + } + return dateList; } /** @@ -228,12 +259,13 @@ public class CloudsParDurationController extends BizController{ /** * 企业云平台->停车时长折线图->按日.
* @return + * @throws Exception */ @ApiOperation("企业云平台->停车时长折线图->按月") @PostMapping("/queryEchartsForParkDurationForMonth") - public BizResultVO> queryEchartsForParkDurationForMonth(@RequestBody ParkDurationRequest parkDurationRequest){ - BizResult> result = cloudsParDurationService.queryEchartsForParkDurationForMonth(parkDurationRequest); - return new BizResultVO>(result); + public BizResultVO> queryEchartsForParkDurationForMonth(@RequestBody ParkDurationRequest parkDurationRequest) throws Exception{ + BizResult> result = cloudsParDurationService.queryEchartsForParkDurationForMonth(parkDurationRequest); + return new BizResultVO>(result); } /** @@ -298,4 +330,5 @@ public class CloudsParDurationController extends BizController{ + } diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/RealTimeMonitorController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/RealTimeMonitorController.java index 4e238e0..1431e95 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/RealTimeMonitorController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/RealTimeMonitorController.java @@ -28,8 +28,10 @@ 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.RealTimeMonitoringRequest; +import com.zteits.clouds.api.dto.park.dto.BerthsDTO; import com.zteits.clouds.api.dto.park.dto.ParkOccupancyRateDTO; import com.zteits.clouds.api.dto.park.dto.TpPEqpLogDTO; +import com.zteits.clouds.api.dto.park.param.QueryBerthForPageRequest; import com.zteits.clouds.api.dto.sys.SysOpDTO; import com.zteits.clouds.api.dto.sys.SysOrgDTO; import com.zteits.clouds.api.dto.sys.SysRoleDTO; @@ -38,6 +40,7 @@ import com.zteits.clouds.api.dto.sys.param.SysOpForPageRequest; import com.zteits.clouds.api.dto.sys.param.SysOpSaveOrModfiyRequest; import com.zteits.clouds.api.dto.sys.param.SysOrgPageQueryRequest; import com.zteits.clouds.api.dto.sys.param.SysRolePageQueryRequest; +import com.zteits.clouds.api.service.park.BerthManageService; import com.zteits.clouds.api.service.park.EqpBerthsService; import io.swagger.annotations.Api; @@ -67,6 +70,8 @@ public class RealTimeMonitorController extends BizController { @Autowired private EqpBerthsService eqpBerthsService; + @Autowired + private BerthManageService berthManageService; /** @@ -78,8 +83,8 @@ public class RealTimeMonitorController extends BizController { * langlw 2017-08-30 */ @ApiOperation("分页查询停车场设备日志数据") - @PostMapping("/queryOpsBySysCode") - public BizResultVO> queryUsersPageList( + @PostMapping("/queryParkEqpForPageByPlNo") + public BizResultVO> queryParkEqpForPageByPlNo( @RequestBody RealTimeMonitoringRequest request) throws Exception { logger.info("调用分页查询停车场设备日志数据dubbo服务入参:request={}"+JSONObject.toJSONString(request)); @@ -109,4 +114,44 @@ public class RealTimeMonitorController extends BizController { logger.info("调用分组查询停车场占用率dubbo服务返回信息:request={}"+JSONObject.toJSONString(result)); return new BizResultVO>(result); } + + + + /** + * 通过车位对象分页查询车位信息 + * query berths by berth for page + * langlw 2017-8-31 + * @param request + * @return + * @throws Exception + */ + @ApiOperation("通过车位对象分页查询车位信息") + @PostMapping("/queryBerthByBerthForPage") + public BizResultVO> queryBerthByBerthForPage( + @RequestBody QueryBerthForPageRequest request) + throws Exception { + logger.info("通过车位对象分页查询车位信息dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult> result = berthManageService.queryBerthByBerth(request); + logger.info("通过车位对象分页查询车位信息dubbo服务返回信息:response={}"+JSONObject.toJSONString(result)); + return returnJqGridData(result, BerthsDTO.class); + } + + /** + * 分组查询停车场占用率 + * + * @param request + * @return + * @throws Exception + * langlw 2017-08-31 + */ + @ApiOperation("分组查询停车场占用率") + @PostMapping("/queryParkBerthOccupancyRate") + public BizResultVO> queryParkBerthOccupancyRate( + @RequestBody QueryBerthForPageRequest request) + throws Exception { + logger.info("调用分组查询停车场占用率dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult> result = berthManageService.queryParkOccupancyRate(request); + logger.info("调用分组查询停车场占用率dubbo服务返回信息:request={}"+JSONObject.toJSONString(result)); + return new BizResultVO>(result); + } } diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/parklotmanage/ParkLotManageController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/parklotmanage/ParkLotManageController.java index affb187..089570b 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/parklotmanage/ParkLotManageController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/parklotmanage/ParkLotManageController.java @@ -1,35 +1,52 @@ package com.zteits.irain.portal.web.parkinglotcloudplatform.parklotmanage; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; +import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.util.StringUtil; +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.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.RestController; import com.alibaba.dubbo.common.utils.CollectionUtils; +import com.alibaba.fastjson.JSONObject; import com.clouds.common.cache.park.ParkingLotCacheUtil; import com.clouds.common.entity.UserInfo; import com.clouds.common.utils.ResultUtils; +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.SessionCommUtil; import com.clouds.common.web.vo.BizResultVO; +import com.clouds.common.web.vo.EasyUIDataGridVO; import com.google.common.collect.Lists; import com.google.common.collect.Maps; 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.park.dto.ParkingLotDTO; +import com.zteits.clouds.api.dto.park.param.ParkingLotInfoDeleteRequest; +import com.zteits.clouds.api.dto.park.param.ParkingLotInfoSaveRequest; +import com.zteits.clouds.api.dto.park.param.ParkingLotInfoUpdateRequest; import com.zteits.clouds.api.dto.park.param.QueryParkLotInfoByPkNoRequest; -import com.zteits.clouds.api.dto.pay.param.TdCompanyParkQueryRequest; +import com.zteits.clouds.api.dto.park.param.QueryParkingLotByParkRequest; import com.zteits.clouds.api.service.park.ParkingLotQueryService; +import com.zteits.clouds.api.service.park.ParkingLotService; import com.zteits.clouds.api.service.pay.TdCustCompanyService; import io.swagger.annotations.Api; @@ -53,7 +70,7 @@ import io.swagger.annotations.ApiOperation; @Api(value="停车场管理",description="停车场管理") @RestController @RequestMapping("parkLotManage") -public class ParkLotManageController{ +public class ParkLotManageController extends BizController{ private Logger logger = LoggerFactory.getLogger(ParkLotManageController.class); @Autowired private HttpSession session; @@ -63,6 +80,8 @@ public class ParkLotManageController{ private TdCustCompanyService tdCustCompanyService; @Autowired private ParkingLotQueryService parkingLotQueryService; + @Autowired + private ParkingLotService parkingLotService; /** * 根据登录人权限获取停车场名称列表 * @return @@ -111,4 +130,105 @@ public class ParkLotManageController{ } return plNos; } + /** + * xiejp 2017-08-30 + * @param request + * @return + * @throws Exception + */ + @ApiOperation("分页查询停车场列表") + @PostMapping("/queryParkingLotPageByPark") + public BizResultVO> queryParkingLotByPark(@RequestBody QueryParkingLotByParkRequest request) throws Exception { + logger.info("调用分页获取停车场列表dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + if (request == null) { + throw new BizException(ErrorType.PARAMM_NULL, "请求对象"); + } + BizResult> bizResult = parkingLotQueryService.queryParkingLotByPark(request,request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); + return returnJqGridData(bizResult, ParkingLotDTO.class); + } + /** + * 添加停车场信息 + * @param request + * @return + */ + @ApiOperation("添加停车场信息") + @PostMapping("/saveParkingLotInfo") + public BizResultVO SaveParkingLotInfo(@RequestBody ParkingLotInfoSaveRequest request){ + logger.info("调用添加停车场信息dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult bizResult = parkingLotService.SaveParkingLotInfo(request); + return new BizResultVO(bizResult); + } + /** + * 修改停车场信息 + * @param request + * @return + */ + @ApiOperation("修改停车场信息") + @PostMapping("/updateParkingLotInfo") + public BizResultVO UpdateParkingLotInfo(@RequestBody ParkingLotInfoUpdateRequest request){ + logger.info("调用修改停车场信息dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult bizResult = parkingLotService.UpdateParkingLotInfo(request); + return new BizResultVO(bizResult); + } + /** + * 根据停车场编号查询停车场信息 + * @param request + * @return + */ + @ApiOperation("根据停车场编号查询停车场信息") + @PostMapping("/queryParkingLotByPkNo") + public BizResultVO QueryParkingLotByPkNo(@RequestBody QueryParkLotInfoByPkNoRequest request){ + logger.info("调用根据停车场编号查询停车场信息dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult bizResult = parkingLotQueryService.QueryParkingLotByPkNo(request); + return new BizResultVO(bizResult); + } + /** + * 删除停车场信息 + * @param request + * @return + */ + @ApiOperation("删除停车场信息") + @PostMapping("/deleteParkingLotInfoByPlIds") + public BizResultVO DeleteParkingLotInfoByPlIds(@RequestBody ParkingLotInfoDeleteRequest request){ + logger.info("调用删除停车场信息dubbo服务入参:request={}"+JSONObject.toJSONString(request)); + BizResult bizResult = parkingLotService.DeleteParkingLotInfoByPlIds(request); + return new BizResultVO(bizResult); + } + /** + * 导出 + * @param request + * @param response + * @throws Exception + */ + @ApiOperation("导出停车场信息") + @PostMapping("/parkingToExcleForPage") + public void parkingToExcleForPage(@RequestBody QueryParkingLotByParkRequest request,HttpServletResponse response) throws Exception{ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + BizResult> bizResult = parkingLotQueryService.queryParkingLotByPark(request,0,0); + + String[] title = new String[]{"停车场编号","停车场名称"}; + String sheetName="停车场"; + String fileName = "停车场信息"; + // 1.创建excel信息 + XSSFSheet workSheet = ExcelUtil.createExcel(sheetName); + // 2.设置excel表头和表体 + Layouter.buildReport(workSheet,title,0, 0); + //3.填充数据 + List contentList=new ArrayList(); + List list = bizResult.getData().getDataList(); + for (ParkingLotDTO e: list) { + Object[] obj=new Object[title.length]; + int index=0; + obj[index++]=e.getPlNo(); + obj[index++]=e.getPlName(); + + contentList.add(obj); + } + ExcleFillDateManager fillUserManager=new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet,title,contentList,2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } + }