old mode 100644
new mode 100755
| | |
| | | package com.java110.report.bmo.reportFeeMonthStatistics.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.repair.RepairUserDto; |
| | | import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto; |
| | | import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto; |
| | | import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO; |
| | |
| | | public ResponseEntity<String> queryReportFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryCount(reportFeeMonthStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null; |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | if (count > 0) { |
| | | reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummary(reportFeeMonthStatisticsDto); |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummary(reportFeeMonthStatisticsDto); |
| | | for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsList) { |
| | | //获取应收金额 |
| | | double receivableAmount = Double.parseDouble(reportFeeMonthStatistics.getReceivableAmount()); |
| | | //获取实收金额 |
| | | double receivedAmount = Double.parseDouble(reportFeeMonthStatistics.getReceivedAmount()); |
| | | double chargeRate = (receivedAmount / receivableAmount) * 100.0; |
| | | reportFeeMonthStatistics.setChargeRate(String.format("%.2f", chargeRate) + "%"); |
| | | reportFeeMonthStatisticsDtos.add(reportFeeMonthStatistics); |
| | | } |
| | | } else { |
| | | reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | } |
| | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryPayFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |
| | | JSONObject countInfo = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetailCount(reportFeeMonthStatisticsDto); |
| | | |
| | | int count = Integer.parseInt(countInfo.get("count").toString()); |
| | |
| | | totalPreferentialAmount = totalPreferentialAmount + discountPrice; |
| | | //优惠金额 |
| | | reportFeeMonthStatistics.setPreferentialAmount(reportFeeMonthStatistics.getDiscountPrice()); |
| | | }else{ |
| | | } else { |
| | | reportFeeMonthStatistics.setPreferentialAmount("0"); |
| | | |
| | | } |
| | | //减免金额 |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("2")) { |
| | |
| | | totalDeductionAmount = totalDeductionAmount + discountPrice; |
| | | //减免金额 |
| | | reportFeeMonthStatistics.setDeductionAmount(reportFeeMonthStatistics.getDiscountPrice()); |
| | | }else{ |
| | | } else { |
| | | reportFeeMonthStatistics.setDeductionAmount("0"); |
| | | } |
| | | //滞纳金 |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) { |
| | | //获取滞纳金金额 |
| | | Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice()))*(-1); |
| | | Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())) * (-1); |
| | | totalLateFee = totalLateFee + discountPrice; |
| | | //滞纳金 |
| | | reportFeeMonthStatistics.setLateFee(reportFeeMonthStatistics.getDiscountPrice()); |
| | | }else{ |
| | | } else { |
| | | reportFeeMonthStatistics.setLateFee("0"); |
| | | } |
| | | //空置房打折 |
| | |
| | | totalVacantHousingDiscount = totalVacantHousingDiscount + discountPrice; |
| | | //空置房打折 |
| | | reportFeeMonthStatistics.setVacantHousingDiscount(reportFeeMonthStatistics.getDiscountPrice()); |
| | | }else{ |
| | | } else { |
| | | reportFeeMonthStatistics.setVacantHousingDiscount("0"); |
| | | } |
| | | //空置房减免 |
| | |
| | | totalVacantHousingReduction = totalVacantHousingReduction + discountPrice; |
| | | //空置房减免 |
| | | reportFeeMonthStatistics.setVacantHousingReduction(reportFeeMonthStatistics.getDiscountPrice()); |
| | | }else{ |
| | | } else { |
| | | reportFeeMonthStatistics.setVacantHousingReduction("0"); |
| | | } |
| | | |
| | | if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportFeeMonthStatistics.getPayerObjType())) { |
| | | reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getFloorNum() |
| | | + "栋" + reportFeeMonthStatistics.getUnitNum() |
| | | + "单元" + reportFeeMonthStatistics.getRoomNum() + "室"); |
| | | } else { |
| | | } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(reportFeeMonthStatistics.getPayerObjType())) { |
| | | reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getCarNum()); |
| | | } |
| | | } else { |
| | | reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getContractCode()); |
| | | |
| | | } |
| | | if (!StringUtil.isEmpty(reportFeeMonthStatistics.getImportFeeName())) { |
| | | reportFeeMonthStatistics.setFeeName(reportFeeMonthStatistics.getImportFeeName()); |
| | | } |
| | | |
| | | //费用项目 |
| | | reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos); |
| | | reportList.add(reportFeeMonthStatistics); |
| | |
| | | reportList.addAll(reportFeeMonthStatisticsDtos); |
| | | reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto(); |
| | | } |
| | | |
| | | /*FeeDetailResultVo resultVo = new FeeDetailResultVo(countInfo.getDouble("totalReceivableAmount"), countInfo.getDouble("totalReceivedAmount"), |
| | | (int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList);*/ |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList, reportFeeMonthStatisticsTotalDto); |
| | | |
| | |
| | | return responseEntity; |
| | | } |
| | | |
| | | /** |
| | | * 查询报表专家 统计信息 |
| | | * |
| | | * @param reportFeeMonthStatisticsDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> queryReportProficientCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | JSONObject result = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto); |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(result.toString(), HttpStatus.OK); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | /** |
| | | * 查询报修信息 |
| | | * |
| | | * @param repairUserDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ResponseEntity<String> queryRepair(RepairUserDto repairUserDto) { |
| | | //查询员工报修表员工信息 |
| | | List<RepairUserDto> repairUsers = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto); |
| | | int count = repairUsers.size(); |
| | | //获取员工id和姓名集合 |
| | | List<RepairUserDto> staffs; |
| | | if (StringUtil.isEmpty(repairUserDto.getStaffId())) { |
| | | repairUserDto.setPage(-1); |
| | | staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto); |
| | | } else { |
| | | repairUserDto.setPage(-1); |
| | | repairUserDto.setStaffId(null); |
| | | staffs = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairForStaff(repairUserDto); |
| | | } |
| | | List<RepairUserDto> repairUserList = new ArrayList<>(); |
| | | //处理中总数量 |
| | | int dealNumber = 0; |
| | | //结单总数量 |
| | | int statementNumber = 0; |
| | | //退单总数量 |
| | | int chargebackNumber = 0; |
| | | //转单总数量 |
| | | int transferOrderNumber = 0; |
| | | //派单总数量 |
| | | int dispatchNumber = 0; |
| | | //已回访总数量 |
| | | int returnNumber = 0; |
| | | if (count > 0) { |
| | | for (RepairUserDto repairUser : repairUsers) { |
| | | RepairUserDto repairUserInfo = new RepairUserDto(); |
| | | //员工id |
| | | repairUserDto.setStaffId(repairUser.getStaffId()); |
| | | List<RepairUserDto> repairUserDtoList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryRepairWithOutPage(repairUserDto); |
| | | if (repairUserDtoList != null && repairUserDtoList.size() > 0) { |
| | | //处理中数量 |
| | | int dealAmount = 0; |
| | | //结单数量 |
| | | int statementAmount = 0; |
| | | //退单数量 |
| | | int chargebackAmount = 0; |
| | | //转单数量 |
| | | int transferOrderAmount = 0; |
| | | //派单数量 |
| | | int dispatchAmount = 0; |
| | | //回访数量 |
| | | int returnAmount = 0; |
| | | //评分 |
| | | String score = ""; |
| | | for (RepairUserDto repair : repairUserDtoList) { |
| | | //处理中状态 |
| | | if (repair.getState().equals("10001")) { |
| | | //获取数量 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | dealAmount = dealAmount + amount; |
| | | } else if (repair.getState().equals("10002")) { //结单状态 |
| | | //获取数量 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | statementAmount = statementAmount + amount; |
| | | } else if (repair.getState().equals("10003")) { //退单状态 |
| | | //获取数量 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | chargebackAmount = chargebackAmount + amount; |
| | | } else if (repair.getState().equals("10004")) { //转单状态 |
| | | //获取数量 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | transferOrderAmount = transferOrderAmount + amount; |
| | | } else if (repair.getState().equals("10006")) { //派单状态 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | dispatchAmount = dispatchAmount + amount; |
| | | } else if (repair.getState().equals("10008")) { //已回访状态 |
| | | int amount = Integer.parseInt(repair.getAmount()); |
| | | returnAmount = returnAmount + amount; |
| | | } |
| | | if (!StringUtil.isEmpty(repair.getScore())) { |
| | | score = repair.getScore(); |
| | | } |
| | | } |
| | | //员工id |
| | | repairUserInfo.setStaffId(repairUser.getStaffId()); |
| | | //员工姓名 |
| | | repairUserInfo.setStaffName(repairUser.getStaffName()); |
| | | //处理中报修数量 |
| | | repairUserInfo.setDealAmount(Integer.toString(dealAmount)); |
| | | //处理中报修总数量 |
| | | repairUserInfo.setDealNumber(Integer.toString(dealNumber)); |
| | | //结单报修数量 |
| | | repairUserInfo.setStatementAmount(Integer.toString(statementAmount)); |
| | | //结单报修总数量 |
| | | repairUserInfo.setStatementNumber(Integer.toString(statementNumber)); |
| | | //退单报修数量 |
| | | repairUserInfo.setChargebackAmount(Integer.toString(chargebackAmount)); |
| | | //退单报修总数量 |
| | | repairUserInfo.setChargebackNumber(Integer.toString(chargebackNumber)); |
| | | //转单报修数量 |
| | | repairUserInfo.setTransferOrderAmount(Integer.toString(transferOrderAmount)); |
| | | //转单报修总数量 |
| | | repairUserInfo.setTransferOrderNumber(Integer.toString(transferOrderNumber)); |
| | | //派单报修数量 |
| | | repairUserInfo.setDispatchAmount(Integer.toString(dispatchAmount)); |
| | | //派单报修总数量 |
| | | repairUserInfo.setDispatchNumber(Integer.toString(dispatchNumber)); |
| | | //回访数量 |
| | | repairUserInfo.setReturnAmount(Integer.toString(returnAmount)); |
| | | //回访总数量 |
| | | repairUserInfo.setReturnNumber(Integer.toString(returnNumber)); |
| | | //员工id和姓名信息集合 |
| | | repairUserInfo.setRepairList(staffs); |
| | | //员工评分 |
| | | repairUserInfo.setScore(score); |
| | | repairUserList.add(repairUserInfo); |
| | | } else { |
| | | continue; |
| | | } |
| | | dealNumber = Integer.parseInt(repairUserInfo.getDealAmount()) + dealNumber; |
| | | statementNumber = Integer.parseInt(repairUserInfo.getStatementAmount()) + statementNumber; |
| | | chargebackNumber = Integer.parseInt(repairUserInfo.getChargebackAmount()) + chargebackNumber; |
| | | transferOrderNumber = Integer.parseInt(repairUserInfo.getTransferOrderAmount()) + transferOrderNumber; |
| | | dispatchNumber = Integer.parseInt(repairUserInfo.getDispatchAmount()) + dispatchNumber; |
| | | returnNumber = Integer.parseInt(repairUserInfo.getReturnAmount()) + returnNumber; |
| | | } |
| | | } else { |
| | | repairUserList = new ArrayList<>(); |
| | | } |
| | | |
| | | RepairUserDto repairUser = new RepairUserDto(); |
| | | repairUser.setDealNumber(Integer.toString(dealNumber)); |
| | | repairUser.setStatementNumber(Integer.toString(statementNumber)); |
| | | repairUser.setChargebackNumber(Integer.toString(chargebackNumber)); |
| | | repairUser.setTransferOrderNumber(Integer.toString(transferOrderNumber)); |
| | | repairUser.setDispatchNumber(Integer.toString(dispatchNumber)); |
| | | repairUser.setReturnNumber(Integer.toString(returnNumber)); |
| | | |
| | | //获取总条数 |
| | | int size = staffs.size(); |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) repairUserDto.getRow()), repairUserList.size(), repairUserList, staffs, repairUser); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryNoFeeRooms(RoomDto roomDto) { |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRoomsCount(roomDto); |
| | | |
| | | List<RoomDto> roomDtos = null; |
| | | if (count > 0) { |
| | | roomDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryNoFeeRooms(roomDto); |
| | | } else { |
| | | roomDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) roomDto.getRow()), count, roomDtos); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |
| | | return responseEntity; |
| | | } |
| | | |
| | | @Override |
| | | public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) { |
| | | |