service-report/src/main/java/com/java110/report/api/ReportFeeMonthStatisticsApi.java
@@ -1,10 +1,11 @@
package com.java110.report.api;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.RoomDto;
import com.java110.dto.room.RoomDto;
import com.java110.dto.repair.RepairUserDto;
import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
import com.java110.po.reportFeeMonthStatistics.ReportFeeMonthStatisticsPo;
import com.java110.dto.report.ReportDeposit;
import com.java110.dto.reportFee.ReportFeeMonthStatisticsDto;
import com.java110.po.reportFee.ReportFeeMonthStatisticsPo;
import com.java110.report.bmo.reportFeeMonthStatistics.IDeleteReportFeeMonthStatisticsBMO;
import com.java110.report.bmo.reportFeeMonthStatistics.IGetReportFeeMonthStatisticsBMO;
import com.java110.report.bmo.reportFeeMonthStatistics.ISaveReportFeeMonthStatisticsBMO;
@@ -17,9 +18,9 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value = "/reportFeeMonthStatistics")
@@ -112,40 +113,6 @@
        return getReportFeeMonthStatisticsBMOImpl.get(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用汇总表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryReportFeeSummary
     * @path /app/reportFeeMonthStatistics/queryReportFeeSummary
     */
    @RequestMapping(value = "/queryReportFeeSummary", method = RequestMethod.GET)
    public ResponseEntity<String> queryReportFeeSummary(@RequestParam(value = "communityId") String communityId,
                                                        @RequestParam(value = "floorId", required = false) String floorId,
                                                        @RequestParam(value = "floorNum", required = false) String floorNum,
                                                        @RequestParam(value = "unitNum", required = false) String unitNum,
                                                        @RequestParam(value = "unitId", required = false) String unitId,
                                                        @RequestParam(value = "roomId", required = false) String roomId,
                                                        @RequestParam(value = "roomNum", required = false) String roomNum,
                                                        @RequestParam(value = "startTime", required = false) String startTime,
                                                        @RequestParam(value = "endTime", required = false) String endTime,
                                                        @RequestParam(value = "page") int page,
                                                        @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setPage(page);
        reportFeeMonthStatisticsDto.setRow(row);
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        reportFeeMonthStatisticsDto.setFloorId(floorId);
        reportFeeMonthStatisticsDto.setFloorNum(floorNum);
        reportFeeMonthStatisticsDto.setUnitId(unitId);
        reportFeeMonthStatisticsDto.setUnitNum(unitNum);
        reportFeeMonthStatisticsDto.setRoomId(roomId);
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        return getReportFeeMonthStatisticsBMOImpl.queryReportFeeSummary(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用汇总表
@@ -165,6 +132,7 @@
                                                           @RequestParam(value = "roomNum", required = false) String roomNum,
                                                           @RequestParam(value = "startTime", required = false) String startTime,
                                                           @RequestParam(value = "endTime", required = false) String endTime,
                                                           @RequestParam(value = "configIds", required = false) String configIds,
                                                           @RequestParam(value = "page") int page,
                                                           @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
@@ -179,6 +147,9 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        if (!StringUtil.isEmpty(configIds)) {
            reportFeeMonthStatisticsDto.setConfigIds(configIds.split(","));
        }
        return getReportFeeMonthStatisticsBMOImpl.queryReportFloorUnitFeeSummary(reportFeeMonthStatisticsDto);
    }
@@ -202,6 +173,7 @@
                                                    @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                    @RequestParam(value = "startTime", required = false) String startTime,
                                                    @RequestParam(value = "endTime", required = false) String endTime,
                                                    @RequestParam(value = "yearMonth", required = false) String yearMonth,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
@@ -216,8 +188,13 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setConfigId(configId);
        reportFeeMonthStatisticsDto.setFeeTypeCd(feeTypeCd);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        reportFeeMonthStatisticsDto.setYearMonth(yearMonth);
        if (!StringUtil.isEmpty(startTime)) {
            reportFeeMonthStatisticsDto.setStartTime(startTime + " 00:00:00");
        }
        if (!StringUtil.isEmpty(endTime)) {
            reportFeeMonthStatisticsDto.setEndTime(endTime + " 23:59:59");
        }
        return getReportFeeMonthStatisticsBMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto);
    }
