diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/GeomagneticManagementController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/GeomagneticManagementController.java index 701bc63..1e3e101 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/GeomagneticManagementController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/GeomagneticManagementController.java @@ -3,6 +3,14 @@ */ package com.zteits.irain.portal.web.parkinglotcloudplatform.devicemanagement; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +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; @@ -10,8 +18,13 @@ import org.springframework.beans.factory.annotation.Value; 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.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; @@ -20,8 +33,12 @@ 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.GeomagneticManagementDTO; +import com.zteits.clouds.api.dto.park.dto.ParkingLotDTO; import com.zteits.clouds.api.dto.park.param.GeomagneticManagementRequest; import com.zteits.clouds.api.dto.park.param.NewGeomagneticRecRequest; +import com.zteits.clouds.api.dto.park.param.QueryParkLotInfoByPkNoRequest; +import com.zteits.clouds.api.dto.park.param.QueryParkingLotByParkRequest; +import com.zteits.clouds.api.service.park.BerthManageService; import com.zteits.clouds.api.service.park.GeomagneticManagementService; import io.swagger.annotations.ApiOperation; @@ -41,6 +58,9 @@ public class GeomagneticManagementController extends BizController { @Autowired private GeomagneticManagementService geoMngtSrvc; + @Autowired + private BerthManageService berthManageService; + @ApiOperation("查询地磁管理记录") @PostMapping("records") public BizResultVO> queryGeomaneticManagementRecs ( @@ -62,53 +82,82 @@ public class GeomagneticManagementController extends BizController { @PostMapping("deleteall") public BizResultVO deleteAllQueryedRecs (@RequestBody GeomagneticManagementRequest requestObject) { BizResultVO bizResultVO = new BizResultVO<>(); - BizResult bizResult = null; - - requestObject.setSysCode(sysCode); - try { - bizResult = geoMngtSrvc.deleteAllQueryedRecs(requestObject); - } catch (Exception e) { - e.printStackTrace(); - logger.error(e.toString()); - return bizResultVO.setData(false); - } - + BizResult bizResult = geoMngtSrvc.deleteAllQueryedRecs(requestObject); return bizResultVO.setData(bizResult.getData()); } @ApiOperation("插入一条地磁场记录") @PostMapping("insertone") public BizResultVO insertGeomagneticRecord (@RequestBody NewGeomagneticRecRequest requestObject) { - BizResultVO bizResultVO = new BizResultVO<>(); - BizResult bizResult = null; - - requestObject.setSysCode(sysCode); - - try { - bizResult = geoMngtSrvc.insertGeomagneticRecord(requestObject); - } catch (Exception e) { - logger.error(e.toString()); - e.printStackTrace(); - bizResultVO.setData(new Long(-1)); - } - return bizResultVO.setData(bizResult.getData()); + BizResult bizResult = geoMngtSrvc.insertGeomagneticRecord(requestObject); + return new BizResultVO(bizResult); } @ApiOperation("更新一条地磁场记录") @PostMapping("updateone") public BizResultVO updateGeomagneticRecord (@RequestBody NewGeomagneticRecRequest requestObject) { BizResultVO bizResultVO = new BizResultVO<>(); - BizResult bizResult = null; - - requestObject.setSysCode(sysCode); - try { - bizResult = geoMngtSrvc.updateGeomagneticRecord(requestObject); - } catch (Exception e) { - e.printStackTrace(); - logger.error(e.toString()); - return bizResultVO.setData(false); - } - + BizResult bizResult = geoMngtSrvc.updateGeomagneticRecord(requestObject); + return new BizResultVO(bizResult); + } + @ApiOperation("查询泊位编码") + @PostMapping("getBerthMsgByPlNo") + public BizResultVO> getBerthMsgByPlNo (@RequestBody QueryParkLotInfoByPkNoRequest request) { + BizResultVO> bizResultVO = new BizResultVO<>(); + BizResult> bizResult = berthManageService.getBerthMsgByPlNo(request); return bizResultVO.setData(bizResult.getData()); } + + /** + * 导出 + * @param request + * @param response + * @throws Exception + */ + @ApiOperation("导出地磁信息") + @RequestMapping("/eqpMsgToExcleForPage") + public void eqpMsgToExcleForPage(@RequestParam List plNos,@RequestParam String geomagneticNo + ,@RequestParam String isOnline + ,HttpServletRequest request,HttpServletResponse response) throws Exception{ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + GeomagneticManagementRequest requestObject = new GeomagneticManagementRequest(); + requestObject.setSysCode(sysCode); + requestObject.getBaseRequest().setPageSize(0); + requestObject.setGeomagneticNo(geomagneticNo); + requestObject.setPlNos(plNos); + requestObject.setIsOnline(isOnline); + BizResult> respondObject = geoMngtSrvc.queryGeomagneticManagementRecs(requestObject); + 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 = respondObject.getData().getDataList(); + if(!CollectionUtils.isEmpty(list)){ + for (GeomagneticManagementDTO e: list) { + Object[] obj=new Object[title.length]; + int index=0; + obj[index++]=e.getPlNo(); + obj[index++]=e.getPlName(); + obj[index++]=e.getBerthNo(); + obj[index++]=e.getEqpNo(); + obj[index++]=e.getEqpName(); + obj[index++]=e.getEqpModel(); + obj[index++]=e.getHeartbeatInterval(); + obj[index++]=e.getEqpIsOnline(); + + contentList.add(obj); + } + } + ExcleFillDateManager fillUserManager=new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet,title,contentList,2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } + }