|
@@ -184,21 +184,28 @@ public class AppPageReportController {
|
|
|
|
|
|
/**
|
|
|
* @Author wangbo
|
|
|
- * @Description App 营业总览数据-本月应收实收回收率数据
|
|
|
+ * @Description App 营业总览数据-本月应收实收回收率普通用户用量大用户用量数据
|
|
|
* @param companyOrgId 公司ID
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "getBusinessDataForSameMonth",method = RequestMethod.GET)
|
|
|
- @ApiOperation(value = "App总览——营业总览应收实收回收率数据(本月)")
|
|
|
+ @ApiOperation(value = "App总览——营业总览应收实收回收率普通用户用量大用户用量数据(本月)")
|
|
|
public AjaxMessage<Map<String,Object>> getSameMonthBusinessData(
|
|
|
@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Integer companyOrgId){
|
|
|
|
|
|
List<DeviceWaterSupply> sellerWaterList = appPageReportService.deviceSellerAmountReportForMonth(companyOrgId,1);
|
|
|
+ BigDecimal sum = sellerWaterList.get(0).getGeneralUserAmount().add(sellerWaterList.get(0).getBigUserAmount());
|
|
|
+ BigDecimal generalRate =sum.compareTo(BigDecimal.ZERO)==0?BigDecimal.ZERO:sellerWaterList.get(0).getGeneralUserAmount().multiply(new BigDecimal(100)).divide(sum,2);
|
|
|
+
|
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
|
|
map.put("totalReceivable", sellerWaterList.get(0).getReceivableAmount());
|
|
|
map.put("totalReceived", sellerWaterList.get(0).getReceivedAmount());
|
|
|
map.put("amount",sellerWaterList);
|
|
|
- map.put("rate", sellerWaterList.get(0).getReceivableAmount().compareTo(BigDecimal.ZERO)==0? 0 : sellerWaterList.get(0).getReceivedAmount().multiply(new BigDecimal(100)).divide(sellerWaterList.get(0).getReceivableAmount(),2));
|
|
|
+ map.put("generalUser",sellerWaterList.get(0).getGeneralUserAmount());
|
|
|
+ map.put("bigUser",sellerWaterList.get(0).getBigUserAmount());
|
|
|
+ map.put("generalUserRate",generalRate);
|
|
|
+ map.put("bigUserRate",new BigDecimal(100).subtract(generalRate));
|
|
|
+ map.put("recoveryRate", sellerWaterList.get(0).getReceivableAmount().compareTo(BigDecimal.ZERO)==0? 0 : sellerWaterList.get(0).getReceivedAmount().multiply(new BigDecimal(100)).divide(sellerWaterList.get(0).getReceivableAmount(),2));
|
|
|
return new AjaxMessage<>(ResultStatus.OK,map);
|
|
|
}
|
|
|
|
|
@@ -209,23 +216,32 @@ public class AppPageReportController {
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "getBusinessDataForSameYear",method = RequestMethod.GET)
|
|
|
- @ApiOperation(value = "App总览——营业总览应收实收回收率数据(本年)")
|
|
|
+ @ApiOperation(value = "App总览——营业总览应收实收回收率普通用户用量大用户用量数据(本年)")
|
|
|
public AjaxMessage<Map<String,Object>> getBusinessDataForSameYear(
|
|
|
@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Integer companyOrgId){
|
|
|
LocalDate now = LocalDate.now();
|
|
|
-
|
|
|
List<DeviceWaterSupply> sellerWaterList = appPageReportService.deviceSellerAmountReportForMonth(companyOrgId,now.getMonthValue());
|
|
|
BigDecimal totalReceivableAmount = new BigDecimal(0);
|
|
|
BigDecimal totalReceivedAmount = new BigDecimal(0);
|
|
|
+ BigDecimal totalGeneralUser = new BigDecimal(0);
|
|
|
+ BigDecimal totalBigUser = new BigDecimal(0);
|
|
|
for(DeviceWaterSupply amount: sellerWaterList){
|
|
|
- totalReceivableAmount.add(amount.getReceivableAmount());
|
|
|
- totalReceivedAmount.add(amount.getReceivedAmount());
|
|
|
+ totalReceivableAmount =totalReceivableAmount.add(amount.getReceivableAmount());
|
|
|
+ totalReceivedAmount=totalReceivedAmount.add(amount.getReceivedAmount());
|
|
|
+ totalGeneralUser=totalGeneralUser.add(amount.getGeneralUserAmount());
|
|
|
+ totalBigUser=totalBigUser.add(amount.getBigUserAmount());
|
|
|
}
|
|
|
+ BigDecimal sum =totalBigUser.add(totalGeneralUser);
|
|
|
+ BigDecimal generalRate =sum.compareTo(BigDecimal.ZERO)==0?BigDecimal.ZERO:totalGeneralUser.multiply(new BigDecimal(100)).divide(sum,2);
|
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
|
|
map.put("totalReceivable", totalReceivableAmount);
|
|
|
map.put("totalReceived",totalReceivedAmount);
|
|
|
map.put("amountDetails",sellerWaterList);
|
|
|
- map.put("rate", sellerWaterList.get(0).getReceivableAmount().compareTo(BigDecimal.ZERO)==0? 0 : sellerWaterList.get(0).getReceivedAmount().multiply(new BigDecimal(100)).divide(sellerWaterList.get(0).getReceivableAmount(),2));
|
|
|
+ map.put("generalUser",totalGeneralUser);
|
|
|
+ map.put("bigUser",totalBigUser);
|
|
|
+ map.put("generalUserRate",generalRate);
|
|
|
+ map.put("bigUserRate",new BigDecimal(100).subtract(generalRate));
|
|
|
+ map.put("recoveryRate", totalReceivableAmount.compareTo(BigDecimal.ZERO)==0? 0 : totalReceivedAmount.multiply(new BigDecimal(100)).divide(totalReceivableAmount,2));
|
|
|
return new AjaxMessage<>(ResultStatus.OK,map);
|
|
|
}
|
|
|
|
|
@@ -236,22 +252,33 @@ public class AppPageReportController {
|
|
|
* @return
|
|
|
*/
|
|
|
@RequestMapping(value = "getBusinessDataForLast12Month",method = RequestMethod.GET)
|
|
|
- @ApiOperation(value = "App总览——营业总览应收实收回收率数据(近一年)")
|
|
|
+ @ApiOperation(value = "App总览——营业总览应收实收回收率普通用户用量大用户用量数据(近一年)")
|
|
|
public AjaxMessage<Map<String,Object>> getBusinessDataForLast12Month(
|
|
|
@ApiParam(value = "公司id,总公司传空值") @RequestParam(required = false) Integer companyOrgId){
|
|
|
|
|
|
List<DeviceWaterSupply> sellerWaterList = appPageReportService.deviceSellerAmountReportForMonth(companyOrgId,12);
|
|
|
BigDecimal totalReceivableAmount = new BigDecimal(0);
|
|
|
BigDecimal totalReceivedAmount = new BigDecimal(0);
|
|
|
+ BigDecimal totalGeneralUser = new BigDecimal(0);
|
|
|
+ BigDecimal totalBigUser = new BigDecimal(0);
|
|
|
for(DeviceWaterSupply amount: sellerWaterList){
|
|
|
- totalReceivableAmount.add(amount.getReceivableAmount());
|
|
|
- totalReceivedAmount.add(amount.getReceivedAmount());
|
|
|
+ totalReceivableAmount =totalReceivableAmount.add(amount.getReceivableAmount());
|
|
|
+ totalReceivedAmount=totalReceivedAmount.add(amount.getReceivedAmount());
|
|
|
+ totalGeneralUser=totalGeneralUser.add(amount.getGeneralUserAmount());
|
|
|
+ totalBigUser=totalBigUser.add(amount.getBigUserAmount());
|
|
|
}
|
|
|
+
|
|
|
+ BigDecimal sum =totalBigUser.add(totalGeneralUser);
|
|
|
+ BigDecimal generalRate =sum.compareTo(BigDecimal.ZERO)==0?BigDecimal.ZERO:totalGeneralUser.multiply(new BigDecimal(100)).divide(sum,2);
|
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
|
|
map.put("totalReceivable", totalReceivableAmount);
|
|
|
map.put("totalReceived",totalReceivedAmount);
|
|
|
map.put("amountDetails",sellerWaterList);
|
|
|
- map.put("rate", sellerWaterList.get(0).getReceivableAmount().compareTo(BigDecimal.ZERO)==0? 0 : sellerWaterList.get(0).getReceivedAmount().multiply(new BigDecimal(100)).divide(sellerWaterList.get(0).getReceivableAmount(),2));
|
|
|
+ map.put("generalUser",totalGeneralUser);
|
|
|
+ map.put("bigUser",totalBigUser);
|
|
|
+ map.put("generalUserRate",generalRate);
|
|
|
+ map.put("bigUserRate",new BigDecimal(100).subtract(generalRate));
|
|
|
+ map.put("recoveryRate", totalReceivableAmount.compareTo(BigDecimal.ZERO)==0? 0 : totalReceivedAmount.multiply(new BigDecimal(100)).divide(totalReceivableAmount,2));
|
|
|
return new AjaxMessage<>(ResultStatus.OK,map);
|
|
|
}
|
|
|
|