diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/MonthBillManagementController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/MonthBillManagementController.java index 19827cd..1c713e6 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/MonthBillManagementController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/MonthBillManagementController.java @@ -6,12 +6,12 @@ package com.zteits.irain.portal.web.parkinglotcloudplatform.datastatistic; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import com.alibaba.dubbo.common.utils.CollectionUtils; import com.alibaba.dubbo.common.utils.StringUtils; @@ -39,13 +39,12 @@ import com.zteits.clouds.api.dto.clouds.dto.BillManageForMonthDetailDTO; import com.zteits.clouds.api.dto.clouds.dto.MonthBillMngtStatisticByParkinglotDTO; import com.zteits.clouds.api.dto.clouds.dto.MonthBillMngtStatisticDTO; import com.zteits.clouds.api.dto.clouds.dto.MonthBillSummaryStatisticDTO; -import com.zteits.clouds.api.dto.clouds.dto.YearMonthCardStatisticDTO; +import com.zteits.clouds.api.dto.clouds.dto.YearMonthCardIncomeStatisticDTO; import com.zteits.clouds.api.dto.clouds.param.BillQueryRequest; import com.zteits.clouds.api.dto.clouds.param.MonthBillRequest; -import com.zteits.clouds.api.dto.pay.param.YearMonthCardStatisticRequest; +import com.zteits.clouds.api.dto.pay.param.YearMonthCardIncomeStatisticRequest; import com.zteits.clouds.api.service.clouds.MonthBillManagementService; import com.zteits.clouds.api.service.clouds.YearMonthCardStatisticService; -import com.zteits.clouds.api.service.pay.TdCustCompanyService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.xssf.usermodel.XSSFSheet; @@ -54,6 +53,7 @@ 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.format.annotation.DateTimeFormat; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -79,79 +79,85 @@ public class MonthBillManagementController extends BizController { private SessionCommUtil sessionCommUtil; @Value("${project.syscode}") private String sysCode; - - + @ApiOperation("月账汇总单查询(统计图)") - @RequestMapping("/queryBillforMonthTotal") - @ResponseBody - public BizResultVO queryBillforMonthTotal(@RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request, - HttpServletResponse response) throws Exception { - BizResult result = monthBillManagementService.queryBillforMonthTotal(billQueryRequest); - return new BizResultVO(result); - } - + @RequestMapping("/queryBillforMonthTotal") + @ResponseBody + public BizResultVO queryBillforMonthTotal(@RequestBody BillQueryRequest billQueryRequest, + HttpServletRequest request, + HttpServletResponse response) throws Exception { + BizResult result = monthBillManagementService.queryBillforMonthTotal(billQueryRequest); + return new BizResultVO(result); + } + @ApiOperation("月账汇总单查询") - @RequestMapping("/queryBillforMonthForPage") - @ResponseBody - public void queryBillforMonthForPage(@RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request, - HttpServletResponse response) throws Exception { - logger.info("---begin--月账汇总单查询调用后场dubbo服务,入参={}", JSONObject.toJSON(billQueryRequest)); - BizResult> result = monthBillManagementService.queryBillforMonthTotalForPage(billQueryRequest); - logger.info("---end--月账汇总单查询调用后场dubbo服务,结果={}", JSONObject.toJSONString(result)); - this.returnJsonDataGrid(response, result); - } - + @RequestMapping("/queryBillforMonthForPage") + @ResponseBody + public void queryBillforMonthForPage(@RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request, + HttpServletResponse response) throws Exception { + logger.info("---begin--月账汇总单查询调用后场dubbo服务,入参={}", JSONObject.toJSON(billQueryRequest)); + BizResult> result = monthBillManagementService.queryBillforMonthTotalForPage( + billQueryRequest); + logger.info("---end--月账汇总单查询调用后场dubbo服务,结果={}", JSONObject.toJSONString(result)); + this.returnJsonDataGrid(response, result); + } + /** - * 日账单导出.
- * - * @param request - * @param response - * @throws Exception - */ - @RequestMapping("/exportToExcleForBillForMonth") - public void exportToExcleForBillForMonth(@RequestParam String beginTime,@RequestParam String endTime,@RequestParam List parkIdList, - HttpServletRequest request,HttpServletResponse response) throws Exception { - SimpleDateFormat format_yyy = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - BillQueryRequest billQueryRequest = new BillQueryRequest(); - billQueryRequest.setSysCode("1001"); - billQueryRequest.getBaseRequest().setPageSize(0); - billQueryRequest.setParkIdList(parkIdList); - billQueryRequest.setBeginTime(format_yyy.parse(beginTime)); - billQueryRequest.setEndTime(format_yyy.parse(endTime)); - BizResult> result = monthBillManagementService.queryBillforMonthTotalForPage(billQueryRequest); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); - 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(); - if(result != null && !CollectionUtils.isEmpty(result.getData().getDataList())){ - List list = result.getData().getDataList(); - for (BillManageDTO e: list) { - if(e != null){ - Object[] obj=new Object[title.length]; - int index=0; - obj[index++]=(e.getBillDayTime() != null ? format.format(e.getBillDayTime()) : ""); - obj[index++]=e.getParkName(); - obj[index++]=(e.getCashTotalFee() == null ? "0" : e.getCashTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ; - obj[index++]=(e.getAliTotalFee() == null ? "0" : e.getAliTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ; - obj[index++]=(e.getWxTotalFee() == null ? "0" : e.getWxTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ; - obj[index++]=(e.getOrderTotalFee() == null ? "0" : e.getOrderTotalFee().divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP)) ; - contentList.add(obj); - } - } - } - ExcleFillDateManager fillUserManager=new ExcleFillDateManager(); - fillUserManager.fillSalesOrga(workSheet,title,contentList,2); - // 4.excel输出配置 - ExcelUtil.write(response, workSheet, fileName); - - } - + * 日账单导出.
+ * + * @param request + * @param response + * @throws Exception + */ + @RequestMapping("/exportToExcleForBillForMonth") + public void exportToExcleForBillForMonth(@RequestParam String beginTime, @RequestParam String endTime, + @RequestParam List parkIdList, + HttpServletRequest request, HttpServletResponse response) throws Exception { + SimpleDateFormat format_yyy = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + BillQueryRequest billQueryRequest = new BillQueryRequest(); + billQueryRequest.setSysCode("1001"); + billQueryRequest.getBaseRequest().setPageSize(0); + billQueryRequest.setParkIdList(parkIdList); + billQueryRequest.setBeginTime(format_yyy.parse(beginTime)); + billQueryRequest.setEndTime(format_yyy.parse(endTime)); + BizResult> result = monthBillManagementService.queryBillforMonthTotalForPage( + billQueryRequest); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); + 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(); + if (result != null && !CollectionUtils.isEmpty(result.getData().getDataList())) { + List list = result.getData().getDataList(); + for (BillManageDTO e : list) { + if (e != null) { + Object[] obj = new Object[title.length]; + int index = 0; + obj[index++] = (e.getBillDayTime() != null ? format.format(e.getBillDayTime()) : ""); + obj[index++] = e.getParkName(); + obj[index++] = (e.getCashTotalFee() == null ? "0" : e.getCashTotalFee().divide( + new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP)); + obj[index++] = (e.getAliTotalFee() == null ? "0" : e.getAliTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP)); + obj[index++] = (e.getWxTotalFee() == null ? "0" : e.getWxTotalFee().divide(new BigDecimal("100"), 2, + BigDecimal.ROUND_HALF_UP)); + obj[index++] = (e.getOrderTotalFee() == null ? "0" : e.getOrderTotalFee().divide( + new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP)); + contentList.add(obj); + } + } + } + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, contentList, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + + } @ApiOperation("月账单查询汇总统计") @PostMapping("/summaryStatistic") @@ -247,20 +253,21 @@ public class MonthBillManagementController extends BizController { public BizResultVO> queryBillforMonthList( @RequestBody BillQueryRequest billQueryRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { - // 2.调用接口查询当前登录人管辖的停车场名称 + // 2.调用接口查询当前登录人管辖的停车场名称 UserInfo userInfo = sessionCommUtil.getUserInfo(); List plNos = userInfo.getOrgIds(); -// UserInfo userInfo = sessionCommUtil.getUserInfo(); -// List plNos = new ArrayList<>(); -// if (userInfo != null) { -// TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); -// tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); -// tdCompanyParkQueryRequest.setSessionId(session.getId()); -// tdCompanyParkQueryRequest.setSysCode(sysCode); -// BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest); -// // 拥有的停车场编号 -// plNos = ResultUtils.getBizResultData(bizResult); -// } + // UserInfo userInfo = sessionCommUtil.getUserInfo(); + // List plNos = new ArrayList<>(); + // if (userInfo != null) { + // TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); + // tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); + // tdCompanyParkQueryRequest.setSessionId(session.getId()); + // tdCompanyParkQueryRequest.setSysCode(sysCode); + // BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds + // (tdCompanyParkQueryRequest); + // // 拥有的停车场编号 + // plNos = ResultUtils.getBizResultData(bizResult); + // } // if (CollectionUtils.isEmpty(plNos)) { // throw new BizException(ErrorType.PARK_LOT_NOT_EXISTS, "停车场plnos不存在"); // } @@ -285,16 +292,17 @@ public class MonthBillManagementController extends BizController { // 2.调用接口查询当前登录人管辖的停车场名称 UserInfo userInfo = sessionCommUtil.getUserInfo(); List plNos = userInfo.getOrgIds(); -// List plNos = new ArrayList<>(); -// if (userInfo != null) { -// TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); -// tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); -// tdCompanyParkQueryRequest.setSessionId(session.getId()); -// tdCompanyParkQueryRequest.setSysCode(sysCode); -// BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest); -// // 拥有的停车场编号 -// plNos = ResultUtils.getBizResultData(bizResult); -// } + // List plNos = new ArrayList<>(); + // if (userInfo != null) { + // TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); + // tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); + // tdCompanyParkQueryRequest.setSessionId(session.getId()); + // tdCompanyParkQueryRequest.setSysCode(sysCode); + // BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds + // (tdCompanyParkQueryRequest); + // // 拥有的停车场编号 + // plNos = ResultUtils.getBizResultData(bizResult); + // } // if (CollectionUtils.isEmpty(plNos)) { // throw new BizException(ErrorType.PARK_LOT_NOT_EXISTS, "停车场plnos不存在"); // } @@ -408,8 +416,6 @@ public class MonthBillManagementController extends BizController { } - - /** * 月账单所有导出.
* @@ -436,19 +442,19 @@ public class MonthBillManagementController extends BizController { // 2.调用接口查询当前登录人管辖的停车场名称 UserInfo userInfo = sessionCommUtil.getUserInfo(); List plNos = userInfo.getOrgIds(); -// // 2.调用接口查询当前登录人管辖的停车场名称 -// UserInfo userInfo = sessionCommUtil.getUserInfo(); -// List plNos = new ArrayList<>(); -// if (userInfo != null) { -// TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); -// tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); -// tdCompanyParkQueryRequest.setSessionId(session.getId()); -// tdCompanyParkQueryRequest.setSysCode(sysCode); -// BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds( -// tdCompanyParkQueryRequest); -// // 拥有的停车场编号 -// plNos = ResultUtils.getBizResultData(bizResult); -// } + // // 2.调用接口查询当前登录人管辖的停车场名称 + // UserInfo userInfo = sessionCommUtil.getUserInfo(); + // List plNos = new ArrayList<>(); + // if (userInfo != null) { + // TdCompanyParkQueryRequest tdCompanyParkQueryRequest = new TdCompanyParkQueryRequest(); + // tdCompanyParkQueryRequest.setCustIdList(userInfo.getOrgIds()); + // tdCompanyParkQueryRequest.setSessionId(session.getId()); + // tdCompanyParkQueryRequest.setSysCode(sysCode); + // BizResult> bizResult = tdCustCompanyService.queryParkNoByCustIds( + // tdCompanyParkQueryRequest); + // // 拥有的停车场编号 + // plNos = ResultUtils.getBizResultData(bizResult); + // } billQueryRequest.setParkIdList(plNos); logger.info("月账单导出所有 req={}", JSONObject.toJSONString(billQueryRequest)); respondResult = monthBillManagementService @@ -523,6 +529,97 @@ public class MonthBillManagementController extends BizController { } + @ApiOperation("月账单年卡月卡统计-详情导出") + @RequestMapping("/exportYearMonthCardIncomeStatistic") + public void exportYearMonthCardIncomeStatistic(@RequestParam String plNos, + @RequestParam(required = false) Long beginTime, + @RequestParam(required = false) Long endTime, @RequestParam(required = false) String orderType, + HttpServletRequest request, HttpServletResponse response) { + YearMonthCardIncomeStatisticRequest dubboReq = new YearMonthCardIncomeStatisticRequest(); + + if (org.apache.commons.lang3.StringUtils.isNotEmpty(plNos)) { + dubboReq.setPlNos(Arrays.asList(plNos.split(","))); + } + if (org.apache.commons.lang3.StringUtils.isNotEmpty(orderType)) { + String[] tempStr = orderType.split(","); + List nums = new ArrayList<>(); + for (String str : tempStr) { + nums.add(Integer.valueOf(str)); + } + dubboReq.setOrderType(nums); + } + dubboReq.setBeginTime(new Date(beginTime)); + dubboReq.setEndTime(new Date(endTime)); + dubboReq.setSysCode("10001"); + BizResult> bizResult = yearMonthCardStatisticService + .queryYearMonthCardIncomeStatistic(dubboReq); + String[] title = new String[] {"类型", "现金(元)", "微信(元)", "支付宝(元)", "其他(元)","总金额(元)"}; + String sheetName = "月卡年卡详情"; + String fileName = "月卡年卡详情"; + List dtos = new ArrayList<>(); + if (null != bizResult && CollectionUtils.isNotEmpty(bizResult.getData())) { + dtos = bizResult.getData(); + } + + // 1.创建excel信息 + XSSFSheet workSheet = ExcelUtil.createExcel(sheetName); + // 2.设置excel表头和表体 + Layouter.buildReport(workSheet, title, 0, 0); + // 3.填充数据 + List contentList = new ArrayList(); + + for (YearMonthCardIncomeStatisticDTO e : dtos) { + Object[] obj = new Object[title.length]; + int index = 0; + obj[index++] = getOrderTypeStr(e.getOrderType()); + //现金 + obj[index++] = e.getCashTotalFee() != null ? e.getCashTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP) : ""; + //微信 + obj[index++] = e.getWxTotalFee() != null ? e.getWxTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP) : ""; + //支付宝 + obj[index++] = e.getAliTotalFee() != null ? e.getAliTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP) : ""; + //其他 + obj[index++] = e.getOthersTotalFee() != null ? e.getOthersTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP) : ""; + //总金额 + obj[index++] = e.getOrderTotalFee() != null ? e.getOrderTotalFee().divide(new BigDecimal("100"), + 2, BigDecimal.ROUND_HALF_UP) : ""; + contentList.add(obj); + } + + ExcleFillDateManager fillUserManager = new ExcleFillDateManager(); + fillUserManager.fillSalesOrga(workSheet, title, contentList, 2); + // 4.excel输出配置 + ExcelUtil.write(response, workSheet, fileName); + } + + private String getOrderTypeStr(Integer orderType) { + String orderTypeStr; + if (orderType == null) { + return ""; + } + switch (orderType) { + case -1: + orderTypeStr = "合计"; + break; + case 1: + orderTypeStr = "停车订单"; + break; + case 2: + orderTypeStr = "年卡"; + break; + case 3: + orderTypeStr = "月卡"; + break; + default: + orderTypeStr = "未知"; + } + return orderTypeStr; + } + /** * 通过session信息获取停车场编码.
* @@ -531,17 +628,19 @@ public class MonthBillManagementController extends BizController { * @return * @throws Exception */ -// private List queryParkNoByCustIds(TdCompanyParkQueryRequest tdCompanyParkQueryRequest) throws Exception { -// /** 查询停车场编码. */ -// BizResult> parkNoResult = tdCustCompanyService.queryParkNoByCustIds(tdCompanyParkQueryRequest); -// if (parkNoResult.isSuccess() && parkNoResult != null && parkNoResult.getData() != null) { -// logger.info("根据登录获取到对应的停车场编码=" + JSONArray.toJSONString(parkNoResult.getData())); -// return parkNoResult.getData(); -// } else { -// logger.info("根据登录用户没有获取到对应的停车场编码"); -// return null; -// } -// -// } + // private List queryParkNoByCustIds(TdCompanyParkQueryRequest tdCompanyParkQueryRequest) throws + // Exception { + // /** 查询停车场编码. */ + // BizResult> parkNoResult = tdCustCompanyService.queryParkNoByCustIds + // (tdCompanyParkQueryRequest); + // if (parkNoResult.isSuccess() && parkNoResult != null && parkNoResult.getData() != null) { + // logger.info("根据登录获取到对应的停车场编码=" + JSONArray.toJSONString(parkNoResult.getData())); + // return parkNoResult.getData(); + // } else { + // logger.info("根据登录用户没有获取到对应的停车场编码"); + // return null; + // } + // + // } } \ No newline at end of file diff --git a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/OrderManageController.java b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/OrderManageController.java index 12eea62..7a6d67f 100644 --- a/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/OrderManageController.java +++ b/src/main/java/com/zteits/irain/portal/web/parkinglotcloudplatform/datastatistic/OrderManageController.java @@ -286,6 +286,9 @@ public class OrderManageController extends BizController { } + + + /** * 根据code 获取支付方式文本 *