package com.java110.report.bmo.reportInfoSettingTitle.impl; import com.java110.dto.questionAnswerTitle.QuestionAnswerTitleDto; import com.java110.dto.questionAnswerTitleValue.QuestionAnswerTitleValueDto; import com.java110.dto.reportInfoSettingTitleValue.ReportInfoSettingTitleValueDto; import com.java110.intf.report.IReportInfoSettingTitleInnerServiceSMO; import com.java110.intf.report.IReportInfoSettingTitleValueInnerServiceSMO; import com.java110.report.bmo.reportInfoSettingTitle.IGetReportInfoSettingTitleBMO; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import com.java110.dto.reportInfoSettingTitle.ReportInfoSettingTitleDto; import java.util.ArrayList; import java.util.List; @Service("getReportInfoSettingTitleBMOImpl") public class GetReportInfoSettingTitleBMOImpl implements IGetReportInfoSettingTitleBMO { @Autowired private IReportInfoSettingTitleInnerServiceSMO reportInfoSettingTitleInnerServiceSMOImpl; @Autowired private IReportInfoSettingTitleValueInnerServiceSMO reportInfoSettingTitleValueInnerServiceSMOImpl; /** * * * @param reportInfoSettingTitleDto * @return 订单服务能够接受的报文 */ public ResponseEntity get(ReportInfoSettingTitleDto reportInfoSettingTitleDto) { int count = reportInfoSettingTitleInnerServiceSMOImpl.queryReportInfoSettingTitlesCount(reportInfoSettingTitleDto); List reportInfoSettingTitleDtos = null; if (count > 0) { reportInfoSettingTitleDtos = reportInfoSettingTitleInnerServiceSMOImpl.queryReportInfoSettingTitles(reportInfoSettingTitleDto); refreshTitileValues(reportInfoSettingTitleDtos); } else { reportInfoSettingTitleDtos = new ArrayList<>(); } ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportInfoSettingTitleDto.getRow()), count, reportInfoSettingTitleDtos); ResponseEntity responseEntity = new ResponseEntity(resultVo.toString(), HttpStatus.OK); return responseEntity; } private void refreshTitileValues(List reportInfoSettingTitleDtos) { if (reportInfoSettingTitleDtos == null || reportInfoSettingTitleDtos.size() < 1) { return; } List titleIds = new ArrayList<>(); for (ReportInfoSettingTitleDto reportInfoSettingTitleDto : reportInfoSettingTitleDtos) { titleIds.add(reportInfoSettingTitleDto.getTitleId()); } ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto = new ReportInfoSettingTitleValueDto(); reportInfoSettingTitleValueDto.setTitleIds(titleIds.toArray(new String[titleIds.size()])); reportInfoSettingTitleValueDto.setCommunityId(reportInfoSettingTitleDtos.get(0).getCommunityId()); List reportInfoSettingTitleValueDtos = reportInfoSettingTitleValueInnerServiceSMOImpl.queryReportInfoSettingTitleValues(reportInfoSettingTitleValueDto); List tmpReportInfoSettingTitleValueDtos = null; for (ReportInfoSettingTitleDto reportInfoSettingTitleDto : reportInfoSettingTitleDtos) { tmpReportInfoSettingTitleValueDtos = new ArrayList<>(); for (ReportInfoSettingTitleValueDto reportInfoSettingTitleValueDto1 : reportInfoSettingTitleValueDtos) { if (reportInfoSettingTitleDto.getTitleId().equals(reportInfoSettingTitleValueDto1.getTitleId())) { tmpReportInfoSettingTitleValueDtos.add(reportInfoSettingTitleValueDto1); } } reportInfoSettingTitleDto.setReportInfoSettingTitleValueDtos(tmpReportInfoSettingTitleValueDtos); } } }