| | |
| | | import com.java110.dto.PageDto; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDetailDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.owner.OwnerRoomRelDto; |
| | |
| | | import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto; |
| | | import com.java110.intf.community.IRepairInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeDetailInnerServiceSMO; |
| | | import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; |
| | |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | |
| | | import java.lang.reflect.Field; |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | @Service("getReportFeeMonthStatisticsBMOImpl") |
| | | public class GetReportFeeMonthStatisticsBMOImpl implements IGetReportFeeMonthStatisticsBMO { |
| | | |
| | | private static final Logger logger = LoggerFactory.getLogger(GetReportFeeMonthStatisticsBMOImpl.class); |
| | | |
| | | |
| | | private int MAX_ROWS = 500; // 最大行数 |
| | | |
| | |
| | | @Autowired |
| | | private IComputeFeeSMO computeFeeSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * @param reportFeeMonthStatisticsDto |
| | | * @return 订单服务能够接受的报文 |
| | | */ |
| | | public ResponseEntity<String> get(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |
| | | |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeMonthStatisticssCount(reportFeeMonthStatisticsDto); |
| | | |
| | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryReportFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryCount(reportFeeMonthStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryReportFloorUnitFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + ""); |
| | | reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + ""); |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFloorUnitFeeSummaryCount(reportFeeMonthStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null; |
| | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryFeeBreakdown(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |
| | | if (StringUtil.isEmpty(reportFeeMonthStatisticsDto.getYearMonth())) { |
| | | reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + ""); |
| | | reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + ""); |
| | | } |
| | | |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdownCount(reportFeeMonthStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null; |
| | | if (count > 0) { |
| | | reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto); |
| | | ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdownMajor(reportFeeMonthStatisticsDto); |
| | | reportFeeMonthStatisticsDto.setPage(PageDto.DEFAULT_PAGE); |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatistics = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto); |
| | | BigDecimal allOweAmount = new BigDecimal(0.0); |
| | | BigDecimal allHisOweReceivedAmount = new BigDecimal(0.0); |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistic : reportFeeMonthStatistics) { |
| | | //获取历史欠费 |
| | | BigDecimal hisOweAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweAmount()); |
| | | //获取当月应收 |
| | | BigDecimal curReceivableAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivableAmount()); |
| | | //获取当月实收 |
| | | BigDecimal curReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivedAmount()); |
| | | //获取欠债追回 |
| | | BigDecimal hisOweReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweReceivedAmount()); |
| | | //计算欠费金额 |
| | | BigDecimal oweAmount = hisOweAmount.add(curReceivableAmount).subtract(curReceivedAmount).subtract(hisOweReceivedAmount); |
| | | if (oweAmount.compareTo(BigDecimal.ZERO) == 1) { //欠费金额大于0 |
| | | allOweAmount = allOweAmount.add(oweAmount); |
| | | } |
| | | if (hisOweReceivedAmount.compareTo(BigDecimal.ZERO) == 1) { //欠费追回大于0 |
| | | allHisOweReceivedAmount = allHisOweReceivedAmount.add(hisOweReceivedAmount); |
| | | } |
| | | } |
| | | if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) { |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) { |
| | | reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount()); |
| | | reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount()); |
| | | reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount()); |
| | | reportFeeMonthStatisticsDto1.setAllOweAmount(allOweAmount.setScale(2, BigDecimal.ROUND_HALF_UP).toString()); |
| | | reportFeeMonthStatisticsDto1.setAllHisOweReceivedAmount(allHisOweReceivedAmount.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | } |
| | | } |
| | | } else { |
| | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |
| | | |
| | | reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + ""); |
| | | reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + ""); |
| | | |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetailCount(reportFeeMonthStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null; |
| | | //应收总金额(大计) |
| | | Double allReceivableAmount = 0.0; |
| | | //实收金额(大计) |
| | | Double allReceivedAmount = 0.0; |
| | | if (count > 0) { |
| | | reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetail(reportFeeMonthStatisticsDto); |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryAllFeeDetail(reportFeeMonthStatisticsDto); |
| | | allReceivableAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivableAmount()); |
| | | allReceivedAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivedAmount()); |
| | | reportFeeMonthStatisticsDto.setPage(PageDto.DEFAULT_PAGE); |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatistics = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetail(reportFeeMonthStatisticsDto); |
| | | BigDecimal allOweAmount = new BigDecimal(0.0); |
| | | BigDecimal allHisOweReceivedAmount = new BigDecimal(0.0); |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistic : reportFeeMonthStatistics) { |
| | | //获取历史欠费 |
| | | BigDecimal hisOweAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweAmount()); |
| | | //获取当月应收 |
| | | BigDecimal curReceivableAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivableAmount()); |
| | | //获取当月实收 |
| | | BigDecimal curReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivedAmount()); |
| | | //获取欠费追回 |
| | | BigDecimal hisOweReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweReceivedAmount()); |
| | | //计算欠费金额 |
| | | BigDecimal oweAmount = hisOweAmount.add(curReceivableAmount).subtract(curReceivedAmount).subtract(hisOweReceivedAmount); |
| | | if (oweAmount.compareTo(BigDecimal.ZERO) == 1) { //欠费金额大于0 |
| | | allOweAmount = allOweAmount.add(oweAmount); |
| | | } |
| | | if (hisOweReceivedAmount.compareTo(BigDecimal.ZERO) == 1) { //欠费追回大于0 |
| | | allHisOweReceivedAmount = allHisOweReceivedAmount.add(hisOweReceivedAmount); |
| | | } |
| | | } |
| | | if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) { |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) { |
| | | reportFeeMonthStatisticsDto1.setAllReceivableAmount(reportFeeMonthStatisticsList.get(0).getAllReceivableAmount()); |
| | | reportFeeMonthStatisticsDto1.setAllReceivedAmount(reportFeeMonthStatisticsList.get(0).getAllReceivedAmount()); |
| | | reportFeeMonthStatisticsDto1.setAllOweAmount(allOweAmount.setScale(2, BigDecimal.ROUND_HALF_UP).toString()); |
| | | reportFeeMonthStatisticsDto1.setAllHisOweReceivedAmount(allHisOweReceivedAmount.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); |
| | | } |
| | | } |
| | | } else { |
| | | reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | //应收总金额(小计) |
| | | Double totalReceivableAmount = 0.0; |
| | | //实收总金额(小计) |
| | | Double totalReceivedAmount = 0.0; |
| | | List<ReportFeeMonthStatisticsDto> reportList = new ArrayList<>(); |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) { |
| | | //应收金额 |
| | | Double receivableAmount = Double.valueOf(reportFeeMonthStatistics.getReceivableAmount()); |
| | | //实收金额 |
| | | Double receivedAmount = Double.valueOf(reportFeeMonthStatistics.getReceivedAmount()); |
| | | totalReceivableAmount = totalReceivableAmount + receivableAmount; |
| | | totalReceivedAmount = totalReceivedAmount + receivedAmount; |
| | | } |
| | | |
| | | //查询该小区下的费用项目 |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setCommunityId(reportFeeMonthStatisticsDto.getCommunityId()); |
| | | List<FeeConfigDto> feeConfigDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) { |
| | | reportFeeMonthStatistics.setTotalReceivableAmount(String.format("%.2f", totalReceivableAmount)); |
| | | reportFeeMonthStatistics.setTotalReceivedAmount(String.format("%.2f", totalReceivedAmount)); |
| | | reportFeeMonthStatistics.setAllReceivableAmount(String.format("%.2f", allReceivableAmount)); |
| | | reportFeeMonthStatistics.setAllReceivedAmount(String.format("%.2f", allReceivedAmount)); |
| | | reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos); |
| | | reportList.add(reportFeeMonthStatistics); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList); |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |
| | |
| | | Double allVacantHousingDiscount = 0.0; |
| | | //空置房减免(大计) |
| | | Double allVacantHousingReduction = 0.0; |
| | | |
| | | |
| | | //赠送金额(大计) |
| | | Double allGiftAmount = 0.0; |
| | | //吴学文 注释 感觉和上面的369 功能重复 |
| | | //int size = 0; |
| | | if (count > 0) { |
| | |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("5")) { |
| | | allVacantHousingReduction = Double.valueOf(discountPrice); |
| | | } |
| | | //赠送金额(大计) |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("6")) { |
| | | allGiftAmount = Double.valueOf(discountPrice); |
| | | } |
| | | } |
| | | //应收总金额(小计) |
| | | Double totalReceivableAmount = 0.0; |
| | |
| | | Double totalVacantHousingDiscount = 0.0; |
| | | //空置房减免金额(小计) |
| | | Double totalVacantHousingReduction = 0.0; |
| | | //赠送金额(小计) |
| | | Double totalGiftAmount = 0.0; |
| | | //滞纳金(小计) |
| | | Double totalLateFee = 0.0; |
| | | List<String> ownerIds = new ArrayList<>(); |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) { |
| | | FeeDetailDto feeDetailDto = new FeeDetailDto(); |
| | | feeDetailDto.setDetailId(reportFeeMonthStatistics.getDetailId()); |
| | | List<FeeDetailDto> feeDetailDtos = feeDetailInnerServiceSMOImpl.queryFeeDetails(feeDetailDto); |
| | | Assert.listOnlyOne(feeDetailDtos, "查询费用明细表错误"); |
| | | reportFeeMonthStatistics.setReceivableAmount(feeDetailDtos.get(0).getReceivableAmount()); |
| | | reportFeeMonthStatistics.setPayableAmount(feeDetailDtos.get(0).getPayableAmount()); |
| | | //应收金额 |
| | | Double receivableAmount = Double.valueOf(reportFeeMonthStatistics.getReceivableAmount()); |
| | | //实收金额 |
| | |
| | | //滞纳金 |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) { |
| | | //获取滞纳金金额 |
| | | Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())) * (-1); |
| | | Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())); |
| | | totalLateFee = totalLateFee + discountPrice; |
| | | //滞纳金 |
| | | reportFeeMonthStatistics.setLateFee(reportFeeMonthStatistics.getDiscountPrice()); |
| | |
| | | } else { |
| | | reportFeeMonthStatistics.setVacantHousingReduction("0"); |
| | | } |
| | | //赠送金额 |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("6")) { |
| | | //赠送金额 |
| | | Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice()); |
| | | totalGiftAmount = totalGiftAmount + discountPrice; |
| | | //赠送金额 |
| | | reportFeeMonthStatistics.setGiftAmount(reportFeeMonthStatistics.getDiscountPrice()); |
| | | } else { |
| | | reportFeeMonthStatistics.setGiftAmount("0"); |
| | | } |
| | | if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportFeeMonthStatistics.getPayerObjType())) { |
| | | reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getFloorNum() |
| | | + "栋" + reportFeeMonthStatistics.getUnitNum() |
| | |
| | | repairDto.setRepairId(reportFeeMonthStatistics.getRepairId()); |
| | | //查询报修单 |
| | | List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto); |
| | | Assert.listOnlyOne(repairDtos, "查询报修单错误!"); |
| | | if (!StringUtil.isEmpty(repairDtos.get(0).getRepairObjType()) && repairDtos.get(0).getRepairObjType().equals("004")) { |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setRoomId(repairDtos.get(0).getRepairObjId()); |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 0) { //查询条数为0条 |
| | | OwnerRoomRelDto ownerRoomRel = new OwnerRoomRelDto(); |
| | | ownerRoomRel.setRoomId(repairDtos.get(0).getRepairObjId()); |
| | | ownerRoomRel.setStatusCd("1"); //看看业主房屋关系数据是否删除了 |
| | | List<OwnerRoomRelDto> ownerRoomRels = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRel); |
| | | Assert.listOnlyOne(ownerRoomRels, "查询业主房屋关系表错误!"); |
| | | OwnerDto owner = new OwnerDto(); |
| | | owner.setOwnerId(ownerRoomRels.get(0).getOwnerId()); |
| | | owner.setOwnerTypeCd("1001"); //业主本人 |
| | | List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwners(owner); |
| | | if (owners != null && owners.size() == 0) { //查出条数为0条 |
| | | //判断业主是否删除了 |
| | | OwnerDto newOwner = new OwnerDto(); |
| | | newOwner.setOwnerId(ownerRoomRels.get(0).getOwnerId()); |
| | | newOwner.setOwnerTypeCd("1001"); //业主本人 |
| | | newOwner.setStatusCd("1"); |
| | | List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner); |
| | | Assert.listOnlyOne(newOwners, "查询业主信息错误!"); |
| | | reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName()); |
| | | } else if (owners != null && owners.size() == 1) { //查出条数为1条 |
| | | reportFeeMonthStatistics.setOwnerName(owners.get(0).getName()); |
| | | //Assert.listOnlyOne(repairDtos, "查询报修单错误!"); |
| | | if (repairDtos != null && repairDtos.size() == 1) { |
| | | if (!StringUtil.isEmpty(repairDtos.get(0).getRepairObjType()) && repairDtos.get(0).getRepairObjType().equals("004")) { |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setRoomId(repairDtos.get(0).getRepairObjId()); |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 0) { //查询条数为0条 |
| | | OwnerRoomRelDto ownerRoomRel = new OwnerRoomRelDto(); |
| | | ownerRoomRel.setRoomId(repairDtos.get(0).getRepairObjId()); |
| | | ownerRoomRel.setStatusCd("1"); //看看业主房屋关系数据是否删除了 |
| | | List<OwnerRoomRelDto> ownerRoomRels = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRel); |
| | | Assert.listOnlyOne(ownerRoomRels, "查询业主房屋关系表错误!"); |
| | | OwnerDto owner = new OwnerDto(); |
| | | owner.setOwnerId(ownerRoomRels.get(0).getOwnerId()); |
| | | owner.setOwnerTypeCd("1001"); //业主本人 |
| | | List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwners(owner); |
| | | if (owners != null && owners.size() == 0) { //查出条数为0条 |
| | | //判断业主是否删除了 |
| | | OwnerDto newOwner = new OwnerDto(); |
| | | newOwner.setOwnerId(ownerRoomRels.get(0).getOwnerId()); |
| | | newOwner.setOwnerTypeCd("1001"); //业主本人 |
| | | newOwner.setStatusCd("1"); |
| | | List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner); |
| | | Assert.listOnlyOne(newOwners, "查询业主信息错误!"); |
| | | reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName()); |
| | | } else if (owners != null && owners.size() == 1) { //查出条数为1条 |
| | | reportFeeMonthStatistics.setOwnerName(owners.get(0).getName()); |
| | | } else { |
| | | throw new IllegalArgumentException("查询业主信息错误!"); |
| | | } |
| | | } else if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 1) { //查询条数为1条 |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId()); |
| | | ownerDto.setOwnerTypeCd("1001"); //业主本人 |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); |
| | | if (ownerDtos != null && ownerDtos.size() == 0) { //业主查询条数为0条 |
| | | //判断业主是否删除了 |
| | | OwnerDto newOwner = new OwnerDto(); |
| | | newOwner.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId()); |
| | | newOwner.setOwnerTypeCd("1001"); //业主本人 |
| | | newOwner.setStatusCd("1"); |
| | | List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner); |
| | | Assert.listOnlyOne(newOwners, "查询业主信息错误!"); |
| | | reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName()); |
| | | } else if (ownerDtos != null || ownerDtos.size() == 1) { |
| | | reportFeeMonthStatistics.setOwnerName(ownerDtos.get(0).getName()); |
| | | } else { |
| | | throw new IllegalArgumentException("查询业主信息错误!"); |
| | | } |
| | | } else { |
| | | throw new IllegalArgumentException("查询业主信息错误!"); |
| | | throw new IllegalArgumentException("查询业主房屋关系表错误!"); |
| | | } |
| | | } else if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 1) { //查询条数为1条 |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId()); |
| | | ownerDto.setOwnerTypeCd("1001"); //业主本人 |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); |
| | | if (ownerDtos != null && ownerDtos.size() == 0) { //业主查询条数为0条 |
| | | //判断业主是否删除了 |
| | | OwnerDto newOwner = new OwnerDto(); |
| | | newOwner.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId()); |
| | | newOwner.setOwnerTypeCd("1001"); //业主本人 |
| | | newOwner.setStatusCd("1"); |
| | | List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner); |
| | | Assert.listOnlyOne(newOwners, "查询业主信息错误!"); |
| | | reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName()); |
| | | } else if (ownerDtos != null || ownerDtos.size() == 1) { |
| | | reportFeeMonthStatistics.setOwnerName(ownerDtos.get(0).getName()); |
| | | } else { |
| | | throw new IllegalArgumentException("查询业主信息错误!"); |
| | | } |
| | | } else { |
| | | throw new IllegalArgumentException("查询业主房屋关系表错误!"); |
| | | } |
| | | } |
| | | } |
| | |
| | | //实收金额(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalReceivedAmount(String.format("%.2f", totalReceivedAmount)); |
| | | //优惠金额(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalPreferentialAmount(String.valueOf(totalPreferentialAmount)); |
| | | reportFeeMonthStatisticsTotalDto.setTotalPreferentialAmount(String.format("%.2f", totalPreferentialAmount)); |
| | | //减免金额(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalDeductionAmount(String.valueOf(totalDeductionAmount)); |
| | | reportFeeMonthStatisticsTotalDto.setTotalDeductionAmount(String.format("%.2f", totalDeductionAmount)); |
| | | //滞纳金(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalLateFee(String.valueOf(totalLateFee)); |
| | | reportFeeMonthStatisticsTotalDto.setTotalLateFee(String.format("%.2f", totalLateFee)); |
| | | //空置房打折(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalVacantHousingDiscount(String.valueOf(totalVacantHousingDiscount)); |
| | | reportFeeMonthStatisticsTotalDto.setTotalVacantHousingDiscount(String.format("%.2f", totalVacantHousingDiscount)); |
| | | //空置房减免(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalVacantHousingReduction(String.valueOf(totalVacantHousingReduction)); |
| | | reportFeeMonthStatisticsTotalDto.setTotalVacantHousingReduction(String.format("%.2f", totalVacantHousingReduction)); |
| | | //赠送规则金额(小计) |
| | | reportFeeMonthStatisticsTotalDto.setTotalGiftAmount(String.format("%.2f", totalGiftAmount)); |
| | | //应收金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllReceivableAmount(String.format("%.2f", allReceivableAmount)); |
| | | //实收金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllReceivedAmount(String.format("%.2f", allReceivedAmount)); |
| | | //优惠金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllPreferentialAmount(String.valueOf(allPreferentialAmount)); |
| | | reportFeeMonthStatisticsTotalDto.setAllPreferentialAmount(String.format("%.2f", allPreferentialAmount)); |
| | | //减免金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllDeductionAmount(String.valueOf(allDeductionAmount)); |
| | | reportFeeMonthStatisticsTotalDto.setAllDeductionAmount(String.format("%.2f", allDeductionAmount)); |
| | | //滞纳金(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllLateFee(String.valueOf(allLateFee)); |
| | | reportFeeMonthStatisticsTotalDto.setAllLateFee(String.format("%.2f", allLateFee)); |
| | | //空置房打折金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllVacantHousingDiscount(String.valueOf(allVacantHousingDiscount)); |
| | | reportFeeMonthStatisticsTotalDto.setAllVacantHousingDiscount(String.format("%.2f", allVacantHousingDiscount)); |
| | | //空置房减免金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllVacantHousingReduction(String.valueOf(allVacantHousingReduction)); |
| | | reportFeeMonthStatisticsTotalDto.setAllVacantHousingReduction(String.format("%.2f", allVacantHousingReduction)); |
| | | //赠送规则金额(大计) |
| | | reportFeeMonthStatisticsTotalDto.setAllGiftAmount(String.format("%.2f", allGiftAmount)); |
| | | } else { |
| | | reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | reportList.addAll(reportFeeMonthStatisticsDtos); |
| | |
| | | continue; |
| | | } |
| | | for (OwnerDto ownerDto1 : ownerDtos) { |
| | | if (!reportFeeMonthStatisticsDto.getOwnerId().equals(ownerDto1.getOwnerId())) { |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatisticsDto.getOwnerId()) && !reportFeeMonthStatisticsDto.getOwnerId().equals(ownerDto1.getOwnerId())) { |
| | | continue; |
| | | } |
| | | objName = reportFeeMonthStatisticsDto.getObjName() + "(" + ownerDto1.getFloorNum() + "栋" + ownerDto1.getUnitNum() + "单元" + ownerDto1.getRoomNum() + "室)"; |
| | |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> queryReportProficientCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + ""); |
| | | reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + ""); |
| | | JSONObject result = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto); |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(result.toString(), HttpStatus.OK); |
| | | |
| | |
| | | private void freshReportOweDay(List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos) { |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto : reportFeeMonthStatisticsDtos) { |
| | | try { |
| | | int day = DateUtil.daysBetween(DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getDeadlineTime(), DateUtil.DATE_FORMATE_STRING_A), DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getFeeCreateTime(), |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | int day = DateUtil.daysBetween(DateUtil.getDateFromString(format.format(new Date()), DateUtil.DATE_FORMATE_STRING_A), DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getFeeCreateTime(), |
| | | DateUtil.DATE_FORMATE_STRING_A)); |
| | | reportFeeMonthStatisticsDto.setOweDay(day); |
| | | } catch (Exception e) { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | private void freshReportDeadlineDay(List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos) { |
| | | |
| | | Date nowDate = DateUtil.getCurrentDate(); |