diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/PdaController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/PdaController.java new file mode 100644 index 0000000..e6c0a62 --- /dev/null +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/devicemanagement/PdaController.java @@ -0,0 +1,232 @@ +package com.zteits.irain.portal.web.parkinglotcloudplatform.devicemanagement; + +import java.io.IOException; +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; +import org.springframework.beans.factory.annotation.Value; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import com.clouds.common.utils.DateUtil; +import com.clouds.common.utils.excle.ExcelReadUtil; +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.xiaoleilu.hutool.util.CollectionUtil; +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.TpPPdaDTO; +import com.zteits.clouds.api.dto.park.param.TpPPdaRequest; +import com.zteits.clouds.api.dto.park.param.TpPPdaSRequest; +import com.zteits.clouds.api.service.park.TpPPdaService; +import com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic.InOutParkStatisticController; + +import io.swagger.annotations.ApiOperation; + +/** + * PDA管理控制器 + * + * Copyright: Copyright (c) 2017 ZTE-ITS + * + * @ClassName: PdaController.java + * @Description: + * @version: v1.0.0 + * @author: wangbiao + * @date: 2017年8月31日 下午3:05:03 + * Modification History: + * Date Author Version Description + *---------------------------------------------------------* + * 2017年8月31日 wangbiao v1.0.0 创建 + */ +@RestController +public class PdaController extends BizController { + + private static final Logger logger = LoggerFactory.getLogger(InOutParkStatisticController.class); + + @Autowired + private TpPPdaService tpPPdaService; + + @Value("${project.syscode}") + private String sysCode; + + @ApiOperation("PDA信息信息") + @PostMapping("/queryPdaInfo4pabe") + public BizResultVO> queryPdaInfo4pabe(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest request, + HttpServletResponse response){ + BizResult> bizResult = new BizResult>(); + try { + tpPPdaRequest.setSysCode(sysCode); + bizResult = tpPPdaService.queryPdaInfo4pabe(tpPPdaRequest); + if(bizResult.isSuccess()){ + return returnJqGridData(bizResult, TpPPdaDTO.class); + } + } catch (Exception e) { + logger.debug("分页查询pda信息异常:{}",bizResult.getErrMsg()); + } + return new BizResultVO>(); + } + + @ApiOperation("新增PDA信息信息") + @PostMapping("/insertPda") + public BizResultVO insertPda(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest request, + HttpServletResponse response){ + tpPPdaRequest.setSysCode(sysCode); + BizResult bizResult = tpPPdaService.insertPda(tpPPdaRequest); + if(bizResult.isSuccess()){ + return new BizResultVO(bizResult); + }else{ + logger.debug("新增PDA信息信息异常 :{}",bizResult.getErrMsg()); + } + return new BizResultVO(); + } + + @ApiOperation("删除PDA信息信息") + @PostMapping("/deletePda") + public BizResultVO deletePda(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest request, + HttpServletResponse response){ + tpPPdaRequest.setSysCode(sysCode); + BizResult bizResult = tpPPdaService.deletetPda(tpPPdaRequest); + if(bizResult.isSuccess()){ + return new BizResultVO(bizResult); + }else{ + logger.debug("删除PDA信息信息异常 :{}",bizResult.getErrMsg()); + } + return new BizResultVO(); + } + + @ApiOperation("删除PDA信息信息") + @PostMapping("/deleteBatchPda") + public BizResultVO deleteBatchPda(@RequestBody TpPPdaSRequest tpPPdaSRequest, HttpServletRequest request, + HttpServletResponse response){ + tpPPdaSRequest.setSysCode(sysCode); + BizResult bizResult = tpPPdaService.deleteBatchPda(tpPPdaSRequest); + if(bizResult.isSuccess()){ + return new BizResultVO(bizResult); + }else{ + logger.debug("删除PDA信息信息异常 :{}",bizResult.getErrMsg()); + } + return new BizResultVO(); + } + + @ApiOperation("根据id查询PDA信息") + @PostMapping("/queryPdaById") + public BizResultVO queryPdaById(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest request, + HttpServletResponse response){ + tpPPdaRequest.setSysCode(sysCode); + BizResult bizResult = tpPPdaService.queryPdaById(tpPPdaRequest); + if(bizResult.isSuccess()){ + return new BizResultVO(bizResult); + }else{ + logger.debug("根据id查询PDA信息异常 :{}",bizResult.getErrMsg()); + } + return new BizResultVO(); + } + + @ApiOperation("修改PDA信息") + @PostMapping("/updatePda") + public BizResultVO updatePda(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest request, + HttpServletResponse response){ + tpPPdaRequest.setSysCode(sysCode); + BizResult bizResult = tpPPdaService.updatePda(tpPPdaRequest); + if(bizResult.isSuccess()){ + return new BizResultVO(bizResult); + }else{ + logger.debug("修改PDA信息异常 :{}",bizResult.getErrMsg()); + } + return new BizResultVO(); + } + + @ApiOperation("pda信息导出excel") + @GetMapping("exportpdaExcel") + public void exportBerthInfoExcel(@RequestBody TpPPdaRequest tpPPdaRequest, HttpServletRequest requests, HttpServletResponse response) { + tpPPdaRequest.setSysCode(sysCode); + BizResult> list = tpPPdaService.queryPdaInfo(tpPPdaRequest); + String[] title = new String[] { "序号","设备编号", "设备名称", "设备类型", "状态","持有人","资源描述" }; + String sheetName = "PDA信息"; + String fileName = sheetName+DateUtil.getDate(); + // 1.创建excel信息 + XSSFSheet workSheet = ExcelUtil.createExcel(fileName); + // 2.设置excel表头和表体 + Layouter.buildReport(workSheet, title, 0, 0); + // 3.填充数据 + List contentList = new ArrayList(); + int number = 1; + if(list.isSuccess() && CollectionUtil.isNotEmpty(list.getData())){ + for (TpPPdaDTO b : list.getData()) { + Object[] obj = new Object[title.length]; + int index = 0; + obj[index++] = number++; + obj[index++] = b.getId(); + obj[index++] = b.getPdaNo(); + obj[index++] = b.getPdaName(); + obj[index++] = b.getPdaType(); + obj[index++] = b.getPdaStatus(); + obj[index++] = b.getOwnerName(); + obj[index++] = b.getRemark(); + contentList.add(obj); + } + } + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, contentList, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } + + + @ApiOperation("pda信息 导入模板下载") + @GetMapping("exportpdaExcel") + public void exportModelExcel(HttpServletRequest requests, HttpServletResponse response) { + String[] title = new String[] { "设备编号", "设备名称", "设备类型","停车场编号","sim卡号","持有人编号","持有人名称","状态","资源描述" }; + String fileName = "PDA信息导入模板"; + // 1.创建excel信息 + XSSFSheet workSheet = ExcelUtil.createExcel(fileName); + // 2.设置excel表头和表体 + Layouter.buildReport(workSheet, title, 0, 0); + // 3.填充数据 + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, null, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } + + + @PostMapping("/importPda") + public BizResultVO importPda(@RequestParam(value="excelFile") MultipartFile file,HttpServletRequest request) throws IOException{ + if(file==null){ + throw new BizException(ErrorType.PARAMM_NULL, "导入文件不能为空"); + } + //读取Excel数据到List中 + List> list = ExcelReadUtil.readExcel(file); + //list中存的就是excel中的数据,可以根据excel中每一列的值转换成你所需要的值(从0开始),如: + TpPPdaRequest tpPPdaRequest = null; + List padList = Lists.newArrayList(); + for(ArrayList arr:list){ + tpPPdaRequest= new TpPPdaRequest(); + tpPPdaRequest.setPdaNo(arr.get(0)); + padList.add(tpPPdaRequest); + } + TpPPdaSRequest TpPPdaSRequest = new TpPPdaSRequest(); + TpPPdaSRequest.setPadList(padList); + BizResult rsInteger = tpPPdaService.insertBatchPda(TpPPdaSRequest); + return new BizResultVO(rsInteger); + } + +}