// 循环遍历报告详情列表
for(JadFmdReportDetailEntity d:details){
// 创建报告详情项对象
FmdReportDetailItem ds = new FmdReportDetailItem();
// 设置报告详情项的属性
ds.setId(d.getId());
ds.setName(d.getName());
ds.setRemark(d.getRemark());
ds.setF3(d.getF3());
ds.setF4(d.getF4());
ds.setF5(d.getF5());
ds.setF6(d.getF6());
// 创建报告地点列表
List pps = new ArrayList<>();
// 获取当前报告详情项的所有地点信息
List places = getPlaces(d.getId());
// 检查地点列表是否为空
if(details!=null&&details.size()>0){
// 循环遍历地点列表
for(JadFmdPlaceEntity p:places) {
// 创建地点id列表
List placeIds = new ArrayList<>();
// 根据地点级别添加地点id
if(p.getLevel()==PlaceLevel.TOWN.ordinal()){
placeIds.add(p.getLocal().getTowid()+"");
}else if(p.getLevel()==PlaceLevel.VILLAGE.ordinal()){
placeIds.add(p.getLocal().getTowid()+"");
placeIds.add(p.getLocal().getVilid()+"");
}else if(p.getLevel()==PlaceLevel.OTHER.ordinal()){
placeIds.add(p.getLocal().getTowid()+"");
placeIds.add(p.getLocal().getVilid()+"");
placeIds.add(p.getPlaceId()+"");
}else{
throw new RuntimeException("数据异常");
}
// 创建报告地点项对象
FmdReportPlaceItem ps = new FmdReportPlaceItem();
// 设置报告地点项的属性
ps.setId(p.getId());
ps.setPlaces(placeIds);
ps.setPlaceName(p.getName());
// 将报告地点项添加到报告地点列表中
pps.add(ps);
}
}
// 将报告地点列表设置到报告详情项中
ds.setPlaces(pps);
// 将报告详情项添加到报告详情列表中
dds.add(ds);