@@ -237,6 +214,7 @@
                                                 @RequestParam(value = "unitId", required = false) String unitId,
                                                 @RequestParam(value = "roomId", required = false) String roomId,
                                                 @RequestParam(value = "roomNum", required = false) String roomNum,
                                                 @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                 @RequestParam(value = "startTime", required = false) String startTime,
                                                 @RequestParam(value = "endTime", required = false) String endTime,
                                                 @RequestParam(value = "feeName", required = false) String feeName,
@@ -255,6 +233,7 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setFeeName(feeName);
        reportFeeMonthStatisticsDto.setConfigId(configId);
        reportFeeMonthStatisticsDto.setFeeTypeCd(feeTypeCd);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        return getReportFeeMonthStatisticsBMOImpl.queryFeeDetail(reportFeeMonthStatisticsDto);
@@ -278,6 +257,7 @@
                                                    @RequestParam(value = "roomNum", required = false) String roomNum,
                                                    @RequestParam(value = "startTime", required = false) String startTime,
                                                    @RequestParam(value = "endTime", required = false) String endTime,
                                                    @RequestParam(value = "objName", required = false) String objName,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
@@ -292,6 +272,7 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        reportFeeMonthStatisticsDto.setObjName(objName);
        return getReportFeeMonthStatisticsBMOImpl.queryOweFeeDetail(reportFeeMonthStatisticsDto);
    }
@@ -312,9 +293,15 @@
                                                    @RequestParam(value = "roomId", required = false) String roomId,
                                                    @RequestParam(value = "roomNum", required = false) String roomNum,
                                                    @RequestParam(value = "primeRate", required = false) String primeRate,
                                                    @RequestParam(value = "state", required = false) String state,
                                                    @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                    @RequestParam(value = "configId", required = false) String configId,
                                                    @RequestParam(value = "startTime", required = false) String startTime,
                                                    @RequestParam(value = "endTime", required = false) String endTime,
                                                    @RequestParam(value = "feeStartTime", required = false) String feeStartTime,
                                                    @RequestParam(value = "feeEndTime", required = false) String feeEndTime,
                                                    @RequestParam(value = "objId", required = false) String objId,
                                                    @RequestParam(value = "roomName", required = false) String roomName,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
