|
|
|
@ -7,13 +7,18 @@ import com.cjy.hotelcomprehensiveanalysis.service.HotelComprehensiveAnalysisServ |
|
|
|
|
import com.cjy.hotelcomprehensiveanalysis.vo.GenderRatioVO; |
|
|
|
|
import com.cjy.hotelcomprehensiveanalysis.vo.HotelPassengerFlowVO; |
|
|
|
|
import com.cjy.parkinglotdataanalysis.dto.CustomerSourceDTO; |
|
|
|
|
import com.cjy.parkinglotdataanalysis.dto.TrafficAnalysisDTO; |
|
|
|
|
import com.cjy.parkinglotdataanalysis.vo.ChartVO; |
|
|
|
|
import com.cjy.parkinglotdataanalysis.vo.ReturnVO; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Calendar; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author liangjiawei |
|
|
|
@ -173,4 +178,92 @@ public class HotelComprehensiveAnalysisServiceImpl implements HotelComprehensive |
|
|
|
|
returnVO.setSeriesData(list); |
|
|
|
|
return returnVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 过夜游客分析 |
|
|
|
|
* @param organCode |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public ReturnVO getOvernightTourists(Long organCode) { |
|
|
|
|
List<String> dateList = getForward12month(); |
|
|
|
|
ReturnVO returnVO = new ReturnVO(); |
|
|
|
|
returnVO.setName("车流分析"); |
|
|
|
|
//x轴数组
|
|
|
|
|
List<String> categoriesList = new ArrayList<>(); |
|
|
|
|
//数据库返回数据
|
|
|
|
|
List<TrafficAnalysisDTO> list = hotelComprehensiveAnalysisMapper.getOvernightTouristsList(organCode); |
|
|
|
|
List<TrafficAnalysisDTO> seriesData = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
dateList.stream().forEach(item1 ->{ |
|
|
|
|
if (list.isEmpty()) { |
|
|
|
|
categoriesList.add(item1); |
|
|
|
|
TrafficAnalysisDTO trafficAnalysisDTO = new TrafficAnalysisDTO(); |
|
|
|
|
trafficAnalysisDTO.setTotal("0"); |
|
|
|
|
trafficAnalysisDTO.setComparedWith("0.00"); |
|
|
|
|
trafficAnalysisDTO.setRingRatio("0.00"); |
|
|
|
|
seriesData.add(trafficAnalysisDTO); |
|
|
|
|
} else { |
|
|
|
|
TrafficAnalysisDTO trafficAnalysisDTO = new TrafficAnalysisDTO(); |
|
|
|
|
for (TrafficAnalysisDTO item : list) { |
|
|
|
|
trafficAnalysisDTO.setDateTime(item1); |
|
|
|
|
if (item.getDateTime().equals(item1)) { |
|
|
|
|
trafficAnalysisDTO.setTotal(item.getTotal()); |
|
|
|
|
trafficAnalysisDTO.setComparedWith(item.getComparedWith()); |
|
|
|
|
trafficAnalysisDTO.setRingRatio(item.getRingRatio()); |
|
|
|
|
break; |
|
|
|
|
} else { |
|
|
|
|
trafficAnalysisDTO.setTotal("0"); |
|
|
|
|
trafficAnalysisDTO.setComparedWith("0.00"); |
|
|
|
|
trafficAnalysisDTO.setRingRatio("0.00"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
categoriesList.add(item1); |
|
|
|
|
seriesData.add(trafficAnalysisDTO); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
returnVO.setCategories(categoriesList); |
|
|
|
|
|
|
|
|
|
ChartVO chartVO = new ChartVO(); |
|
|
|
|
chartVO.setName("数量"); |
|
|
|
|
|
|
|
|
|
ChartVO comparedWithChartVO = new ChartVO(); |
|
|
|
|
comparedWithChartVO.setName("同比"); |
|
|
|
|
|
|
|
|
|
ChartVO ringRatioChartVO = new ChartVO(); |
|
|
|
|
ringRatioChartVO.setName("环比"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> returnValueList = new ArrayList<>(); |
|
|
|
|
List<String> returnComparedWithList = new ArrayList<>(); |
|
|
|
|
List<String> returnRingRatioList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
returnValueList.addAll(seriesData.stream().map(TrafficAnalysisDTO::getTotal).collect(Collectors.toList())); |
|
|
|
|
returnComparedWithList.addAll(seriesData.stream().map(TrafficAnalysisDTO::getComparedWith).collect(Collectors.toList())); |
|
|
|
|
returnRingRatioList.addAll(seriesData.stream().map(TrafficAnalysisDTO::getRingRatio).collect(Collectors.toList())); |
|
|
|
|
|
|
|
|
|
chartVO.setValues(returnValueList); |
|
|
|
|
comparedWithChartVO.setValues(returnComparedWithList); |
|
|
|
|
ringRatioChartVO.setValues(returnRingRatioList); |
|
|
|
|
//
|
|
|
|
|
List<ChartVO> chartVOList = new ArrayList<>(); |
|
|
|
|
chartVOList.add(chartVO); |
|
|
|
|
chartVOList.add(comparedWithChartVO); |
|
|
|
|
chartVOList.add(ringRatioChartVO); |
|
|
|
|
returnVO.setSeriesData(chartVOList); |
|
|
|
|
return returnVO; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public List<String> getForward12month() { |
|
|
|
|
List<String> dateList = new ArrayList<>(); |
|
|
|
|
Calendar calendar = Calendar.getInstance(); |
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); |
|
|
|
|
for (int i = 0; i < 12; i++) { |
|
|
|
|
dateList.add(sdf.format(calendar.getTime())); |
|
|
|
|
calendar.add(Calendar.MONTH, -1); |
|
|
|
|
} |
|
|
|
|
return dateList; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|