Commit 4c27df36aa3f812344ff58c76fbd5a298059f406

Authored by 王彪总
1 parent a18e9a47

11

src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/BillManageController.java deleted
1   -package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic;
2   -
3   -import java.math.BigDecimal;
4   -import java.text.SimpleDateFormat;
5   -import java.util.ArrayList;
6   -import java.util.Date;
7   -import java.util.List;
8   -import java.util.Map;
9   -
10   -import javax.servlet.http.HttpServletRequest;
11   -import javax.servlet.http.HttpServletResponse;
12   -
13   -import org.apache.poi.xssf.usermodel.XSSFSheet;
14   -import org.slf4j.Logger;
15   -import org.slf4j.LoggerFactory;
16   -import org.springframework.beans.factory.annotation.Autowired;
17   -import org.springframework.stereotype.Controller;
18   -import org.springframework.web.bind.annotation.RequestBody;
19   -import org.springframework.web.bind.annotation.RequestMapping;
20   -import org.springframework.web.bind.annotation.RequestMethod;
21   -import org.springframework.web.bind.annotation.ResponseBody;
22   -
23   -import com.alibaba.dubbo.common.utils.StringUtils;
24   -import com.alibaba.fastjson.JSONArray;
25   -import com.alibaba.fastjson.JSONObject;
26   -import com.clouds.common.constants.SessionEnum;
27   -import com.clouds.common.entity.UserInfo;
28   -import com.clouds.common.utils.excle.ExcelUtil;
29   -import com.clouds.common.utils.excle.ExcleFillDateManager;
30   -import com.clouds.common.utils.excle.Layouter;
31   -import com.clouds.common.web.BizController;
32   -import com.clouds.common.web.SessionCommUtil;
33   -import com.zteits.clouds.api.apibase.bean.BizResult;
34   -import com.zteits.clouds.api.apibase.bean.PageBean;
35   -import com.zteits.clouds.api.dto.clouds.dto.BillManageDTO;
36   -import com.zteits.clouds.api.dto.clouds.param.BillQueryRequest;
37   -import com.zteits.clouds.api.dto.pay.param.TdCompanyParkQueryRequest;
38   -import com.zteits.clouds.api.service.clouds.BillManageForDayService;
39   -import com.zteits.clouds.api.service.pay.TdCustCompanyService;
40   -
41   -import io.swagger.annotations.Api;
42   -import io.swagger.annotations.ApiOperation;
43   -
44   -/**
45   - * 日账单controller类.<br/>
46   - *
47   - * Copyright: Copyright (c) 2017 zteits
48   - *
49   - * @ClassName: BillManageController.java
50   - * @Description:
51   - * @version: v1.0.0
52   - * @author: wangfs
53   - * @date: 2017年6月30日 下午1:14:16
54   - * Modification History:
55   - * Date Author Version Description
56   - *---------------------------------------------------------*
57   - * 2017年6月30日 wangfs v1.0.0 创建
58   - */
59   -
60   -@Api(value = "停车场云平台 日账单", description = "停车场云平台 日账单")
61   -@Controller
62   -@RequestMapping("/bill")
63   -public class BillManageController extends BizController {
64   - private Logger logger = LoggerFactory.getLogger(BillManageController.class);
65   - @Autowired
66   - private BillManageForDayService billManageForDayService;
67   -
68   - @Autowired
69   - private TdCustCompanyService tdCustCompanyService;
70   -
71   - @Autowired
72   - private SessionCommUtil sessionCommUtil;
73   -
74   - @Autowired
75   - private Map<String,TdCustCompanyService> map;
76   -
77   - private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
78   -
79   - @ApiOperation("日账汇总单查询")
80   - @RequestMapping("/queryBillforDayForPage")
81   - @ResponseBody
82   - public void queryBillforDayTotalForPage(@RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request,
83   - HttpServletResponse response) throws Exception {
84   - TdCustCompanyService sert = map.get("tdCustCompanyService");
85   - logger.info("---begin--日账汇总单查询调用后场dubbo服务,入参={}", JSONObject.toJSON(billQueryRequest));
86   - System.out.println("seesionId="+request.getSession().getId());
87   - UserInfo userInfo = sessionCommUtil.getUserInfo();
88   - logger.info("从session中获取的用户信息={}" + JSONObject.toJSONString(userInfo));
89   - TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest();
90   - if (userInfo != null) {
91   -
92   - tdCompanyParkQueryRequest.setSysCode(billQueryRequest.getSysCode());
93   - tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds());
94   - tdCompanyParkQueryRequest.setSessionId(request.getSession().getId());
95   - billQueryRequest.setParkIdList(this.queryParkNoByCustIds(tdCompanyParkQueryRequest));
96   - }
97   -
98   - BizResult<PageBean<BillManageDTO>> result = billManageForDayService.queryBillforDayTotalForPage(billQueryRequest);
99   - result.setErrMsg(billQueryRequest.getParkIdList().toString());
100   - logger.info("---end--日账汇总单查询调用后场dubbo服务,结果={}", JSONObject.toJSONString(result));
101   - this.returnJsonDataGrid(response, result);
102   - }
103   -
104   - /**
105   - * 查询日账单.<br/>
106   - *
107   - * @param request
108   - * @param response
109   - * @throws Exception
110   - */
111   - @ApiOperation("日账单查看")
112   - @RequestMapping(value = "/queryBillForDay", method = RequestMethod.POST)
113   - @ResponseBody
114   - public void queryBillForDay(@RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request,
115   - HttpServletResponse response) throws Exception {
116   - BizResult<PageBean<BillManageDTO>> result = new BizResult<PageBean<BillManageDTO>>();
117   - logger.info("---begin---日账单查看调用后场dubbo服务,入参={}", JSONObject.toJSONString(billQueryRequest));
118   - TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest();
119   - UserInfo userInfo = (UserInfo) request.getSession().getAttribute(SessionEnum.USER_INFO.key());
120   - logger.info("从session中获取的用户信息={}" + JSONObject.toJSONString(userInfo));
121   - if (userInfo != null) {
122   -
123   - tdCompanyParkQueryRequest.setSysCode(billQueryRequest.getSysCode());
124   - tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds());
125   - tdCompanyParkQueryRequest.setSessionId(request.getSession().getId());
126   - billQueryRequest.setUserName(userInfo.getName());
127   - billQueryRequest.setParkIdList(this.queryParkNoByCustIds(tdCompanyParkQueryRequest));
128   -
129   - }
130   - result = billManageForDayService.queryBillforDayDeatilPage(billQueryRequest);
131   - logger.info("---end---日账单查看调用后场dubbo服务,结果={}", JSONObject.toJSON(result));
132   -
133   - this.returnJsonDataGrid(response, result);
134   - }
135   -
136   - /**
137   - * 获取登录用户信息.<br/>
138   - * @param request
139   - * @param response
140   - * @throws Exception
141   - */
142   - @RequestMapping(value = "/queryUserInfoForName", method = RequestMethod.POST)
143   - public void queryUserInfoForName( HttpServletRequest request,
144   - HttpServletResponse response) throws Exception {
145   - UserInfo userInfo = (UserInfo) request.getSession().getAttribute(SessionEnum.USER_INFO.key());
146   - this.returnJson(response, userInfo);
147   - }
148   -
149   -
150   -
151   -
152   -
153   - /**
154   - * 日账单导出.<br/>
155   - *
156   - * @param request
157   - * @param response
158   - * @throws Exception
159   - */
160   - @RequestMapping("/exportToExcleForBillForDay")
161   - public void exportToExcleForBillForDay(String sysCode, String beginTime, String endTime, String aliTotalFee ,
162   - String aliDealCount,String wxTotalFee,String wxDealCount,String cashTotalFee,String cashDealCount,
163   - String orderTotalFee,String orderDealCount,
164   - HttpServletRequest request,String parkIds,String userName,
165   - HttpServletResponse response) throws Exception {
166   -
167   - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
168   - //获取session中的用户信息
169   - UserInfo userInfo = sessionCommUtil.getUserInfo();
170   - BillQueryRequest billQueryRequest = new BillQueryRequest();
171   -
172   - billQueryRequest.setBeginTime(format.parse(beginTime));
173   - billQueryRequest.setEndTime(format.parse(endTime));
174   - billQueryRequest.setSysCode(sysCode);
175   - billQueryRequest.getBaseRequest().setPageSize(0);
176   - List<String> parkList= new ArrayList<String>();
177   - if(StringUtils.isNotEmpty(parkIds)){
178   - for(String str :parkIds.split(",")){
179   - if(StringUtils.isNotEmpty(str)){
180   - parkList.add(str.trim());
181   - }
182   - }
183   - }
184   - billQueryRequest.setParkIdList(parkList);
185   - /**查询日账单汇总信息.*/
186   - BizResult<PageBean<BillManageDTO>> result = billManageForDayService.queryBillforDayDeatilPage(billQueryRequest);
187   - String[] titleOne = new String[2];
188   - titleOne[0] = "用户: " + (StringUtils.isNotEmpty(userName) ? userName : "");
189   - titleOne[1] = "时间: "+beginTime+" "+endTime;
190   - String[] titleTwo = new String[] {"","现金", "微信", "支付宝", "合计"};
191   - String[] titleThree = new String[] { "停车场名称", "现金", "微信", "支付宝", "合计"};
192   - String sheetName = "日账单";
193   - String fileName = "日账单管理" + format.format(new Date());
194   -
195   -
196   - // 1.创建excel信息
197   - XSSFSheet workSheet = ExcelUtil.createExcel(sheetName);
198   - // 2.设置excel表头和表体
199   - Layouter.buildBillForDay(workSheet, titleOne, 0, 0);//创建第一行标题
200   - Layouter.buildHeaders(workSheet, titleTwo, 0, 0);//创建第2行标题
201   - Layouter.buildHeaders(workSheet, titleThree, 3, 0);//创建第3行标题
202   - // 3.填充数据
203   - List<Object[]> contentListTwo = new ArrayList<Object[]>();
204   - for(int i = 0;i<2;i++){
205   - Object[] str = new Object[titleTwo.length];
206   - if(i == 0){
207   - str[0] = "交易笔数";
208   - str[1] = (cashDealCount == null ? "0" : cashDealCount);
209   - str[2] = (wxDealCount== null ? "0" : wxDealCount);
210   - str[3] = (aliDealCount== null ? "0" : aliDealCount);
211   - str[4] = (orderDealCount== null ? "0" : orderDealCount);
212   - }else{
213   - str[0] = "总收入(元)";
214   - str[1] = (cashTotalFee == null ? "0" : new BigDecimal(cashTotalFee).divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
215   - str[2] = (wxTotalFee== null ? "0" : new BigDecimal(wxTotalFee).divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
216   - str[3] = (aliTotalFee== null ? "0" : new BigDecimal(aliTotalFee).divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
217   - str[4] = (orderTotalFee== null ? "0" : new BigDecimal(orderTotalFee).divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
218   - }
219   - contentListTwo.add(str);
220   - }
221   - ExcleFillDateManager fillUserManagerTwo = new ExcleFillDateManager();
222   - fillUserManagerTwo.fillSalesOrga(workSheet, titleTwo, contentListTwo, 2); //第2行标题
223   -
224   - //
225   - List<Object[]> contentList = new ArrayList<Object[]>();
226   - if(result != null && result.getData() != null){
227   - List<BillManageDTO> list = result.getData().getDataList();
228   - if(list != null && list.size()>0){
229   - for (int i = 0; i < list.size(); i++) {
230   - BillManageDTO e = list.get(i);
231   - Object[] obj = new Object[titleThree.length];
232   - int index = 0;
233   - obj[index++] = e.getParkName();
234   - obj[index++] = (e.getCashTotalFee()== null ? "0" : e.getCashTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
235   - obj[index++] = (e.getWxTotalFee()== null ? "0" : e.getWxTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
236   - obj[index++] = (e.getAliTotalFee()== null ? "0" : e.getAliTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
237   - obj[index++] = (e.getAliTotalFee()== null ? "0" : e.getAliTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ;
238   - contentList.add(obj);
239   - }
240   - }
241   - }
242   -
243   - ExcleFillDateManager fillUserManager = new ExcleFillDateManager();
244   - fillUserManager.fillSalesOrga(workSheet, titleThree, contentList, 5);
245   - // 4.excel输出配置
246   - ExcelUtil.write(response, workSheet, fileName);
247   -
248   -
249   - }
250   -
251   - /**
252   - * 通过session信息获取停车场编码.<br/>
253   - *
254   - * @param billQueryRequest
255   - * @param userInfo
256   - * @return
257   - * @throws Exception
258   - */
259   - private List<String> queryParkNoByCustIds(TdCompanyParkQueryRequest tdCompanyParkQueryRequest) throws Exception {
260   - /** 查询停车场编码. */
261   - BizResult<List<String>> parkNoResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest);
262   - if (parkNoResult.isSuccess() && parkNoResult != null && parkNoResult.getData() != null) {
263   - logger.info("根据登录获取到对应的停车场编码=" + JSONArray.toJSONString(parkNoResult.getData()));
264   - return parkNoResult.getData();
265   - } else {
266   - logger.info("根据登录用户没有获取到对应的停车场编码");
267   - return null;
268   - }
269   -
270   - }
271   -
272   -
273   -
274   -}
src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/ParkLotStatisticController.java deleted
1   -package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic;
2   -
3   -import java.util.List;
4   -import java.util.Map;
5   -
6   -import javax.servlet.http.HttpSession;
7   -
8   -import org.apache.commons.lang3.StringUtils;
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.PostMapping;
13   -import org.springframework.web.bind.annotation.RequestMapping;
14   -import org.springframework.web.bind.annotation.RequestParam;
15   -import org.springframework.web.bind.annotation.RestController;
16   -
17   -import com.alibaba.dubbo.common.utils.CollectionUtils;
18   -import com.clouds.common.cache.park.ParkingLotCacheUtil;
19   -import com.clouds.common.entity.UserInfo;
20   -import com.clouds.common.utils.ResultUtils;
21   -import com.clouds.common.web.SessionCommUtil;
22   -import com.clouds.common.web.vo.BizResultVO;
23   -import com.google.common.collect.Lists;
24   -import com.zteits.clouds.api.apibase.bean.BizResult;
25   -import com.zteits.clouds.api.apibase.constants.ErrorType;
26   -import com.zteits.clouds.api.apibase.exception.BizException;
27   -import com.zteits.clouds.api.dto.park.dto.ParkingLotDTO;
28   -import com.zteits.clouds.api.dto.park.param.ParkFreeBerthGetByPlnoRequest;
29   -import com.zteits.clouds.api.dto.park.param.QueryParkLotInfoByPkNoRequest;
30   -import com.zteits.clouds.api.dto.pay.param.TdCompanyParkQueryRequest;
31   -import com.zteits.clouds.api.service.park.ParkFreeBerthService;
32   -import com.zteits.clouds.api.service.park.ParkingLotQueryService;
33   -import com.zteits.clouds.api.service.pay.TdCustCompanyService;
34   -import com.zteits.irain.portal.vo.govclouds.ParkLotStatisticVO;
35   -import com.zteits.irain.portal.web.parkinglotcloudplatform.parklotmanage.ParkLotManageController;
36   -
37   -import io.swagger.annotations.Api;
38   -import io.swagger.annotations.ApiOperation;
39   -/**
40   - *
41   - * Copyright: Copyright (c) 2017 zteits
42   - *
43   - * @ClassName: ParkLotStatisticController.java
44   - * @Description:
45   - * @version: v1.0.0
46   - * @author: zhaowg
47   - * @date: 2017年8月7日 下午5:21:16
48   - * Modification History:
49   - * Date Author Version Description
50   - *---------------------------------------------------------*
51   - * 2017年8月7日 zhaowg v1.0.0 创建
52   - */
53   -
54   -@Api("停车场信息统计")
55   -@RestController
56   -@RequestMapping("parklotstatistic")
57   -public class ParkLotStatisticController {
58   - private Logger logger = LoggerFactory.getLogger(ParkLotManageController.class);
59   - @Autowired
60   - private HttpSession session;
61   - @Autowired
62   - private SessionCommUtil sessionCommUtil;
63   - @Autowired
64   - private TdCustCompanyService tdCustCompanyService;
65   - @Autowired
66   - private ParkingLotQueryService parkingLotQueryService;
67   - @Autowired
68   - private ParkFreeBerthService parkFreeBerthService;
69   -
70   - @ApiOperation("获取停车场信息统计")
71   - @PostMapping("getParkLotStatistic")
72   - public BizResultVO<List<ParkLotStatisticVO>> getParkLotStatistic(@RequestParam String sysCode) throws Exception{
73   - List<ParkLotStatisticVO> result = Lists.newArrayList();
74   - //拥有的停车场编号
75   - List<String> plNos = this.GetParkLotNosByCurrUser(sysCode);
76   - //查询对应的停车场信息
77   - if(CollectionUtils.isEmpty(plNos)){
78   - return new BizResultVO<List<ParkLotStatisticVO>>().setData(result);
79   - }
80   - //空闲车位数
81   - ParkFreeBerthGetByPlnoRequest request = new ParkFreeBerthGetByPlnoRequest();
82   - request.setPlNos(plNos);
83   - request.setSysCode(sysCode);
84   - BizResult<Map<String, Integer>> freeBerthsNumBizResult = parkFreeBerthService.getParkFreeBerthByPlno(request );
85   - Map<String, Integer> freeBerthsNumMap = ResultUtils.getBizResultData(freeBerthsNumBizResult);
86   - for (String plNo : plNos) {
87   - //先查询缓存
88   - ParkingLotDTO lotDTO = ParkingLotCacheUtil.getParkLotByPlNo(plNo);
89   - if(lotDTO == null){
90   - //查询数据库
91   - QueryParkLotInfoByPkNoRequest request1 = new QueryParkLotInfoByPkNoRequest();
92   - request1.setSysCode(sysCode);
93   - request1.setPklNo(plNo);
94   - BizResult<ParkingLotDTO> bizResult2 = parkingLotQueryService.QueryParkingLotByPkNo(request1);
95   - lotDTO = ResultUtils.getBizResultData(bizResult2);
96   - }
97   - if(lotDTO == null || StringUtils.isBlank(lotDTO.getPlName()) || lotDTO.getPlName().equals("null")){
98   - continue;
99   - }
100   - ParkLotStatisticVO lotStatisticVO = new ParkLotStatisticVO();
101   - lotStatisticVO.setPlNo(plNo);
102   - lotStatisticVO.setPlName(lotDTO.getPlName());
103   - lotStatisticVO.setFreeBerthsNum(freeBerthsNumMap.get(plNo));
104   - lotStatisticVO.setTotalBerthsNum(lotDTO.getPlBerthNum());
105   - lotStatisticVO.setUseingBerthsNum(lotDTO.getPlBerthNum()-freeBerthsNumMap.get(plNo));
106   - //设置地磁在线离线数量
107   - //TODO 临时方案,只有红山区有数据
108   - result.add(lotStatisticVO);
109   - }
110   - return new BizResultVO<List<ParkLotStatisticVO>>().setData(result);
111   - }
112   -
113   - private List<String> GetParkLotNosByCurrUser(String sysCode) throws Exception {
114   - logger.info("根据登录人权限获取停车场列表");
115   - List<String> plNos = Lists.newArrayList();
116   - //2.调用接口查询当前登录人管辖的停车场名称
117   - plNos.add("A320211000");
118   - plNos.add("B1504020C7");
119   - /*UserInfo userInfo = sessionCommUtil.getUserInfo();
120   - if(userInfo!=null){
121   - TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest();
122   - tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds());
123   - tdCompanyParkQueryRequest.setSysCode(sysCode);
124   - tdCompanyParkQueryRequest.setSessionId(session.getId());
125   - BizResult<List<String>> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest );
126   - plNos = ResultUtils.getBizResultData(bizResult);
127   - }else{
128   - throw new BizException(ErrorType.AUTH_TOKEN_NOT_EXISTS);
129   - }*/
130   - return plNos;
131   - }
132   -}
src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/VehicleFlowStatisticController.java deleted
1   -package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic;
2   -
3   -import java.sql.Timestamp;
4   -import java.text.SimpleDateFormat;
5   -import java.util.ArrayList;
6   -import java.util.Calendar;
7   -import java.util.Date;
8   -import java.util.List;
9   -import java.util.Map;
10   -import java.util.Map.Entry;
11   -
12   -import javax.servlet.http.HttpServletRequest;
13   -import javax.servlet.http.HttpServletResponse;
14   -import javax.servlet.http.HttpSession;
15   -
16   -import org.apache.poi.xssf.usermodel.XSSFSheet;
17   -import org.slf4j.Logger;
18   -import org.slf4j.LoggerFactory;
19   -import org.springframework.beans.factory.annotation.Autowired;
20   -import org.springframework.beans.factory.annotation.Value;
21   -import org.springframework.stereotype.Controller;
22   -import org.springframework.web.bind.annotation.GetMapping;
23   -import org.springframework.web.bind.annotation.PostMapping;
24   -import org.springframework.web.bind.annotation.RequestBody;
25   -import org.springframework.web.bind.annotation.RequestMapping;
26   -import org.springframework.web.bind.annotation.RequestParam;
27   -import org.springframework.web.bind.annotation.ResponseBody;
28   -
29   -import com.alibaba.dubbo.common.utils.CollectionUtils;
30   -import com.alibaba.fastjson.JSON;
31   -import com.alibaba.fastjson.JSONObject;
32   -import com.clouds.common.entity.UserInfo;
33   -import com.clouds.common.utils.DateUtil;
34   -import com.clouds.common.utils.ResultUtils;
35   -import com.clouds.common.utils.excle.ExcelUtil;
36   -import com.clouds.common.utils.excle.ExcleFillDateManager;
37   -import com.clouds.common.utils.excle.Layouter;
38   -import com.clouds.common.web.BizController;
39   -import com.clouds.common.web.SessionCommUtil;
40   -import com.clouds.common.web.vo.BizResultVO;
41   -import com.clouds.common.web.vo.EasyUIDataGridVO;
42   -import com.google.common.collect.Lists;
43   -import com.google.common.collect.Maps;
44   -import com.zteits.clouds.api.apibase.bean.BaseInfo;
45   -import com.zteits.clouds.api.apibase.bean.BizResult;
46   -import com.zteits.clouds.api.apibase.bean.PageBean;
47   -import com.zteits.clouds.api.apibase.constants.ErrorType;
48   -import com.zteits.clouds.api.apibase.exception.BizException;
49   -import com.zteits.clouds.api.dto.park.dto.ParkingLotUseStatisticDTO;
50   -import com.zteits.clouds.api.dto.park.dto.ParkingLotUseStatisticMaxAndMinDTO;
51   -import com.zteits.clouds.api.dto.park.param.ParkingLotUseStatisticForPageRequest;
52   -import com.zteits.clouds.api.dto.pay.param.TdCompanyParkQueryRequest;
53   -import com.zteits.clouds.api.service.park.ParkingLotUseStatisticService;
54   -import com.zteits.clouds.api.service.pay.TdCustCompanyService;
55   -import com.zteits.irain.portal.constant.ParkConstant;
56   -import com.zteits.irain.portal.vo.parkinglotcloudplatform.datastatistic.BerthsAndFlowLineChartVO;
57   -import com.zteits.irain.portal.vo.parkinglotcloudplatform.datastatistic.LineChartVO;
58   -import com.zteits.irain.portal.vo.parkinglotcloudplatform.datastatistic.LineChartVO.SerieVO;
59   -
60   -import io.swagger.annotations.Api;
61   -import io.swagger.annotations.ApiOperation;
62   -
63   -/**
64   - *
65   - * 停车场车流量数据统计 Copyright: Copyright (c) 2017 zteits
66   - *
67   - * @ClassName: ParkingLotUseStatisticController.java
68   - * @Description:
69   - * @version: v1.0.0
70   - * @author: langlw
71   - * @date: 2017年6月14日 下午3:02:39 Modification History: Date Author Version
72   - * Description ---------------------------------------------------------*
73   - * 2017年6月14日 langlw v1.0.0 创建
74   - */
75   -@Api(value = "停车场车流量数据统计", description = "停车场车流量数据统计")
76   -@Controller
77   -@RequestMapping(value = "/VehicleFlowStatistic")
78   -public class VehicleFlowStatisticController extends BizController {
79   - private Logger logger = LoggerFactory.getLogger(VehicleFlowStatisticController.class);
80   -
81   - @Value("${project.syscode}")
82   - private String sysCode;
83   -
84   - @Autowired
85   - private ParkingLotUseStatisticService parkingLotStatisticService;
86   - @Autowired
87   - private HttpSession session;
88   - @Autowired
89   - private SessionCommUtil sessionCommUtil;
90   - @Autowired
91   - private TdCustCompanyService tdCustCompanyService;
92   -
93   - @ApiOperation("分页查询车流量数据统计车位总流量")
94   - @PostMapping("getVehicleFlowStatisticForPage")
95   - @ResponseBody
96   - public BizResultVO<EasyUIDataGridVO<ParkingLotUseStatisticDTO>> queryParkingLotUseStatisticForPage(
97   - @RequestBody ParkingLotUseStatisticForPageRequest request) throws Exception {
98   - if (null == request.getBeginTime() || null==request.getEndTime()) {
99   - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间");
100   - }
101   - Calendar beginc = Calendar.getInstance();
102   - beginc.setTime(request.getBeginTime());
103   - int beginYear = beginc.get(Calendar.YEAR);
104   - int beginMonth = beginc.get(Calendar.MONTH) + 1;
105   - int beginDay = beginc.get(Calendar.DAY_OF_MONTH);
106   -
107   - Calendar endc = Calendar.getInstance();
108   - endc.setTime(request.getEndTime());
109   - int endYear = endc.get(Calendar.YEAR);
110   - int endMonth = endc.get(Calendar.MONTH) + 1;
111   - int endDay = endc.get(Calendar.DAY_OF_MONTH);
112   -
113   - if (beginYear == endYear && beginMonth == endMonth && beginDay == endDay) {
114   - // 2表示按每小时统计
115   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR);
116   - } else {
117   - // 3表示按每天统计
118   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1DAY);
119   - }
120   -
121   - BizResult<PageBean<ParkingLotUseStatisticDTO>> bizResult = parkingLotStatisticService
122   - .queryParkingLotUseStatisticForPage(request);
123   - return returnJqGridData(bizResult, ParkingLotUseStatisticDTO.class);
124   - }
125   -
126   - @ApiOperation("查询车流量最大值与最小值")
127   - @PostMapping("getVehicleFlowMaxAndMin")
128   - @ResponseBody
129   - public BizResultVO<ParkingLotUseStatisticMaxAndMinDTO> QueryParkingLotUseStatisticMaxAndMin(
130   - @RequestBody ParkingLotUseStatisticForPageRequest request) {
131   - Calendar beginc = Calendar.getInstance();
132   - beginc.setTime(request.getBeginTime());
133   - int beginYear = beginc.get(Calendar.YEAR);
134   - int beginMonth = beginc.get(Calendar.MONTH) + 1;
135   - int beginDay = beginc.get(Calendar.DAY_OF_MONTH);
136   -
137   - Calendar endc = Calendar.getInstance();
138   - endc.setTime(request.getEndTime());
139   - int endYear = endc.get(Calendar.YEAR);
140   - int endMonth = endc.get(Calendar.MONTH) + 1;
141   - int endDay = endc.get(Calendar.DAY_OF_MONTH);
142   -
143   - if (beginYear == endYear && beginMonth == endMonth && beginDay == endDay) {
144   - // 2表示按每小时统计
145   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR);
146   - } else {
147   - // 3表示按每天统计
148   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1DAY);
149   - }
150   - BizResult<ParkingLotUseStatisticMaxAndMinDTO> bizResult = parkingLotStatisticService
151   - .QueryVehicleFlowStatisticMaxAndMin(request);
152   - return new BizResultVO<>(bizResult);
153   - }
154   -
155   - @ApiOperation("导出车流量数据统计excel")
156   - @GetMapping("exportVehicleFlowStatisticExcel")
157   - public void excelParkingLotUseStatistic(@RequestParam String beginTime, @RequestParam String endTime,
158   - @RequestParam String plNos, HttpServletRequest requests, HttpServletResponse response) {
159   - ParkingLotUseStatisticForPageRequest request = new ParkingLotUseStatisticForPageRequest();
160   - request.setSysCode(sysCode);
161   - request.setBeginTime(DateUtil.to_date(beginTime, DateUtil.DATETIME_FORMAT));
162   - request.setEndTime(DateUtil.to_date(endTime, DateUtil.DATETIME_FORMAT));
163   - List<String> plNoslist = new ArrayList<>();
164   - plNoslist.add(plNos);
165   - request.setPlNos(plNoslist);
166   - request.setBaseRequest(new BaseInfo(1, 0));
167   - Calendar beginc = Calendar.getInstance();
168   - beginc.setTime(request.getBeginTime());
169   - int beginYear = beginc.get(Calendar.YEAR);
170   - int beginMonth = beginc.get(Calendar.MONTH) + 1;
171   - int beginDay = beginc.get(Calendar.DAY_OF_MONTH);
172   -
173   - Calendar endc = Calendar.getInstance();
174   - endc.setTime(request.getEndTime());
175   - int endYear = endc.get(Calendar.YEAR);
176   - int endMonth = endc.get(Calendar.MONTH) + 1;
177   - int endDay = endc.get(Calendar.DAY_OF_MONTH);
178   -
179   - if (beginYear == endYear && beginMonth == endMonth && beginDay == endDay) {
180   - // 2表示按每小时统计
181   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR);
182   - } else {
183   - // 3表示按每天统计
184   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1DAY);
185   - }
186   - BizResult<PageBean<ParkingLotUseStatisticDTO>> bizResult = parkingLotStatisticService
187   - .queryParkingLotUseStatisticForPage(request);
188   - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
189   - SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
190   - String[] title = new String[] { "时间", "总车流量", "临时车流量", "固定车流量" };
191   - String sheetName = "车流量管理";
192   - String fileName = "车流量管理" + format2.format(new Date());
193   - // 1.创建excel信息
194   - XSSFSheet workSheet = ExcelUtil.createExcel(sheetName);
195   - // 2.设置excel表头和表体
196   - Layouter.buildReport(workSheet, title, 0, 0);
197   - // 3.填充数据
198   - List<Object[]> contentList = new ArrayList<Object[]>();
199   - List<ParkingLotUseStatisticDTO> list = new ArrayList<>();
200   - if (CollectionUtils.isNotEmpty(bizResult.getData().getDataList())) {
201   - list = bizResult.getData().getDataList();
202   - }
203   - for (ParkingLotUseStatisticDTO e : list) {
204   - Object[] obj = new Object[title.length];
205   - int index = 0;
206   - obj[index++] = format.format(e.getStatisticBeginTime());
207   - obj[index++] = e.getVehicleFlow();
208   - obj[index++] = e.getTmpVehicleFlow();
209   - obj[index++] = e.getFixVehicleFlow();
210   - contentList.add(obj);
211   - }
212   - ExcleFillDateManager fillUserManager = new ExcleFillDateManager();
213   - fillUserManager.fillSalesOrga(workSheet, title, contentList, 2);
214   - // 4.excel输出配置
215   - ExcelUtil.write(response, workSheet, fileName);
216   - }
217   -
218   - /**
219   - * 根据时间获取车流量折线图
220   - *
221   - * @param request
222   - * @return
223   - * @throws Exception
224   - */
225   - @ApiOperation("根据时间获取车流量折线图")
226   - @PostMapping("getVehicleFlowForLineChart")
227   - @ResponseBody
228   - public BizResultVO<LineChartVO> getVehicleFlowForLineChart(
229   - @RequestBody ParkingLotUseStatisticForPageRequest request) throws Exception {
230   -
231   - if (null == request.getBeginTime() || null==request.getEndTime()) {
232   - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间");
233   - }
234   - //2.调用接口查询当前登录人管辖的停车场名称
235   - UserInfo userInfo = sessionCommUtil.getUserInfo();
236   - List<String> plNos = new ArrayList<>();
237   - if(userInfo!=null){
238   - TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest();
239   - tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds());
240   - tdCompanyParkQueryRequest.setSessionId(session.getId());
241   - tdCompanyParkQueryRequest.setSysCode(sysCode);
242   - BizResult<List<String>> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest);
243   - //拥有的停车场编号
244   - plNos = ResultUtils.getBizResultData(bizResult);
245   - }
246   - if(CollectionUtils.isEmpty(plNos)){
247   - throw new BizException(ErrorType.PARK_LOT_NOT_EXISTS, "停车场plnos不存在");
248   - }
249   - request.setPlNos(plNos);
250   -
251   - logger.info("根据停车场编号获取该停车场今日车流量和车位折线图");
252   - Calendar beginTime = Calendar.getInstance();
253   - beginTime.setTime(request.getBeginTime());
254   -
255   - Calendar endTime = Calendar.getInstance();
256   - endTime.setTime(request.getEndTime());
257   -
258   - Long dayDifference = DateUtil.getTimeDifference(new Timestamp(request.getEndTime().getTime()),
259   - new Timestamp(request.getBeginTime().getTime()));
260   - List<String> xAxisData = Lists.newArrayList();
261   - request.setBaseRequest(new BaseInfo(1, 0));
262   - String dateType="";
263   -
264   - if (dayDifference == 0L) {
265   - // 20分钟为一个时间戳
266   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER20MINUTE);
267   - int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY) * 3;
268   - for (int i = 0; i < totaltimestampCount; i++) {
269   - String hour = String.format("%02d", (i / 3));
270   - String minute = String.format("%02d", (i % 3) * 20);
271   - xAxisData.add(hour + ":" + minute);
272   - }
273   - dateType="HH:mm";
274   - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType);
275   - return new BizResultVO<LineChartVO>().setData(vehicleFlows);
276   -
277   - } else if (dayDifference <= 3L) {
278   - // 1小时为一个时间戳
279   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1HOUR);
280   - int totaltimestampCount = endTime.get(Calendar.HOUR_OF_DAY);
281   - String day = "";
282   - String month = "";
283   - for (int i = 0; i < dayDifference.intValue(); i++) {
284   - beginTime.add(Calendar.DAY_OF_MONTH, 1);
285   - int beginMonth = beginTime.get(Calendar.MONTH) + 1;
286   - int beginDay = beginTime.get(Calendar.DAY_OF_MONTH);
287   - month = String.format("%02d", (beginMonth));
288   - day = String.format("%02d", (beginDay));
289   - for (int j = 0; j < totaltimestampCount; j++) {
290   - String hour = String.format("%02d", (j));
291   - xAxisData.add(month + "-" + day + " " + hour);
292   - }
293   - }
294   - dateType="MM-dd HH";
295   - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType);
296   - return new BizResultVO<LineChartVO>().setData(vehicleFlows);
297   -
298   - } else {
299   - // 1天为一个时间戳
300   - request.setQueryKind(ParkConstant.ParkingLotUseStatistic.StatisticType.PER1DAY);
301   - for (int i = 0; i < dayDifference.intValue(); i++) {
302   - beginTime.add(Calendar.DAY_OF_MONTH, 1);
303   - int beginMonth = beginTime.get(Calendar.MONTH) + 1;
304   - int beginDay = beginTime.get(Calendar.DAY_OF_MONTH);
305   - String month = String.format("%02d", (beginMonth));
306   - String day = String.format("%02d", (beginDay));
307   - xAxisData.add(month + "-" + day);
308   -
309   - }
310   - dateType="MM-dd";
311   - LineChartVO vehicleFlows=getVehicleFlows(request, xAxisData, dateType);
312   - return new BizResultVO<LineChartVO>().setData(vehicleFlows);
313   -
314   - }
315   -
316   - }
317   -
318   -
319   - private LineChartVO getVehicleFlows(ParkingLotUseStatisticForPageRequest request,
320   - List<String> xAxisData,String dateType){
321   - // 调用后场服务
322   - logger.info("调用DUBBO服务入参:" + JSON.toJSONString(request));
323   - BizResult<PageBean<ParkingLotUseStatisticDTO>> bizResult = parkingLotStatisticService
324   - .queryParkingLotUseStatisticForPage(request);
325   - PageBean<ParkingLotUseStatisticDTO> pageBean = ResultUtils.getBizResultData(bizResult);
326   - List<ParkingLotUseStatisticDTO> useStatisticDTOs = Lists.newArrayList();
327   - if (pageBean != null) {
328   - useStatisticDTOs = pageBean.getDataList();
329   - }
330   -
331   - // 保存固定车流量,时间戳和车流量对应关系
332   - Map<String, Integer> fixVehicleFlowMap = Maps.newHashMap();
333   - // 保存临时车流量,时间戳和车流量对应关系
334   - Map<String, Integer> tmpVehicleFlowMap = Maps.newHashMap();
335   - // 停车场编号和名称对应关系
336   - Map<String, String> parkNameMap = Maps.newHashMap();
337   - // 通过停车场,和统计时间分组
338   - // Map<String, Map<String, Double>> parkLotMap = Maps.newHashMap();
339   - if (!CollectionUtils.isEmpty(useStatisticDTOs)) {
340   - for (ParkingLotUseStatisticDTO statisticDTO : useStatisticDTOs) {
341   - String key = statisticDTO.getPlNo();
342   - parkNameMap.put(key, statisticDTO.getPlName());
343   - String statisBeginTime = DateUtil.getDateString(statisticDTO.getStatisticBeginTime(), dateType);
344   - //保存固定车流量和临时车流量
345   - fixVehicleFlowMap.put(statisBeginTime, (fixVehicleFlowMap.get(statisBeginTime)==null?0:fixVehicleFlowMap.get(statisBeginTime))+statisticDTO.getFixVehicleFlow());
346   - tmpVehicleFlowMap.put(statisBeginTime, (tmpVehicleFlowMap.get(statisBeginTime)==null?0:tmpVehicleFlowMap.get(statisBeginTime))+statisticDTO.getTmpVehicleFlow());
347   - }
348   - }
349   -
350   - // 封装车流量统计
351   - LineChartVO vehicleFlows = new LineChartVO();
352   - List<String> vehicleFlows_legendData = Lists.newArrayList();
353   - vehicleFlows_legendData.add("临时车");
354   - vehicleFlows_legendData.add("固定车");
355   - vehicleFlows.setLegendData(vehicleFlows_legendData);
356   - vehicleFlows.setxAxisData(xAxisData);
357   - List<SerieVO> vehicleSeries = Lists.newArrayList();
358   - // 固定车
359   - SerieVO fixSerieVo = new SerieVO();
360   - fixSerieVo.setName("固定车");
361   - List<Integer> fixSerieVoData = Lists.newArrayList();
362   - // 临时车
363   - SerieVO tmpSerieVo = new SerieVO();
364   - tmpSerieVo.setName("临时车");
365   - List<Integer> tmpSerieVoData = Lists.newArrayList();
366   - // 保存上一次的临时车值,当某个时间点没有数据时,则保持和上次一致
367   - Integer lastfixFlow = 0;
368   - Integer lasttmpFlow = 0;
369   - for (String timestamp : xAxisData) {
370   -
371   - if (fixVehicleFlowMap.containsKey(timestamp)) {
372   - lastfixFlow = fixVehicleFlowMap.get(timestamp).intValue();
373   - }else{
374   - lastfixFlow =0;
375   - }
376   - fixSerieVoData.add(lastfixFlow);
377   -
378   - if (tmpVehicleFlowMap.containsKey(timestamp)) {
379   - lasttmpFlow = tmpVehicleFlowMap.get(timestamp).intValue();
380   - }else{
381   - lasttmpFlow = 0;
382   - }
383   - tmpSerieVoData.add(lasttmpFlow);
384   - }
385   - fixSerieVo.setData(fixSerieVoData);
386   - vehicleSeries.add(fixSerieVo);
387   - tmpSerieVo.setData(tmpSerieVoData);
388   - vehicleSeries.add(tmpSerieVo);
389   -
390   - vehicleFlows.setSeries(vehicleSeries);
391   - return vehicleFlows;
392   - }
393   -
394   - public static void main(String[] args) {
395   - String json="{\"id\":\"1\",\"platform\":\"android\",\"parameter\":{\"drid\":\"177277364\",\"sex\":\"1\",\"type\":\"2\",\"creatorname\":\"Mrw\",\"username\":\"jack\",\"pwd\":\"123456\",\"remark\":\"平板用户\",\"createtime\":\"2017-07-24 23:59:59\"}}";
396   - JSONObject object =(JSONObject)JSONObject.parse(json);
397   - System.out.println(object.get("id"));
398   - System.out.println(object.get("platform"));
399   - JSONObject parameter =(JSONObject)object.get("parameter");
400   - System.out.println(parameter.get("drid"));
401   - System.out.println(parameter.get("sex"));
402   - }
403   -
404   -
405   -}
src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/YearMonthCardStatisticController.java deleted
1   -package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic;
2   -
3   -import java.text.SimpleDateFormat;
4   -import java.util.ArrayList;
5   -import java.util.Date;
6   -import java.util.List;
7   -
8   -import javax.servlet.http.HttpServletRequest;
9   -import javax.servlet.http.HttpServletResponse;
10   -
11   -import com.alibaba.dubbo.common.utils.CollectionUtils;
12   -import com.alibaba.fastjson.JSON;
13   -
14   -import com.clouds.common.utils.excle.ExcelUtil;
15   -import com.clouds.common.utils.excle.ExcleFillDateManager;
16   -import com.clouds.common.utils.excle.Layouter;
17   -import com.clouds.common.web.BizController;
18   -import com.clouds.common.web.vo.BizResultVO;
19   -import com.clouds.common.web.vo.EasyUIDataGridVO;
20   -import com.zteits.clouds.api.apibase.bean.BaseInfo;
21   -import com.zteits.clouds.api.apibase.bean.BizResult;
22   -import com.zteits.clouds.api.apibase.bean.PageBean;
23   -import com.zteits.clouds.api.apibase.constants.ErrorType;
24   -import com.zteits.clouds.api.apibase.exception.BizException;
25   -import com.zteits.clouds.api.dto.clouds.dto.YearMonthCardStatisticDTO;
26   -import com.zteits.clouds.api.dto.clouds.dto.YearMonthCardStatisticSumDTO;
27   -import com.zteits.clouds.api.dto.pay.param.YearMonthCardStatisticRequest;
28   -import com.zteits.clouds.api.service.clouds.YearMonthCardStatisticService;
29   -import io.swagger.annotations.Api;
30   -import io.swagger.annotations.ApiOperation;
31   -import org.apache.poi.xssf.usermodel.XSSFSheet;
32   -import org.slf4j.Logger;
33   -import org.slf4j.LoggerFactory;
34   -import org.springframework.beans.factory.annotation.Autowired;
35   -import org.springframework.beans.factory.annotation.Value;
36   -import org.springframework.web.bind.annotation.GetMapping;
37   -import org.springframework.web.bind.annotation.PostMapping;
38   -import org.springframework.web.bind.annotation.RequestBody;
39   -import org.springframework.web.bind.annotation.RequestMapping;
40   -import org.springframework.web.bind.annotation.RequestParam;
41   -import org.springframework.web.bind.annotation.ResponseBody;
42   -import org.springframework.web.bind.annotation.RestController;
43   -
44   -/**
45   - * 企业云平台->数据统计->年卡月卡统计。
46   - *
47   - * Copyright: Copyright (c) 2017 zteits
48   - *
49   - * @ClassName: InOutParkStatisticController.java
50   - * @Description:
51   - * @version: v1.0.0
52   - * @author: langlw
53   - * @date: 2017年7月26日 上午11:30:04
54   - * Modification History:
55   - * Date Author Version Description
56   - * ---------------------------------------------------------*
57   - * 2017年7月26日 langlw v1.0.0 创建
58   - */
59   -@Api(value = "企业云平台->数据统计->年卡月卡统计", description = "企业云平台->数据统计->年卡月卡统计")
60   -@RestController
61   -@RequestMapping(value = "/yearMonthCardStatistic")
62   -public class YearMonthCardStatisticController extends BizController {
63   -
64   - private static final Logger logger = LoggerFactory.getLogger(InOutParkStatisticController.class);
65   -
66   - @Value("${project.syscode}")
67   - private String sysCode;
68   - @Autowired
69   - private YearMonthCardStatisticService yearMonthCardStatisticService;
70   -
71   - @ApiOperation("年卡月卡统计")
72   - @PostMapping("queryYearMonthCardStatistic")
73   - @ResponseBody
74   - public BizResultVO<EasyUIDataGridVO<YearMonthCardStatisticDTO>> queryYearMonthCardStatistic(
75   - @RequestBody YearMonthCardStatisticRequest request) throws Exception {
76   - logger.info("调用DUBBO服务入参:" + JSON.toJSONString(request));
77   - if (null == request.getBeginTime() || null == request.getEndTime()) {
78   - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间");
79   - }
80   - BizResult<PageBean<YearMonthCardStatisticDTO>> bizResult = yearMonthCardStatisticService
81   - .queryYearMonthCardStatistic(request);
82   - return returnJqGridData(bizResult, YearMonthCardStatisticDTO.class);
83   - }
84   -
85   - @ApiOperation("年卡月卡统计折线图")
86   - @PostMapping("queryYearMonthCardStatisticForChart")
87   - @ResponseBody
88   - public BizResultVO<List<YearMonthCardStatisticSumDTO>> queryYearMonthCardStatisticForChart(
89   - @RequestBody YearMonthCardStatisticRequest request) throws Exception {
90   - logger.info("调用DUBBO服务入参:" + JSON.toJSONString(request));
91   - if (null == request.getBeginTime() || null == request.getEndTime()) {
92   - throw new BizException(ErrorType.PARAMM_NULL, "开始时间和结束时间");
93   - }
94   - BizResult<List<YearMonthCardStatisticSumDTO>> bizResult = yearMonthCardStatisticService
95   - .queryYearMonthCardStatisticSum(request);
96   - logger.info("调用DUBBO服务返回结果:" + JSON.toJSONString(bizResult));
97   - return new BizResultVO<>(bizResult);
98   - }
99   -
100   - @ApiOperation("导出年卡月卡统计excel")
101   - @GetMapping("exportYearMonthStatisticExcel")
102   - public void exportYearMonthStatisticExcel(@RequestParam Long beginTime, @RequestParam Long endTime,
103   - @RequestParam List<String> parkIdList, @RequestParam String parkNames,
104   - Integer orderType, Integer payType, Integer dataState,
105   - HttpServletRequest requests, HttpServletResponse response) throws Exception {
106   -
107   - YearMonthCardStatisticRequest request = new YearMonthCardStatisticRequest();
108   - request.setSysCode(sysCode);
109   - request.setBeginTime(new Date(beginTime));
110   - request.setEndTime(new Date(endTime));
111   -
112   - request.setParkIdList(parkIdList);
113   - request.setBaseRequest(new BaseInfo(1, 0));
114   - request.setOrderType(orderType);
115   - request.setPayType(payType);
116   - request.setDataState(dataState);
117   -
118   - BizResult<PageBean<YearMonthCardStatisticDTO>> bizResult = yearMonthCardStatisticService
119   - .queryYearMonthCardStatistic(request);
120   - BizResult<List<YearMonthCardStatisticSumDTO>> bizResultSum = yearMonthCardStatisticService
121   - .queryYearMonthCardStatisticSum(request);
122   -
123   - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
124   - SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
125   - String[] title = new String[] {"交易时间", "停车场", "类型", "车牌号", "支付方式", "支付金额", "有效期", "状态"};
126   - String sheetName = "年卡月卡统计";
127   - String fileName = "年卡月卡统计" + format2.format(new Date());
128   -
129   - String[] billTitle = new String[9];
130   - billTitle = new String[2];
131   - //if (!org.springframework.util.CollectionUtils.isEmpty(bizResultSum.getData())) {
132   - // List<YearMonthCardStatisticSumDTO> dtoList = bizResultSum.getData();
133   - // String amountsum = "";
134   - // String sum = "";
135   - // for (YearMonthCardStatisticSumDTO dto : dtoList) {
136   - // amountsum = dto.getAmountSum() == null ? " " : dto.getAmountSum() + "," + amountsum;
137   - // sum = dto.getOrderSum() + "," + sum;
138   - // }
139   - // String ordertype = "";
140   - // if (null != orderType) {
141   - // if (2 == orderType) {
142   - // ordertype = "年卡";
143   - // } else if (3 == orderType) {
144   - // ordertype = "月卡";
145   - // }
146   - // }
147   - // String datastate = "";
148   - // if (null != dataState) {
149   - // if (1 == dataState) {
150   - // datastate = "有效";
151   - // } else if (0 == dataState) {
152   - // datastate = "无效";
153   - // }
154   - // }
155   - //
156   - billTitle[0] = "年卡月卡统计";
157   - // billTitle[1] = "汇总";
158   - // billTitle[2] = "停车场: " + parkNames;
159   - // billTitle[3] = "时间: " + endTime;
160   - // billTitle[4] = "类型:" + (orderType != null ? ordertype : "");
161   - // billTitle[5] = "状态: " + (dataState != null ? datastate : "");
162   - // billTitle[6] = "支付方式: " + (payType != null ? payType : "");
163   - // billTitle[7] = "每个月的总笔数" + sum;
164   - // billTitle[8] = "每个月的总金额数" + amountsum;
165   - //} else {
166   - // billTitle[0] = "年卡月卡统计";
167   - // billTitle[1] = "汇总";
168   - // billTitle[2] = "停车场: ";
169   - // billTitle[3] = "时间: ";
170   - // billTitle[4] = "类型:";
171   - // billTitle[5] = "状态: ";
172   - // billTitle[6] = "支付方式: ";
173   - // billTitle[7] = "每个月的总车数";
174   - // billTitle[8] = "每个月的总金额数";
175   - //}
176   -
177   - // 1.创建excel信息
178   - XSSFSheet workSheet = ExcelUtil.createExcel(sheetName);
179   - // 2.设置excel表头和表体
180   - Layouter.buildReport(workSheet, title,0,0);
181   - // 3.填充数据
182   - List<Object[]> contentList = new ArrayList<Object[]>();
183   - List<YearMonthCardStatisticDTO> list = new ArrayList<>();
184   - if (CollectionUtils.isNotEmpty(bizResult.getData().getDataList())) {
185   - list = bizResult.getData().getDataList();
186   - }
187   - for (YearMonthCardStatisticDTO e : list) {
188   - Object[] obj = new Object[title.length];
189   - int index = 0;
190   - obj[index++] = e.getPayFinishTime() != null ? format.format(e.getPayFinishTime()) : "";
191   - obj[index++] = e.getParkName();
192   - String cardType="";
193   - if (null != e.getOrderType()) {
194   - if (2 == e.getOrderType()) {
195   - cardType = "年卡";
196   - }else{
197   - cardType = "月卡";
198   - }
199   - }
200   - obj[index++]=cardType;
201   - obj[index++] = e.getCarNumber();
202   - if (e.getPayType() != null) {
203   - switch (e.getPayType()) {
204   - case 1:
205   - obj[index++] = "支付宝";
206   - break;
207   - case 2:
208   - obj[index++] = "微信";
209   - break;
210   - case 3:
211   - obj[index++] = "银联";
212   - break;
213   - case 4:
214   - obj[index++] = "微信";
215   - break;
216   - default:
217   - obj[index++] = "现金";
218   - break;
219   - }
220   - } else {
221   - obj[index++] = "";
222   - }
223   - obj[index++] = e.getAmount() != null ? e.getAmount() : "0.00";
224   - obj[index++] = e.getEffDate() != null ? format.format(e.getEffDate())
225   - : "" + "-" + e.getExpDate() != null ? format.format(e.getExpDate()) : "";
226   - //有效、无效
227   - Date d = new Date();
228   - String state = "";
229   - if ((d.getTime() <= e.getExpDate().getTime()) && (d.getTime() >= e.getEffDate().getTime())) {
230   - state = "有效";
231   - } else {
232   - state = "无效";
233   - }
234   - obj[index++] = state;
235   - contentList.add(obj);
236   - }
237   - ExcleFillDateManager fillUserManager = new ExcleFillDateManager();
238   - fillUserManager.fillSalesOrga(workSheet, title, contentList, 2);
239   - // 4.excel输出配置
240   - ExcelUtil.write(response, workSheet, fileName);
241   - }
242   -
243   -}
src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/parklotmanage/ParkLotManageController.java deleted
1   -package com.zteits.irain.portal.web.parkinglotcloudplatform.parklotmanage;
2   -
3   -import java.util.List;
4   -import java.util.Map;
5   -
6   -import javax.servlet.http.HttpSession;
7   -
8   -import org.apache.commons.lang3.StringUtils;
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.GetMapping;
13   -import org.springframework.web.bind.annotation.RequestMapping;
14   -import org.springframework.web.bind.annotation.RequestParam;
15   -import org.springframework.web.bind.annotation.RestController;
16   -
17   -import com.alibaba.dubbo.common.utils.CollectionUtils;
18   -import com.clouds.common.cache.park.ParkingLotCacheUtil;
19   -import com.clouds.common.entity.UserInfo;
20   -import com.clouds.common.utils.ResultUtils;
21   -import com.clouds.common.web.SessionCommUtil;
22   -import com.clouds.common.web.vo.BizResultVO;
23   -import com.google.common.collect.Lists;
24   -import com.google.common.collect.Maps;
25   -import com.zteits.clouds.api.apibase.bean.BizResult;
26   -import com.zteits.clouds.api.apibase.constants.ErrorType;
27   -import com.zteits.clouds.api.apibase.exception.BizException;
28   -import com.zteits.clouds.api.dto.park.dto.ParkingLotDTO;
29   -import com.zteits.clouds.api.dto.park.param.QueryParkLotInfoByPkNoRequest;
30   -import com.zteits.clouds.api.dto.pay.param.TdCompanyParkQueryRequest;
31   -import com.zteits.clouds.api.service.park.ParkingLotQueryService;
32   -import com.zteits.clouds.api.service.pay.TdCustCompanyService;
33   -
34   -import io.swagger.annotations.Api;
35   -import io.swagger.annotations.ApiOperation;
36   -
37   -/**
38   - * 停车场管理
39   - *
40   - * Copyright: Copyright (c) 2017 zteits
41   - *
42   - * @ClassName: ParkingLotController.java
43   - * @Description:
44   - * @version: v1.0.0
45   - * @author: zhaowg
46   - * @date: 2017年6月16日 下午5:27:21
47   - * Modification History:
48   - * Date Author Version Description
49   - *---------------------------------------------------------*
50   - * 2017年6月16日 zhaowg v1.0.0 创建
51   - */
52   -@Api(value="停车场管理",description="停车场管理")
53   -@RestController
54   -@RequestMapping("parkLotManage")
55   -public class ParkLotManageController{
56   - private Logger logger = LoggerFactory.getLogger(ParkLotManageController.class);
57   - @Autowired
58   - private HttpSession session;
59   - @Autowired
60   - private SessionCommUtil sessionCommUtil;
61   - @Autowired
62   - private TdCustCompanyService tdCustCompanyService;
63   - @Autowired
64   - private ParkingLotQueryService parkingLotQueryService;
65   - /**
66   - * 根据登录人权限获取停车场名称列表
67   - * @return
68   - * 2017年6月16日 zhaowg
69   - * @throws Exception
70   - */
71   - @ApiOperation("根据登录人权限获取停车场名称列表")
72   - @GetMapping("getParkLotNamesByUserId")
73   - public BizResultVO<List<Map<String,String>>> GetParkLotNameListByUserId(@RequestParam String sysCode) throws Exception {
74   - List<Map<String,String>> result = Lists.newArrayList();
75   - //拥有的停车场编号
76   - List<String> plNos = this.GetParkLotNosByCurrUser(sysCode);
77   - //查询对应的停车场信息
78   - if(CollectionUtils.isEmpty(plNos)){
79   - return new BizResultVO<List<Map<String,String>>>().setData(result);
80   - }
81   - for (String plNo : plNos) {
82   - Map<String,String> plNoMap = Maps.newHashMap();
83   - //先查询缓存
84   - ParkingLotDTO lotDTO = ParkingLotCacheUtil.getParkLotByPlNo(plNo);
85   - if(lotDTO == null){
86   - //查询数据库
87   - QueryParkLotInfoByPkNoRequest request = new QueryParkLotInfoByPkNoRequest();
88   - request.setSysCode(sysCode);
89   - request.setPklNo(plNo);
90   - BizResult<ParkingLotDTO> bizResult2 = parkingLotQueryService.QueryParkingLotByPkNo(request);
91   - lotDTO = ResultUtils.getBizResultData(bizResult2);
92   - }
93   - if(lotDTO == null || StringUtils.isBlank(lotDTO.getPlName()) || lotDTO.getPlName().equals("null")){
94   - continue;
95   - }
96   - plNoMap.put("code",plNo );
97   - plNoMap.put("name",lotDTO.getPlName());
98   - result.add(plNoMap);
99   - }
100   -
101   - return new BizResultVO<List<Map<String,String>>>().setData(result);
102   - }
103   -
104   - private List<String> GetParkLotNosByCurrUser(String sysCode) throws Exception {
105   - logger.info("根据登录人权限获取停车场列表");
106   - List<String> plNos = Lists.newArrayList();
107   - //2.调用接口查询当前登录人管辖的停车场名称
108   - UserInfo userInfo = sessionCommUtil.getUserInfo();
109   - if(userInfo!=null){
110   - TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest();
111   - tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds());
112   - tdCompanyParkQueryRequest.setSysCode(sysCode);
113   - tdCompanyParkQueryRequest.setSessionId(session.getId());
114   - BizResult<List<String>> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest );
115   - plNos = ResultUtils.getBizResultData(bizResult);
116   - }else{
117   - throw new BizException(ErrorType.AUTH_TOKEN_NOT_EXISTS);
118   - }
119   - return plNos;
120   - }
121   -}