@@ -328,10 +315,63 @@
        reportFeeMonthStatisticsDto.setRoomId(roomId);
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setPrimeRate(primeRate);
        reportFeeMonthStatisticsDto.setState(state);
        reportFeeMonthStatisticsDto.setFeeTypeCd(feeTypeCd);
        reportFeeMonthStatisticsDto.setConfigId(configId);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        if(!StringUtil.isEmpty(endTime)){
            endTime += " 23:59:59";
        }
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        reportFeeMonthStatisticsDto.setFeeStartTime(feeStartTime);
        reportFeeMonthStatisticsDto.setFeeEndTime(feeEndTime);
        reportFeeMonthStatisticsDto.setObjId(objId);
        if (!StringUtil.isEmpty(roomName)) {
            String[] roomNameArray = roomName.split("-", 3);
            reportFeeMonthStatisticsDto.setFloorNum(roomNameArray[0]);
            reportFeeMonthStatisticsDto.setUnitNum(roomNameArray[1]);
            reportFeeMonthStatisticsDto.setRoomNum(roomNameArray[2]);
        }
        return getReportFeeMonthStatisticsBMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto);
    }
    /**
     * 押金报表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryPayFeeDeposit
     * @path /app/reportFeeMonthStatistics/queryPayFeeDeposit
     */
    @RequestMapping(value = "/queryPayFeeDeposit", method = RequestMethod.GET)
    public ResponseEntity<String> queryPayFeeDeposit(@RequestParam(value = "communityId") String communityId,
                                                     @RequestParam(value = "configId", required = false) String configId,
                                                     @RequestParam(value = "feeId", required = false) String feeId,
                                                     @RequestParam(value = "startTime", required = false) String startTime,
                                                     @RequestParam(value = "endTime", required = false) String endTime,
                                                     @RequestParam(value = "payerObjType", required = false) String payerObjType,
                                                     @RequestParam(value = "state", required = false) String state,
                                                     @RequestParam(value = "detailState", required = false) String detailState,
                                                     @RequestParam(value = "floorId", required = false) String floorId,
                                                     @RequestParam(value = "unitId", required = false) String unitId,
                                                     @RequestParam(value = "roomNum", required = false) String roomNum,
                                                     @RequestParam(value = "page") int page,
                                                     @RequestParam(value = "row") int row) {
        ReportDeposit reportDeposit = new ReportDeposit();
        reportDeposit.setPage(page);
        reportDeposit.setRow(row);
        reportDeposit.setConfigId(configId);
        reportDeposit.setFeeId(feeId);
        reportDeposit.setFeeStartTime(startTime);
        reportDeposit.setFeeEndTime(endTime);
        reportDeposit.setPayerObjType(payerObjType);
        reportDeposit.setState(state);
        reportDeposit.setDetailState(detailState);
        reportDeposit.setCommunityId(communityId);
        reportDeposit.setFloorId(floorId);
        reportDeposit.setUnitId(unitId);
        reportDeposit.setRoomNum(roomNum);
        return getReportFeeMonthStatisticsBMOImpl.queryPayFeeDeposit(reportDeposit);
    }
    /**
@@ -416,7 +456,6 @@
        return getReportFeeMonthStatisticsBMOImpl.queryDeadlineFee(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用分项表
     *
@@ -460,29 +499,6 @@
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryPrePayment
     * @path /app/reportFeeMonthStatistics/queryPrePayment
     */
    @RequestMapping(value = "/queryPrePayment", method = RequestMethod.GET)
    public ResponseEntity<String> queryPrePayment(@RequestParam(value = "communityId") String communityId,
                                                  @RequestParam(value = "page") int page,
                                                  @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        reportFeeMonthStatisticsDto.setPage(page);
        reportFeeMonthStatisticsDto.setRow(row);
        reportFeeMonthStatisticsDto.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DAY_OF_MONTH, 7);
        reportFeeMonthStatisticsDto.setEndTime(DateUtil.getFormatTimeString(calendar.getTime(), DateUtil.DATE_FORMATE_STRING_A));
        return getReportFeeMonthStatisticsBMOImpl.queryPrePayment(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用分项表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryOwePaymentCount
     * @path /app/reportFeeMonthStatistics/queryOwePaymentCount
     */
@@ -491,22 +507,6 @@
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        return getReportFeeMonthStatisticsBMOImpl.queryOwePaymentCount(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用分项表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryReportProficient
     * @path /app/reportFeeMonthStatistics/queryReportProficient
     */
    @RequestMapping(value = "/queryReportProficient", method = RequestMethod.GET)
    public ResponseEntity<String> queryReportProficient(@RequestParam(value = "communityId") String communityId) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        return getReportFeeMonthStatisticsBMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto);
    }
    /**
@@ -531,16 +531,142 @@
     * @path /app/reportFeeMonthStatistics/queryNoFeeRooms
     */
    @RequestMapping(value = "/queryNoFeeRooms", method = RequestMethod.GET)
    public ResponseEntity<String> queryNoFeeRooms(
            @RequestParam(value = "communityId") String communityId,
            @RequestParam(value = "page") int page,
            @RequestParam(value = "row") int row
            ) {
    public ResponseEntity<String> queryNoFeeRooms(@RequestParam(value = "communityId") String communityId,
                                                  @RequestParam(value = "floorId") String floorId,
                                                  @RequestParam(value = "unitId") String unitId,
                                                  @RequestParam(value = "roomId") String roomId,
                                                  @RequestParam(value = "ownerName") String ownerName,
                                                  @RequestParam(value = "link") String link,
                                                  @RequestParam(value = "page") int page,
                                                  @RequestParam(value = "row") int row) {
        RoomDto roomDto = new RoomDto();
        roomDto.setCommunityId(communityId);
        roomDto.setFloorId(floorId);
        roomDto.setUnitId(unitId);
        roomDto.setRoomId(roomId);
        roomDto.setOwnerName(ownerName);
        roomDto.setLink(link);
        roomDto.setPage(page);
        roomDto.setRow(row);
        return getReportFeeMonthStatisticsBMOImpl.queryNoFeeRooms(roomDto);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningOweFee
     * @path /app/reportFeeMonthStatistics/queryHuaningOweFee
     */
    @RequestMapping(value = "/queryHuaningOweFee", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningOweFee(@RequestParam(value = "communityId") String communityId,
                                                     @RequestParam(value = "configId", required = false) String configId,
                                                     @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                     @RequestParam(value = "floorNum", required = false) String floorNum,
                                                     @RequestParam(value = "page") int page,
                                                     @RequestParam(value = "row") int row) {
        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = new ReportFeeMonthStatisticsDto();
        reportFeeMonthStatisticsDto.setCommunityId(communityId);
        reportFeeMonthStatisticsDto.setConfigId(configId);
        reportFeeMonthStatisticsDto.setFeeTypeCd(feeTypeCd);
        reportFeeMonthStatisticsDto.setFloorNum(floorNum);
        reportFeeMonthStatisticsDto.setPage(page);
        reportFeeMonthStatisticsDto.setRow(row);
        reportFeeMonthStatisticsDto.setStartTime(DateUtil.getYear() + "-01-01");
        reportFeeMonthStatisticsDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningOweFee(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningPayFee
     * @path /app/reportFeeMonthStatistics/queryHuaningPayFee
     */
    @RequestMapping(value = "/queryHuaningPayFee", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningPayFee(@RequestParam(value = "communityId") String communityId,
                                                     @RequestParam(value = "configId", required = false) String configId,
                                                     @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                     @RequestParam(value = "floorNum", required = false) String floorNum,
                                                     @RequestParam(value = "year", required = false) int year,
                                                     @RequestParam(value = "month", required = false) int month,
                                                     @RequestParam(value = "page") int page,
                                                     @RequestParam(value = "row") int row) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("configId", configId);
        paramInfo.put("feeTypeCd", feeTypeCd);
        paramInfo.put("floorNum", floorNum);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        paramInfo.put("startTime", DateUtil.getYear() + "-01-01");
        paramInfo.put("endTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_Q) + "-01");
        paramInfo.put("nextMonthTime", DateUtil.getFormatTimeStringB(DateUtil.getNextMonthFirstDate()));
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningPayFee(paramInfo);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningPayFeeTwo
     * @path /app/reportFeeMonthStatistics/queryHuaningPayFeeTwo
     */
    @RequestMapping(value = "/queryHuaningPayFeeTwo", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningPayFeeTwo(@RequestParam(value = "communityId") String communityId,
                                                        @RequestParam(value = "year") int year,
                                                        @RequestParam(value = "month") int month,
                                                        @RequestParam(value = "page") int page,
                                                        @RequestParam(value = "row") int row) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningPayFeeTwo(paramInfo);
    }
    /**
     * 查询华宁物业 欠费统计报表
     * 作者: 吴学文
     * 时间:2021-08-13
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryHuaningOweFeeDetail
     * @path /app/reportFeeMonthStatistics/queryHuaningOweFeeDetail
     */
    @RequestMapping(value = "/queryHuaningOweFeeDetail", method = RequestMethod.GET)
    public ResponseEntity<String> queryHuaningOweFeeDetail(@RequestParam(value = "communityId") String communityId,
                                                           @RequestParam(value = "year") int year,
                                                           @RequestParam(value = "month") int month,
                                                           @RequestParam(value = "feeTypeCd", required = false) String feeTypeCd,
                                                           @RequestParam(value = "floorNum", required = false) String floorNum,
                                                           @RequestParam(value = "page") int page,
                                                           @RequestParam(value = "row") int row) {
        Map paramInfo = new HashMap();
        paramInfo.put("communityId", communityId);
        paramInfo.put("year", year);
        paramInfo.put("month", month);
        paramInfo.put("page", page);
        paramInfo.put("row", row);
        paramInfo.put("feeTypeCd", feeTypeCd);
        paramInfo.put("floorNum", floorNum);
        paramInfo.put("startTime", DateUtil.getYear() + "-01-01");
        paramInfo.put("endTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B));
        return getReportFeeMonthStatisticsBMOImpl.queryHuaningOweFeeDetail(paramInfo);
    }
}