package com.java110.report.cmd.reportFeeMonthStatistics; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.annotation.Java110Transactional; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.data.DataPrivilegeStaffDto; import com.java110.dto.fee.FeeConfigDto; import com.java110.dto.report.QueryStatisticsDto; import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto; import com.java110.intf.community.IDataPrivilegeUnitV1InnerServiceSMO; import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO; import com.java110.report.bmo.reportFeeMonthStatistics.IGetReportFeeMonthStatisticsBMO; import com.java110.report.statistics.IBaseDataStatistics; import com.java110.report.statistics.IFeeStatistics; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.math.BigDecimal; import java.text.ParseException; import java.util.ArrayList; import java.util.List; /** * 查询 费用汇总表 *
* add by wuxw */ @Java110Cmd(serviceCode = "reportFeeMonthStatistics.queryReportFeeSummary") public class QueryReportFeeSummaryCmd extends Cmd { @Autowired private IFeeStatistics feeStatisticsImpl; @Autowired private IBaseDataStatistics baseDataStatisticsImpl; /** * 校验查询条件 *
* 开始时间 * 结束时间 * 房屋 * 业主 * 楼栋 * 费用项 * * @param event 事件对象 * @param context 请求报文数据 * @param reqJson * @throws CmdException */ @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { super.validatePageInfo(reqJson); Assert.hasKeyAndValue(reqJson, "startDate", "未包含开始日期"); Assert.hasKeyAndValue(reqJson, "endDate", "未包含结束日期"); Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息"); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { QueryStatisticsDto queryStatisticsDto = new QueryStatisticsDto(); queryStatisticsDto.setCommunityId(reqJson.getString("communityId")); queryStatisticsDto.setStartDate(reqJson.getString("startDate")); queryStatisticsDto.setEndDate(reqJson.getString("endDate")); queryStatisticsDto.setConfigId(reqJson.getString("configId")); queryStatisticsDto.setFloorId(reqJson.getString("floorId")); queryStatisticsDto.setObjName(reqJson.getString("objName")); //todo 查询历史欠费 double hisOweFee = feeStatisticsImpl.getHisMonthOweFee(queryStatisticsDto); //todo 查询 单月欠费 double curOweFee = feeStatisticsImpl.getCurMonthOweFee(queryStatisticsDto); //todo 查询当月应收 double curReceivableFee = feeStatisticsImpl.getCurReceivableFee(queryStatisticsDto); //todo 查询 欠费追回 double hisReceivedFee = feeStatisticsImpl.getHisReceivedFee(queryStatisticsDto); //todo 查询 预交费用 double preReceivedFee = feeStatisticsImpl.getPreReceivedFee(queryStatisticsDto); //todo 查询实收 double receivedFee = feeStatisticsImpl.getReceivedFee(queryStatisticsDto); //todo 房屋数 long roomCount = baseDataStatisticsImpl.getRoomCount(queryStatisticsDto); //todo 空闲房屋数 long freeRoomCount = baseDataStatisticsImpl.getFreeRoomCount(queryStatisticsDto); //todo 欠费户数 int oweRoomCount = feeStatisticsImpl.getOweRoomCount(queryStatisticsDto); JSONObject data = new JSONObject(); data.put("hisOweFee", hisOweFee); data.put("curOweFee", curOweFee); data.put("hisReceivedFee", hisReceivedFee); data.put("preReceivedFee", preReceivedFee); data.put("receivedFee", receivedFee); data.put("roomCount", roomCount); data.put("freeRoomCount", freeRoomCount); data.put("oweRoomCount", oweRoomCount); data.put("curReceivableFee", curReceivableFee); JSONArray datas = new JSONArray(); datas.add(data); context.setResponseEntity(ResultVo.createResponseEntity(datas)); } }