| | |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.owner.OwnerRoomRelDto; |
| | | import com.java110.dto.repair.RepairDto; |
| | | import com.java110.dto.repair.RepairUserDto; |
| | | import com.java110.dto.report.ReportDeposit; |
| | | import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto; |
| | | import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto; |
| | | import com.java110.intf.community.IRepairInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; |
| | | import com.java110.report.bmo.reportFeeMonthStatistics.IGetReportFeeMonthStatisticsBMO; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | |
| | | private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IRepairInnerServiceSMO repairInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | private IComputeFeeSMO computeFeeSMOImpl; |
| | | |
| | | /** |
| | |
| | | } |
| | | //费用项目 |
| | | reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos); |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getRepairId())) { |
| | | RepairDto repairDto = new RepairDto(); |
| | | 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()); |
| | | } 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("查询业主房屋关系表错误!"); |
| | | } |
| | | } |
| | | } |
| | | reportList.add(reportFeeMonthStatistics); |
| | | } |
| | | //应收总金额(小计) |
| | |
| | | reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos); |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |
| | |
| | | |
| | | startTime = (Date) paramIn.get("startTime"); |
| | | endTime = (Date) paramIn.get("startTime"); |
| | | double money = (double) paramIn.get("oweAmount"); |
| | | BigDecimal money = (BigDecimal) paramIn.get("oweAmount"); |
| | | double month = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, endTime)); |
| | | if (month < 1) { |
| | | paramIn.put("btAmount", 0); |
| | |
| | | } |
| | | |
| | | //每月金额 |
| | | BigDecimal monthAmount = new BigDecimal(money).divide(new BigDecimal(month), 2, BigDecimal.ROUND_HALF_EVEN); |
| | | BigDecimal monthAmount = money.divide(new BigDecimal(month), 2, BigDecimal.ROUND_HALF_EVEN); |
| | | |
| | | if (startTime.getTime() < curStart.getTime()) { |
| | | BigDecimal btAmountDec = monthAmount.multiply(new BigDecimal(curMonth)).setScale(2, BigDecimal.ROUND_HALF_EVEN); |
| | |
| | | } |
| | | |
| | | if (startTime.getTime() >= curStart.getTime()) { |
| | | paramIn.put("btAmount", money); |
| | | paramIn.put("btAmount", money.doubleValue()); |
| | | paramIn.put("bfAmount", 0); |
| | | } |
| | | } |