wuxw
2024-03-15 35f4412614a4801dc26f9284c8c15457e1db2a7f
service-report/src/main/java/com/java110/report/api/ReportFeeMonthStatisticsApi.java
@@ -1,9 +1,11 @@
package com.java110.report.api;
import com.alibaba.fastjson.JSONObject;
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;
@@ -16,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")
@@ -111,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);
    }
    /**
     * 查询费用汇总表
@@ -164,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();
@@ -178,6 +147,9 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        if (!StringUtil.isEmpty(configIds)) {
            reportFeeMonthStatisticsDto.setConfigIds(configIds.split(","));
        }
        return getReportFeeMonthStatisticsBMOImpl.queryReportFloorUnitFeeSummary(reportFeeMonthStatisticsDto);
    }
@@ -201,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();
@@ -215,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);
    }
@@ -236,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,
@@ -254,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);
@@ -277,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();
@@ -291,46 +272,48 @@
        reportFeeMonthStatisticsDto.setRoomNum(roomNum);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        reportFeeMonthStatisticsDto.setObjName(objName);
        return getReportFeeMonthStatisticsBMOImpl.queryOweFeeDetail(reportFeeMonthStatisticsDto);
    }
    /**
     * 缴费明细表
     * 押金报表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryPayFeeDetail
     * @path /app/reportFeeMonthStatistics/queryPayFeeDetail
     * @serviceCode /reportFeeMonthStatistics/queryPayFeeDeposit
     * @path /app/reportFeeMonthStatistics/queryPayFeeDeposit
     */
    @RequestMapping(value = "/queryPayFeeDetail", method = RequestMethod.GET)
    public ResponseEntity<String> queryPayFeeDetail(@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 = "primeRate", required = false) String primeRate,
                                                    @RequestParam(value = "configId", required = false) String configId,
                                                    @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.setPrimeRate(primeRate);
        reportFeeMonthStatisticsDto.setConfigId(configId);
        reportFeeMonthStatisticsDto.setStartTime(startTime);
        reportFeeMonthStatisticsDto.setEndTime(endTime);
        return getReportFeeMonthStatisticsBMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto);
    @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);
    }
    /**
@@ -415,7 +398,6 @@
        return getReportFeeMonthStatisticsBMOImpl.queryDeadlineFee(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询费用分项表
     *
@@ -459,29 +441,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
     */
@@ -492,20 +451,164 @@
        return getReportFeeMonthStatisticsBMOImpl.queryOwePaymentCount(reportFeeMonthStatisticsDto);
    }
    /**
     * 查询未收费房屋
     * select t.* from building_room t
     * inner join building_unit bu on t.unit_id  = bu.unit_id and bu.status_cd = '0'
     * inner join f_floor f on bu.floor_id = f.floor_id and f.status_cd = '0'
     * where t.status_cd = '0'
     * and not exists(
     *    select 1 from pay_fee pf where t.room_id = pf.payer_obj_id and pf.status_cd = '0' and pf.state = '2008001'
     * )
     *
     * limit 10
     */
    /**
     * 查询费用分项表
     *
     * @param communityId 小区ID
     * @return
     * @serviceCode /reportFeeMonthStatistics/queryReportProficient
     * @path /app/reportFeeMonthStatistics/queryReportProficient
     * @serviceCode /reportFeeMonthStatistics/queryNoFeeRooms
     * @path /app/reportFeeMonthStatistics/queryNoFeeRooms
     */
    @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);
    @RequestMapping(value = "/queryNoFeeRooms", method = RequestMethod.GET)
    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);
    }
}