public String selectyearReportDataTest2(YearReportData yearReportData){ int l_iID = 1; List<YearReportData> yearList = jiguanService.selectyearReportYearData(yearReportData); //搜索年數據 //循環寫入子節點 for (YearReportData l_dataYear:yearList) { l_dataYear.setId(l_iID++); l_dataYear.setDate(l_dataYear.getDate()+"年"); List<YearReportData> quarterList = jiguanService.selectyearReportQuarterData(l_dataYear); //获取季度数据 for (YearReportData l_dataQuarter:quarterList) { l_dataQuarter.setId(l_iID++); l_dataQuarter.setDate(l_dataQuarter.getDate()+ "季度"); //获取对应季度的月数据 List<YearReportData> monthList = jiguanService.selectyearReportMonthData(l_dataQuarter); //搜索年报月数据 for (YearReportData l_dataMonth:monthList) { l_dataMonth.setId(l_iID++); l_dataMonth.setDate(l_dataMonth.getDate() + "月"); //获取对应月的日数据 List<YearReportData> dayList = jiguanService.selectyearReportMonthData(l_dataMonth); l_dataMonth.setChildren(dayList); } l_dataQuarter.setChildren(monthList); //季度中写入月数据 } l_dataYear.setChildren(quarterList); } Gson l_gson = new Gson(); //Gson方法初始化 String l_JsonAllData = l_gson.toJson(yearList); return l_JsonAllData; }这个方法中,定义的json树状结构中日期显示不对,年报中的年数据和日数据不对应,这个方法直接把数据库中所有的日期数据都加到了其中一年里边,我想要的json树状结构是年数据对应日数据,不要这种年数据混在一块的
时间: 2023-06-16 09:04:40 浏览: 93
根据你提供的代码,可以看出在搜索年报月数据时,使用了错误的方法 `selectyearReportMonthData`,应该使用正确的方法 `selectyearReportDayData` 来搜索年报日数据,这样就可以正确地获取对应月的日数据,从而解决日期显示不对的问题。
修改方法如下:
```
public String selectyearReportDataTest2(YearReportData yearReportData){
int l_iID = 1;
List<YearReportData> yearList = jiguanService.selectyearReportYearData(yearReportData); //搜索年數據
//循環寫入子節點
for (YearReportData l_dataYear : yearList) {
l_dataYear.setId(l_iID++);
l_dataYear.setDate(l_dataYear.getDate() + "年");
List<YearReportData> quarterList = jiguanService.selectyearReportQuarterData(l_dataYear); //获取季度数据
for (YearReportData l_dataQuarter : quarterList) {
l_dataQuarter.setId(l_iID++);
l_dataQuarter.setDate(l_dataQuarter.getDate() + "季度");
//获取对应季度的月数据
List<YearReportData> monthList = jiguanService.selectyearReportMonthData(l_dataQuarter); //搜索年报月数据
for (YearReportData l_dataMonth : monthList) {
l_dataMonth.setId(l_iID++);
l_dataMonth.setDate(l_dataMonth.getDate() + "月");
//获取对应月的日数据
List<YearReportData> dayList = jiguanService.selectyearReportDayData(l_dataMonth); //搜索年报日数据
l_dataMonth.setChildren(dayList);
}
l_dataQuarter.setChildren(monthList); //季度中写入月数据
}
l_dataYear.setChildren(quarterList);
}
Gson l_gson = new Gson(); //Gson方法初始化
String l_JsonAllData = l_gson.toJson(yearList);
return l_JsonAllData;
}
```
在修改后的代码中,通过修改获取年报日数据的方法,确保了日期的正确显示,同时也更加符合预期的树状结构,年数据对应日数据,不会出现混在一起的现象。
阅读全文