|  | @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
											
												
													
														|  |  import com.onemap.analyse.domain.*;
 |  |  import com.onemap.analyse.domain.*;
 | 
											
												
													
														|  |  import com.onemap.analyse.domain.calculation.ReportImage;
 |  |  import com.onemap.analyse.domain.calculation.ReportImage;
 | 
											
												
													
														|  |  import com.onemap.analyse.domain.res.GeomRes;
 |  |  import com.onemap.analyse.domain.res.GeomRes;
 | 
											
												
													
														|  | -import com.onemap.analyse.domain.res.TableSortRes;
 |  | 
 | 
											
												
													
														|  |  import com.onemap.analyse.domain.vo.FactorSpatialVo;
 |  |  import com.onemap.analyse.domain.vo.FactorSpatialVo;
 | 
											
												
													
														|  |  import com.onemap.analyse.domain.vo.TableNameIdsVo;
 |  |  import com.onemap.analyse.domain.vo.TableNameIdsVo;
 | 
											
												
													
														|  |  import com.onemap.analyse.mapper.FactorUseMapper;
 |  |  import com.onemap.analyse.mapper.FactorUseMapper;
 | 
											
										
											
												
													
														|  | @@ -217,14 +216,14 @@ public class ReportServiceImpl implements IReportService {
 | 
											
												
													
														|  |              fwfx = fwfx.substring(0, fwfx.length() - 1) + "。详情如下:";
 |  |              fwfx = fwfx.substring(0, fwfx.length() - 1) + "。详情如下:";
 | 
											
												
													
														|  |              NpoiHelper.content(document, fwfx, pos++);
 |  |              NpoiHelper.content(document, fwfx, pos++);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -            // 获取插入图片
 |  | 
 | 
											
												
													
														|  | -            ReportImage reportImage = getWktImage(geomRes.getGeom(), 400);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -            XWPFParagraph imageParagraph = document.createParagraph();
 |  | 
 | 
											
												
													
														|  | -            imageParagraph.setAlignment(ParagraphAlignment.CENTER); // Center align the image
 |  | 
 | 
											
												
													
														|  | -            XWPFRun imageRun = imageParagraph.createRun();
 |  | 
 | 
											
												
													
														|  | -            imageRun.addPicture(reportImage.getInputStream(), XWPFDocument.PICTURE_TYPE_PNG, null, Units.toEMU(reportImage.getUseWidth()), Units.toEMU(reportImage.getUseHeight()));
 |  | 
 | 
											
												
													
														|  | -            pos++;
 |  | 
 | 
											
												
													
														|  | 
 |  | +            // // 获取插入图片
 | 
											
												
													
														|  | 
 |  | +            // ReportImage reportImage = getWktImage(geomRes.getGeom(), 400);
 | 
											
												
													
														|  | 
 |  | +            //
 | 
											
												
													
														|  | 
 |  | +            // XWPFParagraph imageParagraph = document.createParagraph();
 | 
											
												
													
														|  | 
 |  | +            // imageParagraph.setAlignment(ParagraphAlignment.CENTER); // Center align the image
 | 
											
												
													
														|  | 
 |  | +            // XWPFRun imageRun = imageParagraph.createRun();
 | 
											
												
													
														|  | 
 |  | +            // imageRun.addPicture(reportImage.getInputStream(), XWPFDocument.PICTURE_TYPE_PNG, null, Units.toEMU(reportImage.getUseWidth()), Units.toEMU(reportImage.getUseHeight()));
 | 
											
												
													
														|  | 
 |  | +            // pos++;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              // 添加分页
 |  |              // 添加分页
 | 
											
												
													
														|  |              XWPFParagraph pageBreakParagraph1 = document.createParagraph();
 |  |              XWPFParagraph pageBreakParagraph1 = document.createParagraph();
 | 
											
										
											
												
													
														|  | @@ -246,7 +245,12 @@ public class ReportServiceImpl implements IReportService {
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              // 获取规划信息
 |  |              // 获取规划信息
 | 
											
												
													
														|  | -            List<TableSortRes> tableSortRes = getCascadeList();
 |  | 
 | 
											
												
													
														|  | 
 |  | +            List<Map<String, String>> tableSortRes = getCascadeList();
 | 
											
												
													
														|  | 
 |  | +            PolygonDataVo polygonDataVo = new PolygonDataVo();
 | 
											
												
													
														|  | 
 |  | +            polygonDataVo.setSourceLayerId(tableSortRes.get(0).get("tableId"));
 | 
											
												
													
														|  | 
 |  | +            polygonDataVo.setSourceLayerType("1");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |              for (int i = 0; i < fzxzJgGisDTOList.size(); i++) {
 |  |              for (int i = 0; i < fzxzJgGisDTOList.size(); i++) {
 | 
											
												
													
														|  |                  if (i != 0) {
 |  |                  if (i != 0) {
 | 
											
												
													
														|  |                      // 添加分页
 |  |                      // 添加分页
 | 
											
										
											
												
													
														|  | @@ -302,18 +306,66 @@ public class ReportServiceImpl implements IReportService {
 | 
											
												
													
														|  |                      cell.removeParagraph(0);
 |  |                      cell.removeParagraph(0);
 | 
											
												
													
														|  |                  }
 |  |                  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -                // 获取地块图片
 |  | 
 | 
											
												
													
														|  | -                String geomWkt = item.getGeom();
 |  | 
 | 
											
												
													
														|  | -                ReportImage imageTable = getWktImage(geomWkt, 300);
 |  | 
 | 
											
												
													
														|  | 
 |  | +                // // 获取地块图片
 | 
											
												
													
														|  | 
 |  | +                // String geomWkt = item.getGeom();
 | 
											
												
													
														|  | 
 |  | +                // ReportImage imageTable = getWktImage(geomWkt, 300);
 | 
											
												
													
														|  | 
 |  | +                //
 | 
											
												
													
														|  | 
 |  | +                // // 在合并后的单元格中创建一个新的段落
 | 
											
												
													
														|  | 
 |  | +                // XWPFParagraph paraImag = row.getCell(0).addParagraph();
 | 
											
												
													
														|  | 
 |  | +                // paraImag.setAlignment(ParagraphAlignment.CENTER); // 居中对齐
 | 
											
												
													
														|  | 
 |  | +                // XWPFRun run = paraImag.createRun();
 | 
											
												
													
														|  | 
 |  | +                // run.addPicture(imageTable.getInputStream(), XWPFDocument.PICTURE_TYPE_PNG, null, Units.toEMU(imageTable.getUseWidth()), Units.toEMU(imageTable.getUseHeight()));
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -                // 在合并后的单元格中创建一个新的段落
 |  | 
 | 
											
												
													
														|  | -                XWPFParagraph paraImag = row.getCell(0).addParagraph();
 |  | 
 | 
											
												
													
														|  | -                paraImag.setAlignment(ParagraphAlignment.CENTER); // 居中对齐
 |  | 
 | 
											
												
													
														|  | -                XWPFRun run = paraImag.createRun();
 |  | 
 | 
											
												
													
														|  | -                run.addPicture(imageTable.getInputStream(), XWPFDocument.PICTURE_TYPE_PNG, null, Units.toEMU(imageTable.getUseWidth()), Units.toEMU(imageTable.getUseHeight()));
 |  | 
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +                // 获取地块信息
 | 
											
												
													
														|  | 
 |  | +                for (int j = 0; j < tableSortRes.size(); j++) {
 | 
											
												
													
														|  | 
 |  | +                    if (j == 0) {
 | 
											
												
													
														|  | 
 |  | +                        continue;
 | 
											
												
													
														|  | 
 |  | +                    }
 | 
											
												
													
														|  | 
 |  | +                    polygonDataVo.setSourceDataId(item.getDkid());
 | 
											
												
													
														|  | 
 |  | +                    polygonDataVo.setSourcePolygonWkt(item.getGeom().replace("SRID=4326;", ""));
 | 
											
												
													
														|  | 
 |  | +                    polygonDataVo.setQueryTableId(tableSortRes.get(j).get("tableId"));
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                    Map<String, Object> mapData = getTableData(polygonDataVo);
 | 
											
												
													
														|  | 
 |  | +                    String dataname = (String) mapData.get("dataname");// 土地现状
 | 
											
												
													
														|  | 
 |  | +                    if (mapData.containsKey("datalist")) {
 | 
											
												
													
														|  | 
 |  | +                        List tabPlanTitles = new ArrayList<NpoiHelper.TableTitle>();
 | 
											
												
													
														|  | 
 |  | +                        NpoiHelper.TableTitle planC1Title = new NpoiHelper.TableTitle();
 | 
											
												
													
														|  | 
 |  | +                        planC1Title.setKey("type");
 | 
											
												
													
														|  | 
 |  | +                        planC1Title.setName("类型");
 | 
											
												
													
														|  | 
 |  | +                        planC1Title.setWidth(4150);
 | 
											
												
													
														|  | 
 |  | +                        tabPlanTitles.add(planC1Title);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        NpoiHelper.TableTitle planC2Title = new NpoiHelper.TableTitle();
 | 
											
												
													
														|  | 
 |  | +                        planC2Title.setKey("area");
 | 
											
												
													
														|  | 
 |  | +                        planC2Title.setName("面积");
 | 
											
												
													
														|  | 
 |  | +                        planC2Title.setWidth(4150);
 | 
											
												
													
														|  | 
 |  | +                        tabPlanTitles.add(planC2Title);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        List<Map<String, Object>> dataPlanlist = new ArrayList<>();
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        List<Map<String, Object>> mapList = (List<Map<String, Object>>) mapData.get("datalist");
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        // XWPFTable tableLand = document.createTable(mapList.size() , 2);// 创建表格
 | 
											
												
													
														|  | 
 |  | +                        // tableLand.setWidth(8300);// 总宽度
 | 
											
												
													
														|  | 
 |  | +                        for (int iLand = 0; iLand < mapList.size(); iLand++) {
 | 
											
												
													
														|  | 
 |  | +                            Map<String, Object> planMap=new HashMap<>();
 | 
											
												
													
														|  | 
 |  | +                            planMap.put("type", mapList.get(iLand).get("groupvalue"));
 | 
											
												
													
														|  | 
 |  | +                            planMap.put("area", mapList.get(iLand).get("sumvalue")+" 平方米");
 | 
											
												
													
														|  | 
 |  | +                            dataPlanlist.add(planMap);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                            // tableLand.getRow(j).getCell(0).setParagraph(NpoiHelper.setCellText(table, (String) mapList.get(iLand).get("groupvalue"), null));
 | 
											
												
													
														|  | 
 |  | +                            // tableLand.getRow(j).getCell(1).setParagraph(NpoiHelper.setCellText(table, (Double) mapList.get(iLand).get("sumvalue")+" 平方米", null));
 | 
											
												
													
														|  | 
 |  | +                        }
 | 
											
												
													
														|  | 
 |  | +                        NpoiHelper.setComTable(document, tabPlanTitles, dataPlanlist, "规划信息", pos++);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +                        System.out.println("");
 | 
											
												
													
														|  | 
 |  | +                    }
 | 
											
												
													
														|  | 
 |  | +                    // String base = (String) mapData.get("base");
 | 
											
												
													
														|  | 
 |  | +                    System.out.println("");
 | 
											
												
													
														|  | 
 |  | +                }
 | 
											
												
													
														|  |                  // 插入因子
 |  |                  // 插入因子
 | 
											
												
													
														|  | -                insertFactorImage(geomRes.getGeom(), geomWkt, rootFactors, factorTypeMap, document, pos);
 |  | 
 | 
											
												
													
														|  | 
 |  | +                // insertFactorImage(geomRes.getGeom(), geomWkt, rootFactors, factorTypeMap, document, pos);
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
										
											
												
													
														|  | @@ -634,16 +686,18 @@ public class ReportServiceImpl implements IReportService {
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  |       * 获取级联列表
 |  |       * 获取级联列表
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    private List<TableSortRes> getCascadeList() {
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private List<Map<String, String>> getCascadeList() {
 | 
											
												
													
														|  |          RequestResult requestResult = applyService.GetCascadeList("");
 |  |          RequestResult requestResult = applyService.GetCascadeList("");
 | 
											
												
													
														|  | -        List<TableSortRes> tableSortResList = (List<TableSortRes>) requestResult.get("data");
 |  | 
 | 
											
												
													
														|  | 
 |  | +        List<Map<String, String>> tableSortResList = (List<Map<String, String>>) requestResult.get("data");
 | 
											
												
													
														|  |          return tableSortResList;
 |  |          return tableSortResList;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /**
 |  |      /**
 | 
											
												
													
														|  |       * 获取表格数据
 |  |       * 获取表格数据
 | 
											
												
													
														|  |       */
 |  |       */
 | 
											
												
													
														|  | -    private void getTableData(PolygonDataVo polygonDataVo) {
 |  | 
 | 
											
												
													
														|  | -        applyService.queryTableListByPolygon(polygonDataVo);
 |  | 
 | 
											
												
													
														|  | 
 |  | +    private Map<String, Object> getTableData(PolygonDataVo polygonDataVo) {
 | 
											
												
													
														|  | 
 |  | +        RequestResult requestResult = applyService.queryTableListByPolygon(polygonDataVo);
 | 
											
												
													
														|  | 
 |  | +        Map<String, Object> mapData = (Map<String, Object>) requestResult.get("data");
 | 
											
												
													
														|  | 
 |  | +        return mapData;
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  }
 |  |  }
 |