| | |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.dto.data.DataPrivilegeStaffDto; |
| | | 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.statistics.IFeeStatistics; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 费用汇总明细 |
| | | */ |
| | | @Java110Cmd(serviceCode = "/reportFeeMonthStatistics/queryReportFeeSummaryDetail") |
| | | @Java110Cmd(serviceCode = "/reportFeeMonthStatistics.queryReportFeeSummaryDetail") |
| | | public class QueryReportFeeSummaryDetailCmd extends Cmd { |
| | | |
| | | @Autowired |
| | | private IReportFeeMonthStatisticsInnerServiceSMO reportFeeMonthStatisticsInnerServiceSMOImpl; |
| | | private IFeeStatistics feeStatisticsImpl; |
| | | |
| | | @Autowired |
| | | private IDataPrivilegeUnitV1InnerServiceSMO dataPrivilegeUnitV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException { |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "未传入小区信息"); |
| | | Assert.hasKeyAndValue(reqJson, "feeYear", "未传入年份"); |
| | | Assert.hasKeyAndValue(reqJson, "feeMonth", "未传入月份"); |
| | | 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 { |
| | | String[] configIds = null; |
| | | if (reqJson.containsKey("configIds") && !StringUtil.isEmpty(reqJson.getString("configIds"))) { |
| | | configIds = reqJson.getString("configIds").split(","); |
| | | reqJson.remove("configIds"); |
| | | 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")); |
| | | queryStatisticsDto.setFeeTypeCd(reqJson.getString("feeTypeCd")); |
| | | queryStatisticsDto.setOwnerName(reqJson.getString("ownerName")); |
| | | queryStatisticsDto.setLink(reqJson.getString("link")); |
| | | queryStatisticsDto.setPage(reqJson.getIntValue("page")); |
| | | queryStatisticsDto.setRow(reqJson.getIntValue("row")); |
| | | if (reqJson.containsKey("configIds")) { |
| | | queryStatisticsDto.setConfigIds(reqJson.getString("configIds").split(",")); |
| | | } |
| | | ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = BeanConvertUtil.covertBean(reqJson, ReportFeeMonthStatisticsDto.class); |
| | | reportFeeMonthStatisticsDto.setConfigIds(configIds); |
| | | |
| | | String staffId = context.getReqHeaders().get("user-id"); |
| | | DataPrivilegeStaffDto dataPrivilegeStaffDto = new DataPrivilegeStaffDto(); |
| | | dataPrivilegeStaffDto.setStaffId(staffId); |
| | | String[] unitIds = dataPrivilegeUnitV1InnerServiceSMOImpl.queryDataPrivilegeUnitsByStaff(dataPrivilegeStaffDto); |
| | | |
| | | if(unitIds != null && unitIds.length>0){ |
| | | reportFeeMonthStatisticsDto.setUnitIds(unitIds); |
| | | if (unitIds != null && unitIds.length > 0) { |
| | | queryStatisticsDto.setUnitIds(unitIds); |
| | | } |
| | | |
| | | |
| | | int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryDetailCount(reportFeeMonthStatisticsDto); |
| | | int count = feeStatisticsImpl.getObjFeeSummaryCount(queryStatisticsDto); |
| | | |
| | | List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null; |
| | | List<Map> datas = null; |
| | | if (count > 0) { |
| | | reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryDetail(reportFeeMonthStatisticsDto); |
| | | datas = feeStatisticsImpl.getObjFeeSummary(queryStatisticsDto); |
| | | } else { |
| | | reportFeeMonthStatisticsDtos = new ArrayList<>(); |
| | | datas = new ArrayList<>(); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos); |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) queryStatisticsDto.getRow()), count, datas); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | |