Commit f56768a46015ab044d635377fd4850998df3ce1b

Authored by llw
1 parent 4c27df36

1

src/main/java/com/zteits/irain/portal/web/govclouds/DataGeneralizeController.java
... ... @@ -5,6 +5,7 @@ import java.util.List;
5 5 import java.util.Map;
6 6 import java.util.Map.Entry;
7 7  
  8 +import org.apache.poi.util.StringUtil;
8 9 import org.slf4j.Logger;
9 10 import org.slf4j.LoggerFactory;
10 11 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
15 16 import org.springframework.web.bind.annotation.ResponseBody;
16 17 import org.springframework.web.bind.annotation.RestController;
17 18  
  19 +import com.alibaba.druid.util.StringUtils;
18 20 import com.alibaba.dubbo.common.utils.CollectionUtils;
19 21 import com.alibaba.fastjson.JSONObject;
20 22 import com.clouds.common.cache.park.EqpAndPosStatusSyncCacheUtil;
... ... @@ -28,6 +30,8 @@ import com.zteits.clouds.api.apibase.bean.BizResult;
28 30 import com.zteits.clouds.api.apibase.constants.ErrorType;
29 31 import com.zteits.clouds.api.apibase.exception.BizException;
30 32 import com.zteits.clouds.api.dto.govclouds.ParkTransactionDTO;
  33 +import com.zteits.clouds.api.dto.govclouds.dto.ParkEqpAndPDACountDTO;
  34 +import com.zteits.clouds.api.dto.govclouds.param.QueryParkEqpAndPDACountRequest;
31 35 import com.zteits.clouds.api.dto.park.dto.ParkFreeBerthsCountStatisticByCountryDTO;
32 36 import com.zteits.clouds.api.dto.park.dto.ParkLotCountStatisticByCountryDTO;
33 37 import com.zteits.clouds.api.dto.park.dto.ParkLotEqpTypeCountStatisticByCountryDTO;
... ... @@ -38,6 +42,7 @@ import com.zteits.clouds.api.service.govclouds.ParkTransactionService;
38 42 import com.zteits.clouds.api.service.park.ParkFreeBerthService;
39 43 import com.zteits.clouds.api.service.park.ParkingLotEqpService;
40 44 import com.zteits.clouds.api.service.park.ParkingLotQueryService;
  45 +import com.zteits.clouds.api.service.park.TpPPdaService;
41 46 import com.zteits.irain.portal.vo.govclouds.StatisticParkLotEqpCountByCountryVO;
42 47 import com.zteits.irain.portal.vo.parkinglotdatacenter.BerthSpaceRatioVO;
43 48 import com.zteits.irain.portal.vo.parkinglotdatacenter.BerthSpaceRatioVO.BerthSeriesVO;
... ... @@ -77,6 +82,8 @@ public class DataGeneralizeController {
77 82 private ParkFreeBerthService parkFreeBerthService;
78 83 @Autowired
79 84 private ParkTransactionService parkTransactionService;
  85 + @Autowired
  86 + private TpPPdaService tpPPdaService;
80 87  
81 88 /**
82 89 * 这里用的是@SendToUser,这就是发送给单一客户端的标志。本例中,
... ... @@ -176,7 +183,12 @@ public class DataGeneralizeController {
176 183 }
177 184 return list;
178 185 }
179   -
  186 + /**
  187 + * 分区统计停车场、停车位数量
  188 + * langlw 2017-9-5
  189 + * @param request
  190 + * @return
  191 + */
180 192 @ApiOperation(value="停车场柱图")
181 193 @PostMapping("parkinglotColumnChart")
182 194 @ResponseBody
... ... @@ -363,7 +375,12 @@ public class DataGeneralizeController {
363 375 map.entrySet().forEach(e->{displayCountry.add(e.getValue());});
364 376 return new BizResultVO<List<String>>().setData(displayCountry);
365 377 }
366   -
  378 + /**
  379 + * 车位配比图
  380 + * langlw 2017-9-5
  381 + * @param request
  382 + * @return
  383 + */
367 384 @ApiOperation(value="车位配比图")
368 385 @PostMapping("berthSpaceRatioChart")
369 386 @ResponseBody
... ... @@ -388,4 +405,51 @@ public class DataGeneralizeController {
388 405  
389 406 return new BizResultVO<BerthSpaceRatioVO>().setData(berthSpaceRatioVO);
390 407 }
  408 +
  409 +
  410 +
  411 + @ApiOperation(value="获取停车场设备和PDA在线离线总数")
  412 + @PostMapping("queryParkEqpAndPDACount")
  413 + @ResponseBody
  414 + public BizResultVO<Map<String,ParkEqpAndPDACountDTO>> queryParkEqpAndPDACount(@RequestBody QueryParkEqpAndPDACountRequest request){
  415 + if(null == request.getEqpType() || null == request.getPdaType() || CollectionUtils.isEmpty(request.getPlNos())){
  416 + throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空");
  417 + }
  418 + logger.info("调用dubbo服务,请求入参: request={}", JSONObject.toJSONString(request));
  419 + Map<String,ParkEqpAndPDACountDTO> parkEqpAndPDACountMap = Maps.newHashMap();
  420 + //查询停车场设备
  421 + BizResult<List<ParkEqpAndPDACountDTO>> result = parkingLotEqpService.queryParkEqpCountByPlNosAndEqpType(request);
  422 + logger.info("调用后场dubbo服务,响应为: result={}", JSONObject.toJSONString(result));
  423 + List<ParkEqpAndPDACountDTO> parkEqpList=result.getData();
  424 + //PDA
  425 + if(CollectionUtils.isNotEmpty(parkEqpList)){
  426 + for (ParkEqpAndPDACountDTO dto : parkEqpList) {
  427 + if(null != dto){
  428 + String plNo = StringUtils.isEmpty(dto.getPlNo())?"":dto.getPlNo();
  429 + parkEqpAndPDACountMap.put(plNo, dto);
  430 + }
  431 + }
  432 + }
  433 +
  434 + //查询PDA在线和离线总数
  435 + BizResult<List<ParkEqpAndPDACountDTO>> bizResult = tpPPdaService.queryPDACountByPlNosAndPdaType(request);
  436 + logger.info("调用后场dubbo服务,响应为: result={}", JSONObject.toJSONString(bizResult));
  437 + List<ParkEqpAndPDACountDTO> parkPDACountList=bizResult.getData();
  438 + //PDA
  439 + if(CollectionUtils.isNotEmpty(parkPDACountList)){
  440 + for (ParkEqpAndPDACountDTO dto : parkPDACountList) {
  441 + if(null != dto){
  442 + String plNo = StringUtils.isEmpty(dto.getPlNo())?"":dto.getPlNo();
  443 + if(parkEqpAndPDACountMap.containsKey(plNo)){
  444 + parkEqpAndPDACountMap.get(plNo).setOnlinePDACount(null==dto.getOnlinePDACount()?0:dto.getOnlinePDACount());
  445 + parkEqpAndPDACountMap.get(plNo).setAllPDACount(null==dto.getAllPDACount()?0:dto.getAllPDACount());
  446 + }else{
  447 + parkEqpAndPDACountMap.put(plNo, dto);
  448 + }
  449 + }
  450 + }
  451 + }
  452 +
  453 + return new BizResultVO<Map<String,ParkEqpAndPDACountDTO>>().setData(parkEqpAndPDACountMap);
  454 + }
391 455 }
... ...