Compare commits
No commits in common. "bc3cd91c6a681015d83f54abf7232e4a3a55c629" and "48e607e8b1a5ed1270f0b6a328d91e8452f62cde" have entirely different histories.
bc3cd91c6a
...
48e607e8b1
@ -24,8 +24,6 @@ public class RuoYiApplication
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
// System.setProperty("spring.devtools.restart.enabled", "false");
|
||||
SpringApplication.run(RuoYiApplication.class, args);
|
||||
System.out.println();
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.ruoyi.web.controller.shate;
|
||||
|
||||
import ch.qos.logback.classic.pattern.LineOfCallerConverter;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.BarChart;
|
||||
@ -9,14 +8,10 @@ import com.ruoyi.common.utils.shate.PageUtils;
|
||||
|
||||
import com.ruoyi.system.domain_shate.*;
|
||||
import com.ruoyi.system.service_shate.*;
|
||||
import com.sun.jna.platform.unix.solaris.LibKstat;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.v3.oas.models.security.SecurityScheme;
|
||||
import net.sf.jsqlparser.statement.create.procedure.CreateProcedure;
|
||||
import org.apache.poi.hssf.usermodel.HeaderFooter;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
import org.aspectj.weaver.loadtime.Aj;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
|
||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||
import org.springframework.util.ResourceUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -32,11 +27,8 @@ import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import java.io.*;
|
||||
import java.lang.reflect.AnnotatedArrayType;
|
||||
import java.lang.reflect.Parameter;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: JinSheng Song
|
||||
@ -70,8 +62,6 @@ public class DateUploadController {
|
||||
|
||||
private String ShpPaths;
|
||||
|
||||
private String MapExePath;
|
||||
|
||||
|
||||
@RequestMapping(value = "/SelectUpload", method = {RequestMethod.POST})
|
||||
public AjaxResult SelectUpload(@RequestBody paging paging) {
|
||||
@ -116,6 +106,22 @@ public class DateUploadController {
|
||||
@RequestMapping(value = "/delUpload", method = {RequestMethod.POST})
|
||||
public AjaxResult DelUpload(@RequestBody UplodFile uplodFile) {
|
||||
return delUploadFile(uplodFile.getId());
|
||||
// List<Integer> ids=uplodFile.getId();
|
||||
// Integer Seeding=0;
|
||||
// UploadFile file=new UploadFile();
|
||||
// for (int i=0; i<ids.size();i++)
|
||||
// {
|
||||
// DateUpload value= service.selectDel(ids.get(i));
|
||||
//
|
||||
// String[] strs2=value.getFileName().split("\\_");
|
||||
//
|
||||
//// file.UploadFile1(strs2[1],value.getZone(),value.getDataTime());
|
||||
//
|
||||
// Seeding= service.DelUpload(ids.get(i));
|
||||
// if (Seeding==0){return AjaxResult.error("没有此id单据!"+ids.get(i));}
|
||||
// }
|
||||
//
|
||||
// return AjaxResult.success(Seeding);
|
||||
|
||||
}
|
||||
|
||||
@ -352,37 +358,6 @@ public class DateUploadController {
|
||||
return dateUpload;
|
||||
}
|
||||
|
||||
|
||||
public void callExe1(String fileName, String filePath) {
|
||||
|
||||
BufferedReader bufferedReader = null;
|
||||
Process proc = null;
|
||||
try {
|
||||
|
||||
System.out.println("MapExePath路径:" + MapExePath);
|
||||
String[] cmd = {MapExePath, fileName, filePath + ".tif", FilePaths + "jpg/"};
|
||||
|
||||
System.out.println("调用方法名:" + MapExePath + " 文件名:" + fileName + " 调用tif文件:" + filePath + ".tif" + " 生成jpg路径:" + FilePaths + "jpg/");
|
||||
|
||||
ProcessBuilder pb = new ProcessBuilder();
|
||||
pb.command(cmd);
|
||||
proc = pb.start();
|
||||
System.out.println("Start calling algorithm(image)");
|
||||
|
||||
bufferedReader = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
|
||||
String aa = null;
|
||||
String line = null;
|
||||
while ((line = bufferedReader.readLine()) != null) {
|
||||
aa = aa + line;
|
||||
}
|
||||
System.out.println(aa);
|
||||
|
||||
} catch (IOException e) {
|
||||
System.out.println(e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用exe
|
||||
*
|
||||
@ -407,7 +382,7 @@ public class DateUploadController {
|
||||
ProcessBuilder pb = new ProcessBuilder();
|
||||
pb.command(cmd);
|
||||
proc = pb.start();
|
||||
System.out.println("Start calling algorithm(tif)");
|
||||
System.out.println("Start calling algorithm");
|
||||
|
||||
bufferedReader = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
|
||||
String aa = null;
|
||||
@ -442,7 +417,6 @@ public class DateUploadController {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
callExe1(FileName, FilePath);
|
||||
callExe(FileName, FilePath, ShpPath);
|
||||
}
|
||||
}
|
||||
@ -510,7 +484,6 @@ public class DateUploadController {
|
||||
return AjaxResult.success("成功!");
|
||||
}
|
||||
|
||||
|
||||
public void readXml() {
|
||||
try {
|
||||
// 创建解析器工厂
|
||||
@ -545,8 +518,6 @@ public class DateUploadController {
|
||||
this.FilePaths = childNodes.item(5).getTextContent().trim();
|
||||
|
||||
this.ShpPaths = childNodes.item(7).getTextContent().trim();
|
||||
|
||||
this.MapExePath = childNodes.item(9).getTextContent().trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -555,322 +526,166 @@ public class DateUploadController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改全部区域名称
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/updateAllRegionName",method = {RequestMethod.POST})
|
||||
public AjaxResult updateAllRegionName(@RequestBody RegionName regionName)
|
||||
{
|
||||
|
||||
return landUseServices.updateAllRegionName(regionName.getRegionName());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询所有区域名称
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/queryAllRegionName", method = {RequestMethod.GET})
|
||||
public AjaxResult queryAllRegionName() {
|
||||
try {
|
||||
List<String> regionNameList = new ArrayList<>();
|
||||
List<LandUse> landUses = landUseServices.sqlSeeding1(null, null);
|
||||
UplodFile main = landUseServices.mainClass(null, null);
|
||||
if (main == null) {
|
||||
return null;
|
||||
}
|
||||
if (landUses != null) {
|
||||
landUses.forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getWaterFactors() != null) {
|
||||
main.getWaterFactors().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getRoadFactors() != null) {
|
||||
main.getRoadFactors().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getSoilMoistures() != null) {
|
||||
main.getSoilMoistures().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getSoilSalinizations() != null) {
|
||||
main.getSoilSalinizations().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getSoilDesertifications() != null) {
|
||||
main.getSoilDesertifications().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getAspects() != null) {
|
||||
main.getAspects().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getSlopes() != null) {
|
||||
main.getSlopes().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getAltitudes() != null) {
|
||||
main.getAltitudes().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getInformation() != null) {
|
||||
main.getInformation().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getPlantingSuitabilities() != null) {
|
||||
main.getPlantingSuitabilities().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
if (main.getVegetationHealths() != null) {
|
||||
main.getVegetationHealths().forEach(e -> {
|
||||
regionNameList.add(e.getRegionName());
|
||||
});
|
||||
}
|
||||
List<String> regionNameLists = regionNameList.stream().distinct().collect(Collectors.toList());
|
||||
Collections.sort(regionNameLists);
|
||||
return AjaxResult.success(regionNameLists);
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出Word
|
||||
*
|
||||
* @param
|
||||
*/
|
||||
@RequestMapping(value = "/exportWord1", method = {RequestMethod.POST})
|
||||
public AjaxResult exportWord1(HttpServletResponse response, HttpServletRequest request, @RequestBody WordVo wordVo) {
|
||||
try {
|
||||
readXml();
|
||||
String[] zoneList = wordVo.getZoneList();
|
||||
//接受前端传来的数据
|
||||
String[] years = wordVo.getYear();
|
||||
String filePath = FilePaths + "jpg/";
|
||||
for (String year : years) {
|
||||
String zoneString = "";
|
||||
for (String zone : zoneList) {
|
||||
zone += " | ";
|
||||
zoneString += zone;
|
||||
}
|
||||
zoneString = zoneString.substring(0, zoneString.length() - 3);
|
||||
//创建文本对象
|
||||
CustomXWPFDocument docxDocument = new CustomXWPFDocument();
|
||||
//创建标题
|
||||
BarChart.setTitle(docxDocument, "Evaluation report of planting monitoring in ITBA Nature Reserve ");
|
||||
//创建第一个段落的标题
|
||||
BarChart.createFirstLevelTopic(docxDocument, "1.Background information");
|
||||
//创建第一个段落的内容
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "Date time: " + year);
|
||||
//创建页眉页脚
|
||||
BarChart.createHeader(docxDocument, "Evaluation report of planting monitoring in ITBA Nature Reserve");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "Evaluation area: " + zoneString);
|
||||
Integer number = 0;
|
||||
|
||||
for (int i = 0; i < zoneList.length; i++) {
|
||||
String zone = zoneList[i];
|
||||
//2.1
|
||||
BarChart.createFirstLevelTopic(docxDocument, i + 2 + ". Results of remote sensing monitoring of planting suitability" + "( zone:" + zone + ")");
|
||||
List<LandUse> landUses = landUseServices.sqlSeeding1(zone, year);
|
||||
UplodFile main = landUseServices.mainClass(zone, year);
|
||||
//土地利用类型
|
||||
BarChart.createSecondLevelTopic(docxDocument, i + 2 + ".1. Monitoring results of land use types");
|
||||
BarChart.insertPic(docxDocument, filePath + landUses.get(1).getProductCode3() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 1) + " Spatial distribution data of land use types");
|
||||
//绘制土地利用类型图表
|
||||
//x轴
|
||||
String[] xAxisData = new String[]{"Fields", "Buildings", "Roads", "Water", "Forest", "Grass", "Soil", "Desert", "Rocks", "Other"};
|
||||
//y轴
|
||||
Double[] yAxisData = new Double[]{BarChart.fun(landUses.get(2).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(0).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(6).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(9).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(3).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(4).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(8).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(1).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(7).getArea() * 0.01),
|
||||
BarChart.fun(landUses.get(5).getArea() * 0.01)};
|
||||
BarChart.drawTable(docxDocument, xAxisData, yAxisData);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 2) + " Statistical data on land use types");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the total area of field is "
|
||||
+ BarChart.fun(landUses.get(2).getArea() * 0.01) + " km², the building is " + BarChart.fun(landUses.get(0).getArea() * 0.01) +
|
||||
" km², the road is " + BarChart.fun(landUses.get(6).getArea() * 0.01) +
|
||||
" km², the water is " + BarChart.fun(landUses.get(9).getArea() * 0.01) +
|
||||
" km², the forest is " + BarChart.fun(landUses.get(3).getArea() * 0.01) +
|
||||
" km², the grass is " + BarChart.fun(landUses.get(4).getArea() * 0.01) +
|
||||
" km², the soil is " + BarChart.fun(landUses.get(8).getArea() * 0.01) +
|
||||
" km², the desert is " + BarChart.fun(landUses.get(1).getArea() * 0.01) +
|
||||
" km², the rock is " + BarChart.fun(landUses.get(7).getArea() * 0.01) +
|
||||
" km², and other land use types are " + BarChart.fun(landUses.get(5).getArea() * 0.01) + " km².");
|
||||
|
||||
BarChart.createSecondLevelTopic(docxDocument, i + 2 + ".2 Monitoring results of planting suitability evaluation index");
|
||||
//2.2.1海拔、坡向、坡度
|
||||
//海拔
|
||||
BarChart.createSecondLevelTopic(docxDocument, i + 2 + ".2.1. Monitoring results of terrain index");
|
||||
BarChart.insertPic(docxDocument, filePath + main.getAltitudes().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 3) + " Spatial distribution data of altitude");
|
||||
//绘制折线图(已取消)
|
||||
String[] xAxis = new String[]{"<400", "400-600", "600-100", "1000-1500", ">1500"};//x轴
|
||||
Double[] yAxis = new Double[]{BarChart.fun(main.getAltitudes().get(0).getLevel1() * 0.01),
|
||||
BarChart.fun(main.getAltitudes().get(0).getLevel2() * 0.01),
|
||||
BarChart.fun(main.getAltitudes().get(0).getLevel3() * 0.01),
|
||||
BarChart.fun(main.getAltitudes().get(0).getLevel4() * 0.01),
|
||||
BarChart.fun(main.getAltitudes().get(0).getLevel5() * 0.01)};//y轴
|
||||
BarChart.drawTable(docxDocument, xAxis, yAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 4) + " Classification statistics of altitude");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area with an altitude lower than 400m is " + BarChart.fun(main.getAltitudes().get(0).getLevel1() * 0.01) + " km², the area with 400-600m is " + BarChart.fun(main.getAltitudes().get(0).getLevel2() * 0.01) + " km², the area with 600-1000m is " + BarChart.fun(main.getAltitudes().get(0).getLevel3() * 0.01) + " km², and the area with 1000-1500m is " + BarChart.fun(main.getAltitudes().get(0).getLevel4() * 0.01) + " km². The area with an altitude higher than 1500m is " + BarChart.fun(main.getAltitudes().get(0).getLevel5() * 0.01) + " km².");
|
||||
//坡向
|
||||
BarChart.insertPic(docxDocument, filePath + main.getAspects().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 5) + " Spatial distribution data of aspect");
|
||||
String[] xAspectAxis = new String[]{"North", "Northeast", "East", "Southeast", "South", "Southwest", "West", "NorthWest"};//x轴
|
||||
Double[] yAspectAxis = new Double[]{BarChart.fun(main.getAspects().get(0).getNorth() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getNortheast() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getEast() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getSoutheast() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getSouth() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getSouthwest() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getWest() * 0.01),
|
||||
BarChart.fun(main.getAspects().get(0).getNorthwest() * 0.01)};//y轴
|
||||
|
||||
BarChart.drawTable(docxDocument, xAspectAxis, yAspectAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 6) + " Classification statistics of aspect");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area with the north aspect is " + BarChart.fun(main.getAspects().get(0).getNorth() / 100) +
|
||||
" km², the area with the northeast aspect is " + BarChart.fun(main.getAspects().get(0).getNortheast() / 100) +
|
||||
" km², the area with the east aspect is " + BarChart.fun(main.getAspects().get(0).getEast() / 100) +
|
||||
" km², the area with the southeast aspect is " + BarChart.fun(main.getAspects().get(0).getSoutheast() / 100) +
|
||||
" km², and the area with the south aspect is " + BarChart.fun(main.getAspects().get(0).getSouth() / 100) +
|
||||
" km², the area with the southwest aspect is " + BarChart.fun(main.getAspects().get(0).getSouthwest() / 100) +
|
||||
" km², the area with the west aspect is " + BarChart.fun(main.getAspects().get(0).getWest() / 100) +
|
||||
" km², and the area with the northwest aspect is " + BarChart.fun(main.getAspects().get(0).getNorthwest() / 100) + " km².");
|
||||
//坡度
|
||||
BarChart.insertPic(docxDocument, filePath + main.getSlopes().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 7) + " Spatial distribution data of slope");
|
||||
String[] xSlopeAxis = new String[]{"<10°", "10°~30°", "30°~50°", "50°~70°", ">70°"};//x轴
|
||||
Double[] ySlopeAxis = new Double[]{BarChart.fun(main.getSlopes().get(0).getLevel1() * 0.01),
|
||||
BarChart.fun(main.getSlopes().get(0).getLevel2() * 0.01),
|
||||
BarChart.fun(main.getSlopes().get(0).getLevel3() * 0.01),
|
||||
BarChart.fun(main.getSlopes().get(0).getLevel4() * 0.01),
|
||||
BarChart.fun(main.getSlopes().get(0).getLevel5() * 0.01)};
|
||||
BarChart.drawTable(docxDocument, xSlopeAxis, ySlopeAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 8) + " Classification statistics of slope");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of slope less than 10° is " + BarChart.fun(main.getSlopes().get(0).getLevel1() * 0.01) + " km², the area of 10°-30° is " + BarChart.fun(main.getSlopes().get(0).getLevel2() * 0.01) + " km², the area of 30°-50° is " + BarChart.fun(main.getSlopes().get(0).getLevel3() * 0.01) + " km², and the area of 50°-70° is " + BarChart.fun(main.getSlopes().get(0).getLevel4() * 0.01) + "km². The area greater than 70° is " + BarChart.fun(main.getSlopes().get(0).getLevel5() * 0.01) + " km².");
|
||||
|
||||
//2.2.2 沙化指数、湿度指数、盐渍化指数
|
||||
BarChart.createSecondLevelTopic(docxDocument, i + 2 + ".2.2. Monitoring results of soil index");
|
||||
//沙化指数
|
||||
BarChart.insertPic(docxDocument, filePath + main.getSoilDesertifications().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 9) + " Spatial distribution data of soil desertification factor");
|
||||
String[] xDesertificationAxis = new String[]{"<0.1", "0.1~0.3", "0.3~0.5", "0.5~0.7", ">0.7"};//x轴
|
||||
Double[] yDesertificationAxis = new Double[]{BarChart.fun(main.getSoilDesertifications().get(0).getLevel1() * 0.01),
|
||||
BarChart.fun(main.getSoilDesertifications().get(0).getLevel2() * 0.01),
|
||||
BarChart.fun(main.getSoilDesertifications().get(0).getLevel3() * 0.01),
|
||||
BarChart.fun(main.getSoilDesertifications().get(0).getLevel4() * 0.01),
|
||||
BarChart.fun(main.getSoilDesertifications().get(0).getLevel5() * 0.01)};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yDesertificationAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 10) + " Classification statistics of soil desertification factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of soil desertification factor less than 0.1 is " + BarChart.fun(main.getSoilDesertifications().get(0).getLevel1() * 0.01) + " km², the area of 0.1-0.3 is " + BarChart.fun(main.getSoilDesertifications().get(0).getLevel2() * 0.01) + "km², the area of 0.3-0.5 is " + BarChart.fun(main.getSoilDesertifications().get(0).getLevel3() * 0.01) + " km², and the area of 0.5-0.7 is " + BarChart.fun(main.getSoilDesertifications().get(0).getLevel4() * 0.01) + " km². The area greater than 0.7 is " + BarChart.fun(main.getSoilDesertifications().get(0).getLevel5() * 0.01) + " km².");
|
||||
//湿度指数
|
||||
BarChart.insertPic(docxDocument, filePath + main.getSoilMoistures().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 11) + " Spatial distribution data of soil moisture factor");
|
||||
Double[] yMoistureAxis = new Double[]{BarChart.fun(main.getSoilMoistures().get(0).getLevel1() * 0.01),
|
||||
BarChart.fun(main.getSoilMoistures().get(0).getLevel2() * 0.01),
|
||||
BarChart.fun(main.getSoilMoistures().get(0).getLevel3() * 0.01),
|
||||
BarChart.fun(main.getSoilMoistures().get(0).getLevel4() * 0.01),
|
||||
BarChart.fun(main.getSoilMoistures().get(0).getLevel5() * 0.01)};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yMoistureAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 12) + " Classification statistics of soil moisture factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of soil moisture factor less than 0.1 is " + BarChart.fun(main.getSoilMoistures().get(0).getLevel1() * 0.01) + " km², the area of 0.1-0.3 is " + BarChart.fun(main.getSoilMoistures().get(0).getLevel2() * 0.01) + " km², the area of 0.3-0.5 is " + BarChart.fun(main.getSoilMoistures().get(0).getLevel3() * 0.01) + " km², and the area of 0.5-0.7 is " + BarChart.fun(main.getSoilMoistures().get(0).getLevel4() * 0.01) + "km². The area greater than 0.7 is " + BarChart.fun(main.getSoilMoistures().get(0).getLevel5() * 0.01) + " km².");
|
||||
//盐渍化指数
|
||||
BarChart.insertPic(docxDocument, filePath + main.getSoilSalinizations().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 13) + " Spatial distribution data of soil salinization factor");
|
||||
Double[] ySalinizationsAxis = new Double[]{
|
||||
BarChart.fun(main.getSoilSalinizations().get(0).getLevel1() * 0.01),
|
||||
BarChart.fun(main.getSoilSalinizations().get(0).getLevel2() * 0.01),
|
||||
BarChart.fun(main.getSoilSalinizations().get(0).getLevel3() * 0.01),
|
||||
BarChart.fun(main.getSoilSalinizations().get(0).getLevel4() * 0.01),
|
||||
BarChart.fun(main.getSoilSalinizations().get(0).getLevel5() * 0.01)};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, ySalinizationsAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 14) + " Classification statistics of soil salinization factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, In 01 area, the area of soil salinization factor less than 0.1 is" + BarChart.fun(main.getSoilSalinizations().get(0).getLevel1() * 0.01) + "km², the area of 0.1-0.3 is " + BarChart.fun(main.getSoilSalinizations().get(0).getLevel2() * 0.01) + " km², the area of 0.3-0.5 is " + BarChart.fun(main.getSoilSalinizations().get(0).getLevel3() * 0.01) + " km², and the area of 0.5-0.7 is " + BarChart.fun(main.getSoilSalinizations().get(0).getLevel4() * 0.01) + " km². The area greater than 0.7 is " + BarChart.fun(main.getSoilSalinizations().get(0).getLevel5() * 0.01) + " km².");
|
||||
|
||||
//2.2.3 水域因子、道路因子
|
||||
BarChart.createSecondLevelTopic(docxDocument, "2.2.3. Monitoring results of regional index");
|
||||
//道路因子
|
||||
BarChart.insertPic(docxDocument, filePath + main.getRoadFactors().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 15) + " Spatial distribution data of road factor");
|
||||
Double[] yRoadAxis = new Double[]{BarChart.fun(main.getRoadFactors().get(0).getLevel1() / 100),
|
||||
BarChart.fun(main.getRoadFactors().get(0).getLevel2() / 100),
|
||||
BarChart.fun(main.getRoadFactors().get(0).getLevel3() / 100),
|
||||
BarChart.fun(main.getRoadFactors().get(0).getLevel4() / 100),
|
||||
BarChart.fun(main.getRoadFactors().get(0).getLevel5() / 100)};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yRoadAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 16) + " Classification statistics of road factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of road factor less than 0.1 is " + BarChart.fun(main.getRoadFactors().get(0).getLevel1() * 0.01) + " km², the area of 0.1-0.3 is " + BarChart.fun(main.getRoadFactors().get(0).getLevel2() * 0.01) + " km², the area of 0.3-0.5 is " + BarChart.fun(main.getRoadFactors().get(0).getLevel3() * 0.01) + " km², and the area of 0.5-0.7 is " + BarChart.fun(main.getRoadFactors().get(0).getLevel4() * 0.01) + " km². The area greater than 0.7 is " + BarChart.fun(main.getRoadFactors().get(0).getLevel5() * 0.01) + "km².");
|
||||
//水域因子
|
||||
BarChart.insertPic(docxDocument, filePath + main.getWaterFactors().get(0).getProductCode2() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 17) + " Spatial distribution data of water factor");
|
||||
Double[] yWaterAxis = new Double[]{BarChart.fun(main.getWaterFactors().get(0).getLevel1() / 100),
|
||||
BarChart.fun(main.getWaterFactors().get(0).getLevel2() / 100),
|
||||
BarChart.fun(main.getWaterFactors().get(0).getLevel3() / 100),
|
||||
BarChart.fun(main.getWaterFactors().get(0).getLevel4() / 100),
|
||||
BarChart.fun(main.getWaterFactors().get(0).getLevel5() / 100)};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yWaterAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 18) + " Classification statistics of water factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of water factor less than 0.1 is " + BarChart.fun(main.getWaterFactors().get(0).getLevel1() * 0.01) + " km², the area of 0.1-0.3 is " + BarChart.fun(main.getWaterFactors().get(0).getLevel2() * 0.01) + " km², the area of 0.3-0.5 is " + BarChart.fun(main.getWaterFactors().get(0).getLevel3() * 0.01) + " km², and the area of 0.5-0.7 is " + BarChart.fun(main.getWaterFactors().get(0).getLevel4() * 0.01) + " km². The area greater than 0.7 is " + BarChart.fun(main.getWaterFactors().get(0).getLevel5() * 0.01) + " km².");
|
||||
//2.3
|
||||
BarChart.createSecondLevelTopic(docxDocument, i + 2 + ".3. Monitoring results of planting suitability");
|
||||
//查找适宜性
|
||||
PlantingSuitability suitability = plantingSuitabilityService.sqlSeeding1(zone, year);
|
||||
BarChart.insertPic(docxDocument, filePath + suitability.getProductCode3() + ".jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 19) + " Spatial distribution data of planting suitability");
|
||||
//此处插入图表
|
||||
String[] xAxisData2 = new String[]{"Very Suitable", "Suitable", "Not Suitable"};
|
||||
Double x1 = suitability.getVerySuitable() / 100;
|
||||
Double x2 = suitability.getSuitable() / 100;
|
||||
Double x3 = suitability.getNotSuitable() / 100;
|
||||
Double[] yAxisData2 = new Double[]{x1, x2, x3};
|
||||
BarChart.drawTable(docxDocument, xAxisData2, yAxisData2);
|
||||
BarChart.setPicTitle(docxDocument, "Figure " + (number + 20) + " Classification statistics of planting suitability");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + suitability.getZone() + " region, the area of very suitable region was " + BarChart.fun(suitability.getVerySuitable() / 100) +
|
||||
" km², accounting for " + BarChart.fun((suitability.getVerySuitable() / suitability.getTotalArea()) * 100) + "%. The area of suitable grade was " + BarChart.fun(suitability.getSuitable() / 100) +
|
||||
" km², accounting for " + BarChart.fun((suitability.getSuitable() / suitability.getTotalArea()) * 100) + "%. The area of unsuitable area was " + BarChart.fun(suitability.getNotSuitable() / 100) +
|
||||
" km², accounting for " + BarChart.fun((suitability.getNotSuitable() / suitability.getTotalArea()) * 100) + "%.");
|
||||
number += 20;
|
||||
}
|
||||
|
||||
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setContentType("application/msword");
|
||||
//文件名
|
||||
String fileName = "Evaluation report of planting monitoring in ITBA Nature Reserve - " + "Year:" + year + "(" + zoneString + ")" + ".docx";
|
||||
|
||||
response.setHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
|
||||
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||
|
||||
ServletOutputStream responseOutputStream = response.getOutputStream();
|
||||
docxDocument.write(responseOutputStream);
|
||||
responseOutputStream.flush();
|
||||
responseOutputStream.close();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
@RequestMapping(value = "/exportWord1", method = {RequestMethod.GET})
|
||||
@ResponseBody
|
||||
public void exportWord1(HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||
String [] zoneList=new String[]{"01","02","03"};
|
||||
//接受前端传来的数据
|
||||
String year = "2022";
|
||||
//创建文本对象
|
||||
CustomXWPFDocument docxDocument = new CustomXWPFDocument();
|
||||
//创建标题
|
||||
BarChart.setTitle(docxDocument, "Evaluation report of planting monitoring in ITBA Nature Reserve");
|
||||
//创建第一个段落的标题
|
||||
BarChart.createFirstLevelTopic(docxDocument, "1.Background information");
|
||||
//创建第一个段落的内容
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "Date time: " + year);
|
||||
String zoneString="";
|
||||
for (String zone:zoneList){
|
||||
zone+=" | ";
|
||||
zoneString+=zone;
|
||||
}
|
||||
return AjaxResult.success("成功!");
|
||||
zoneString=zoneString.substring(0,zoneString.length()-3);
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "Evaluation area: " + zoneString);
|
||||
Integer number=0;
|
||||
for (int i=0;i<zoneList.length;i++){
|
||||
String zone = zoneList[i];
|
||||
//2.1
|
||||
BarChart.createFirstLevelTopic(docxDocument, i+2+". Results of remote sensing monitoring of planting suitability"+"( zone:"+zone+")");
|
||||
//土地利用类型
|
||||
BarChart.createSecondLevelTopic(docxDocument, i+2+".1. Monitoring results of land use types");
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+1)+" Spatial distribution data of land use types");
|
||||
//绘制土地利用类型图表
|
||||
List<LandUse> landUses = landUseServices.sqlSeeding1(zone, year);
|
||||
UplodFile main = landUseServices.mainClass(zone, year);
|
||||
//x轴
|
||||
String[] xAxisData = new String[]{"Fields", "Buildings", "Roads", "Water", "Forest", "Grass", "Soil", "Desert", "Rocks", "Other"};
|
||||
//y轴
|
||||
Double[] yAxisData = new Double[]{landUses.get(0).getArea(), landUses.get(1).getArea(), landUses.get(2).getArea(), landUses.get(3).getArea(), landUses.get(4).getArea(), landUses.get(5).getArea(), landUses.get(6).getArea(), landUses.get(7).getArea(), landUses.get(8).getArea(), landUses.get(9).getArea()};
|
||||
BarChart.drawTable(docxDocument, xAxisData, yAxisData);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+2)+" Statistical data on land use types");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In "+zone+" region, the total area of field is "+landUses.get(0).getArea()+" hm², the building is "+landUses.get(1).getArea()+" hm², the road is "+landUses.get(2).getArea()+" hm², the water is "+landUses.get(3).getArea()+" hm², the forest is "+landUses.get(4).getArea()+" hm², the grass is "+landUses.get(5).getArea()+" hm², the soil is "+landUses.get(6).getArea()+" hm², the desert is "+landUses.get(7).getArea()+" hm², the rock is "+landUses.get(8).getArea()+" hm², and other land use types are "+landUses.get(9).getArea()+" hm².");
|
||||
|
||||
BarChart.createSecondLevelTopic(docxDocument, i+2+".2 Monitoring results of planting suitability evaluation index");
|
||||
//2.2.1海拔、坡向、坡度
|
||||
//海拔
|
||||
BarChart.createSecondLevelTopic(docxDocument, i+2+".2.1. Monitoring results of terrain index");
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+3)+" Spatial distribution data of altitude");
|
||||
//绘制折线图(已取消)
|
||||
String[] xAxis = new String[]{"<400", "400-600", "600-100", "1000-1500", ">1500"};//x轴
|
||||
Double[] yAxis = new Double[]{main.getAltitudes().get(0).getLevel1(),
|
||||
main.getAltitudes().get(0).getLevel2(), main.getAltitudes().get(0).getLevel3(),
|
||||
main.getAltitudes().get(0).getLevel4(), main.getAltitudes().get(0).getLevel5()};//y轴
|
||||
BarChart.drawTable(docxDocument, xAxis, yAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+4)+" Classification statistics of altitude");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area with an altitude lower than 400m is " + main.getAltitudes().get(0).getLevel1() + " hm², the area with 400-600m is " + main.getAltitudes().get(0).getLevel2() + " hm², the area with 600-1000m is " + main.getAltitudes().get(0).getLevel3() + " hm², and the area with 1000-1500m is " + main.getAltitudes().get(0).getLevel4() + " hm². The area with an altitude higher than 1500m is " + main.getAltitudes().get(0).getLevel5() + " hm².");
|
||||
//坡向
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+5)+" Spatial distribution data of aspect");
|
||||
String[] xAspectAxis = new String[]{"North", "Northeast", "East", "Southeast", "South", "Southwest", "West", "NorthWest"};//x轴
|
||||
Double[] yAspectAxis = new Double[]{main.getAspects().get(0).getNorth(), main.getAspects().get(0).getNortheast(),
|
||||
main.getAspects().get(0).getEast(), main.getAspects().get(0).getSoutheast(), main.getAspects().get(0).getSouth(),
|
||||
main.getAspects().get(0).getSouthwest(), main.getAspects().get(0).getWest(), main.getAspects().get(0).getNorthwest()};//y轴
|
||||
BarChart.drawTable(docxDocument, xAspectAxis, yAspectAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+6)+" Classification statistics of aspect");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area with the north aspect is " + main.getAspects().get(0).getNorth() + " hm², the area with the northeast aspect is " + main.getAspects().get(0).getNortheast() + " hm², the area with the east aspect is " + main.getAspects().get(0).getEast() + " hm², the area with the southeast aspect is " + main.getAspects().get(0).getSoutheast() + " hm², and the area with the south aspect is " + main.getAspects().get(0).getNorth() + " hm², the area with the southwest aspect is " + main.getAspects().get(0).getSouthwest() + " hm², the area with the west aspect is " + main.getAspects().get(0).getWest() + " hm², and the area with the northwest aspect is " + main.getAspects().get(0).getNorthwest() + " hm².");
|
||||
//坡度
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+7)+" Spatial distribution data of slope");
|
||||
String[] xSlopeAxis = new String[]{"<10°", "10°~30°", "30°~50°", "50°~70°", ">70°"};//x轴
|
||||
Double[] ySlopeAxis = new Double[]{main.getSlopes().get(0).getLevel1(),
|
||||
main.getSlopes().get(0).getLevel2(), main.getSlopes().get(0).getLevel3(),
|
||||
main.getSlopes().get(0).getLevel4(), main.getSlopes().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xSlopeAxis, ySlopeAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+8)+" Classification statistics of slope");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of slope less than 10° is " + main.getSlopes().get(0).getLevel1() + " hm2, the area of 10°-30° is " + main.getSlopes().get(0).getLevel2() + " hm2, the area of 30°-50° is " + main.getSlopes().get(0).getLevel3() + " hm2, and the area of 50°-70° is " + main.getSlopes().get(0).getLevel4() + "hm2. The area greater than 70° is " + main.getSlopes().get(0).getLevel5() + " hm2.");
|
||||
|
||||
//2.2.2 沙化指数、湿度指数、盐渍化指数
|
||||
BarChart.createSecondLevelTopic(docxDocument, i+2+".2.2. Monitoring results of soil index");
|
||||
//沙化指数
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+9)+" Spatial distribution data of soil desertification factor");
|
||||
String[] xDesertificationAxis = new String[]{"<0.1", "01~0.3", "0.3~0.5", "0.5~0.7", ">0.7"};//x轴
|
||||
Double[] yDesertificationAxis = new Double[]{main.getSoilDesertifications().get(0).getLevel1(),
|
||||
main.getSoilDesertifications().get(0).getLevel2(), main.getSoilDesertifications().get(0).getLevel3(),
|
||||
main.getSoilDesertifications().get(0).getLevel4(), main.getSoilDesertifications().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yDesertificationAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+10)+" Classification statistics of soil desertification factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of soil desertification factor less than 0.1 is " + main.getSoilDesertifications().get(0).getLevel1() + " hm2, the area of 0.1-0.3 is " + main.getSoilDesertifications().get(0).getLevel2() + "hm2, the area of 0.3-0.5 is " + main.getSoilDesertifications().get(0).getLevel3() + " hm2, and the area of 0.5-0.7 is " + main.getSoilDesertifications().get(0).getLevel4() + " hm2. The area greater than 0.7 is " + main.getSoilDesertifications().get(0).getLevel5() + " hm2.");
|
||||
//湿度指数
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+11)+" Spatial distribution data of soil moisture factor");
|
||||
Double[] yMoistureAxis = new Double[]{main.getSoilMoistures().get(0).getLevel1(),
|
||||
main.getSoilMoistures().get(0).getLevel2(), main.getSoilMoistures().get(0).getLevel3(),
|
||||
main.getSoilMoistures().get(0).getLevel4(), main.getSoilMoistures().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yMoistureAxis);
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+12)+" Classification statistics of soil moisture factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of soil moisture factor less than 0.1 is " + main.getSoilMoistures().get(0).getLevel1() + " hm2, the area of 0.1-0.3 is " + main.getSoilMoistures().get(0).getLevel2() + " hm2, the area of 0.3-0.5 is " + main.getSoilMoistures().get(0).getLevel3() + " hm2, and the area of 0.5-0.7 is " + main.getSoilMoistures().get(0).getLevel4() + "hm2. The area greater than 0.7 is " + main.getSoilMoistures().get(0).getLevel5() + " hm2.");
|
||||
//盐渍化指数
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+13)+" Spatial distribution data of soil salinization factor");
|
||||
Double[] ySalinizationsAxis = new Double[]{main.getSoilSalinizations().get(0).getLevel1(),
|
||||
main.getSoilSalinizations().get(0).getLevel2(), main.getSoilSalinizations().get(0).getLevel3(),
|
||||
main.getSoilSalinizations().get(0).getLevel4(), main.getSoilSalinizations().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, ySalinizationsAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+14)+" Classification statistics of soil salinization factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, In 01 area, the area of soil salinization factor less than " + main.getSoilSalinizations().get(0).getLevel1() + " is 252 hm2, the area of 0.1-0.3 is " + main.getSoilSalinizations().get(0).getLevel2() + " hm2, the area of 0.3-0.5 is " + main.getSoilSalinizations().get(0).getLevel3() + " hm2, and the area of 0.5-0.7 is " + main.getSoilSalinizations().get(0).getLevel4() + " hm2. The area greater than 0.7 is " + main.getSoilSalinizations().get(0).getLevel5() + " hm2.");
|
||||
|
||||
//2.2.3 水域因子、道路因子
|
||||
BarChart.createSecondLevelTopic(docxDocument, "2.2.3. Monitoring results of regional index");
|
||||
//道路因子
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+15)+" Spatial distribution data of road factor");
|
||||
Double[] yRoadAxis = new Double[]{main.getRoadFactors().get(0).getLevel1(),
|
||||
main.getRoadFactors().get(0).getLevel2(), main.getRoadFactors().get(0).getLevel3(),
|
||||
main.getRoadFactors().get(0).getLevel4(), main.getRoadFactors().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yRoadAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+16)+" Classification statistics of road factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of road factor less than 0.1 is " + main.getRoadFactors().get(0).getLevel1() + " hm2, the area of 0.1-0.3 is " + main.getRoadFactors().get(0).getLevel2() + " hm2, the area of 0.3-0.5 is " + main.getRoadFactors().get(0).getLevel3() + " hm2, and the area of 0.5-0.7 is " + main.getRoadFactors().get(0).getLevel4() + " hm2. The area greater than 0.7 is " + main.getRoadFactors().get(0).getLevel5() + "hm2.");
|
||||
//水域因子
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+17)+" Spatial distribution data of water factor");
|
||||
Double[] yWaterAxis = new Double[]{main.getWaterFactors().get(0).getLevel1(),
|
||||
main.getWaterFactors().get(0).getLevel2(), main.getWaterFactors().get(0).getLevel3(),
|
||||
main.getWaterFactors().get(0).getLevel4(), main.getWaterFactors().get(0).getLevel5()};
|
||||
BarChart.drawTable(docxDocument, xDesertificationAxis, yWaterAxis);//标题2图标
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+18)+" Classification statistics of water factor");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument, "In " + zone + " region, the area of water factor less than 0.1 is " + main.getWaterFactors().get(0).getLevel1() + " hm2, the area of 0.1-0.3 is " + main.getWaterFactors().get(0).getLevel2() + " hm2, the area of 0.3-0.5 is " + main.getWaterFactors().get(0).getLevel3() + " hm2, and the area of 0.5-0.7 is " + main.getWaterFactors().get(0).getLevel4() + " hm2. The area greater than 0.7 is " + main.getWaterFactors().get(0).getLevel5() + " hm2.");
|
||||
//2.3
|
||||
BarChart.createSecondLevelTopic(docxDocument, i+2+".3. Monitoring results of planting suitability");
|
||||
//查找适宜性
|
||||
PlantingSuitability suitability = plantingSuitabilityService.sqlSeeding1(zone, year);
|
||||
BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+19)+" Spatial distribution data of planting suitability");
|
||||
//此处插入图表
|
||||
String[] xAxisData2 = new String[]{"Very Suitable", "Suitable", "Not Suitable"};
|
||||
Double x1 = suitability.getVerySuitable();
|
||||
Double x2 = suitability.getSuitable();
|
||||
Double x3 = suitability.getNotSuitable();
|
||||
Double[] yAxisData2 = new Double[]{x1, x2, x3};
|
||||
BarChart.drawTable(docxDocument, xAxisData2, yAxisData2);
|
||||
BarChart.setPicTitle(docxDocument, "Figure "+(number+20)+" Classification statistics of planting suitability");
|
||||
BarChart.createParagraphAndInsertWord(docxDocument,"In "+suitability.getZone()+" region, the area of very suitable region was "+suitability.getVerySuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getVerySuitable()/suitability.getTotalArea())*100)+"%. The area of suitable grade was "+suitability.getSuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getSuitable()/suitability.getTotalArea())*100)+"%. The area of unsuitable area was "+suitability.getNotSuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getNotSuitable()/suitability.getTotalArea())*100)+"%.");
|
||||
number+=20;
|
||||
}
|
||||
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setContentType("application/msword");
|
||||
//文件名
|
||||
String fileName = "Evaluation report of planting monitoring in ITBA Nature Reserve - V2.0.docx";
|
||||
response.setHeader("Content-Disposition", "attachment;fileName=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
|
||||
ServletOutputStream responseOutputStream = response.getOutputStream();
|
||||
docxDocument.write(responseOutputStream);
|
||||
responseOutputStream.flush();
|
||||
responseOutputStream.close();
|
||||
}
|
||||
|
||||
|
||||
@ -911,7 +726,7 @@ public class DateUploadController {
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument, ""+BarChart.changeDate(seedingSuccessRate.getImageDate())+
|
||||
// ". The total planting area in "+seedingSuccessRate.getZone()+" area was "+
|
||||
// BarChart.getDoubleNumber((seedingSuccessRate.getSeedingSuccessArea()/seedingSuccessRate.getSeedingSuccess())) +
|
||||
// " km², the vegetation survival area was "+seedingSuccessRate.getSeedingSuccessArea()+" km², and the seeding success rate was "+seedingSuccessRate.getSeedingSuccess()+"%.");
|
||||
// " hm², the vegetation survival area was "+seedingSuccessRate.getSeedingSuccessArea()+" hm², and the seeding success rate was "+seedingSuccessRate.getSeedingSuccess()+"%.");
|
||||
// }
|
||||
// //第三段的标题
|
||||
// BarChart.createFirstLevelTopic(docxDocument, "3.Results of remote sensing monitoring of vegetation health");
|
||||
@ -940,9 +755,9 @@ public class DateUploadController {
|
||||
// List<VegetationHealth> vegetationHealths_M = vegetationHealthServices.sqlSeeding(zone, M_code.get(i), year);
|
||||
// for (VegetationHealth vegetationHealth_m : vegetationHealths_M) {
|
||||
// //第三段的第一个小标题的内容
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\sjs\\Desktop\\R-C.jpg");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
// BarChart.setPicTitle(docxDocument, "Spatial distribution data of vegetation planting area");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\sjs\\Desktop\\R-C.jpg");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
// BarChart.setPicTitle(docxDocument, "Spatial distribution data of vegetation health status");
|
||||
// //插入柱状图表
|
||||
// String[] xAxisData = new String[]{"Health", "Normal", "Not-Health"};
|
||||
@ -952,7 +767,7 @@ public class DateUploadController {
|
||||
// Double[] yAxisData = new Double[]{m1, m2, m3};
|
||||
// BarChart.drawTable(docxDocument,xAxisData,yAxisData);
|
||||
// BarChart.setPicTitle(docxDocument, "Statistical data on vegetation health");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument, ""+BarChart.changeDate(vegetationHealth_m.getImageDate())+". Based on the monitoring results of high resolution satellite images, the area of healthy vegetation growth in "+vegetationHealth_m.getZone()+" region was "+vegetationHealth_m.getHealthy()+" km², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getHealthy()/vegetationHealth_m.getTotalArea())*100)+"%. The area with normal vegetation growth was "+vegetationHealth_m.getNormal()+" km², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getNormal()/vegetationHealth_m.getTotalArea())*100)+"%. The area of unhealthy vegetation growth was "+vegetationHealth_m.getNotHealthy()+" km², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getNotHealthy()/vegetationHealth_m.getTotalArea())*100)+"%.");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument, ""+BarChart.changeDate(vegetationHealth_m.getImageDate())+". Based on the monitoring results of high resolution satellite images, the area of healthy vegetation growth in "+vegetationHealth_m.getZone()+" region was "+vegetationHealth_m.getHealthy()+" hm², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getHealthy()/vegetationHealth_m.getTotalArea())*100)+"%. The area with normal vegetation growth was "+vegetationHealth_m.getNormal()+" hm², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getNormal()/vegetationHealth_m.getTotalArea())*100)+"%. The area of unhealthy vegetation growth was "+vegetationHealth_m.getNotHealthy()+" hm², accounting for "+BarChart.getDoubleNumber((vegetationHealth_m.getNotHealthy()/vegetationHealth_m.getTotalArea())*100)+"%.");
|
||||
// }
|
||||
// }
|
||||
// //第三段的第二个小标题
|
||||
@ -961,9 +776,9 @@ public class DateUploadController {
|
||||
// List<VegetationHealth> vegetationHealths_H = vegetationHealthServices.sqlSeeding(zone, H_code.get(i), year);
|
||||
// for (VegetationHealth vegetationHealth_h : vegetationHealths_H) {
|
||||
// //第三段的第二个小标题的内容
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\sjs\\Desktop\\R-C.jpg");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
// BarChart.setPicTitle(docxDocument, "Spatial distribution data of vegetation planting area");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\sjs\\Desktop\\R-C.jpg");
|
||||
// BarChart.insertPic(docxDocument, "C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
// BarChart.setPicTitle(docxDocument, "Spatial distribution data of vegetation health status");
|
||||
// //此处插入图表
|
||||
// String[] xAxisData1 = new String[]{"Health", "Normal", "Not-Health"};
|
||||
@ -973,7 +788,7 @@ public class DateUploadController {
|
||||
// Double[] yAxisData1 = new Double[]{h1, h2, h3};
|
||||
// BarChart.drawTable(docxDocument, xAxisData1, yAxisData1);
|
||||
// BarChart.setPicTitle(docxDocument, "Statistical data on vegetation health");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument, "" + BarChart.changeDate(vegetationHealth_h.getImageDate()) + ". Based on the monitoring results of high resolution satellite images, the area of healthy vegetation growth in " + vegetationHealth_h.getZone() + " region was " + vegetationHealth_h.getHealthy() + " km², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getHealthy() / vegetationHealth_h.getTotalArea()) * 100) + "%. The area with normal vegetation growth was " + vegetationHealth_h.getNormal() + " km², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getNormal() / vegetationHealth_h.getTotalArea()) * 100) + "%. The area of unhealthy vegetation growth was " + vegetationHealth_h.getNotHealthy() + " km², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getNotHealthy() / vegetationHealth_h.getTotalArea()) * 100) + "%.");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument, "" + BarChart.changeDate(vegetationHealth_h.getImageDate()) + ". Based on the monitoring results of high resolution satellite images, the area of healthy vegetation growth in " + vegetationHealth_h.getZone() + " region was " + vegetationHealth_h.getHealthy() + " hm², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getHealthy() / vegetationHealth_h.getTotalArea()) * 100) + "%. The area with normal vegetation growth was " + vegetationHealth_h.getNormal() + " hm², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getNormal() / vegetationHealth_h.getTotalArea()) * 100) + "%. The area of unhealthy vegetation growth was " + vegetationHealth_h.getNotHealthy() + " hm², accounting for " + BarChart.getDoubleNumber((vegetationHealth_h.getNotHealthy() / vegetationHealth_h.getTotalArea()) * 100) + "%.");
|
||||
// }
|
||||
// }
|
||||
// //第四个标题
|
||||
@ -983,7 +798,7 @@ public class DateUploadController {
|
||||
// //获取图片的url
|
||||
// String productCode1 = suitability.getProductCode1();
|
||||
// //第四个标题的内容
|
||||
// BarChart.insertPic(docxDocument,"C:\\Users\\sjs\\Desktop\\R-C.jpg");
|
||||
// BarChart.insertPic(docxDocument,"C:\\Users\\HP\\Desktop\\文本文档\\1650791783(1).jpg");
|
||||
// BarChart.setPicTitle(docxDocument,"Spatial distribution data of planting suitability");
|
||||
// //此处插入图表
|
||||
// String[] xAxisData2 = new String[]{"Very Suitable", "Suitable", "Not Suitable"};
|
||||
@ -993,7 +808,7 @@ public class DateUploadController {
|
||||
// Double[] yAxisData2 = new Double[]{s1, s2, s3};
|
||||
// BarChart.drawTable(docxDocument,xAxisData2,yAxisData2);
|
||||
// BarChart.setPicTitle(docxDocument,"Classification statistics of planting suitability");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument,"In "+suitability.getZone()+" region, the area of very suitable region was "+suitability.getVerySuitable()+" km², accounting for "+BarChart.getDoubleNumber((suitability.getVerySuitable()/suitability.getTotalArea())*100)+"%. The area of suitable grade was "+suitability.getSuitable()+" km², accounting for "+BarChart.getDoubleNumber((suitability.getSuitable()/suitability.getTotalArea())*100)+"%. The area of unsuitable area was "+suitability.getNotSuitable()+" km², accounting for "+BarChart.getDoubleNumber((suitability.getNotSuitable()/suitability.getTotalArea())*100)+"%.");
|
||||
// BarChart.createParagraphAndInsertWord(docxDocument,"In "+suitability.getZone()+" region, the area of very suitable region was "+suitability.getVerySuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getVerySuitable()/suitability.getTotalArea())*100)+"%. The area of suitable grade was "+suitability.getSuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getSuitable()/suitability.getTotalArea())*100)+"%. The area of unsuitable area was "+suitability.getNotSuitable()+" hm², accounting for "+BarChart.getDoubleNumber((suitability.getNotSuitable()/suitability.getTotalArea())*100)+"%.");
|
||||
// }
|
||||
// response.setCharacterEncoding("UTF-8");
|
||||
// response.setContentType("application/msword");
|
||||
|
@ -95,7 +95,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Buildings") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setBuildings(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -103,14 +102,12 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Roads") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setRoads(value.get(i).getArea());
|
||||
value1.setProductCode1(value.get(i).getProductCode1());
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Water") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setWater(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -118,7 +115,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Forest") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setForest(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -126,7 +122,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Grass") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setGrass(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -134,7 +129,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Soil") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setSoil(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -142,7 +136,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Desert") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setDesert(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -150,7 +143,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Rocks") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setRocks(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -158,7 +150,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
} else if (value.get(i).getLandUse().equals("Other") && value.get(i).getZone().equals(zonenew.get(j))) {
|
||||
value1.setOther(value.get(i).getArea());
|
||||
value1.setZone(value.get(i).getZone());
|
||||
@ -166,7 +157,6 @@ public class LandUseController {
|
||||
value1.setProductCode2(value.get(i).getProductCode2());
|
||||
value1.setProductCode3(value.get(i).getProductCode3());
|
||||
value1.setYear(value.get(i).getYear());
|
||||
value1.setRegionName(value.get(i).getRegionName());
|
||||
}
|
||||
}
|
||||
lanUseNews.add(value1);
|
||||
|
@ -18,8 +18,8 @@ ruoyi:
|
||||
# 开发环境配置
|
||||
server:
|
||||
# 服务器的HTTP端口,默认为8080
|
||||
#port: 6051
|
||||
port: 6051
|
||||
#port: 9800
|
||||
servlet:
|
||||
# 应用的访问路径
|
||||
context-path: /
|
||||
@ -60,7 +60,7 @@ spring:
|
||||
# redis 配置
|
||||
redis:
|
||||
# 地址
|
||||
# host: rs-middleware-redis
|
||||
#host: rs-middleware-redis
|
||||
host: localhost
|
||||
# 端口,默认为6379
|
||||
#port: 14096
|
||||
@ -68,7 +68,7 @@ spring:
|
||||
# 数据库索引
|
||||
database: 0
|
||||
# 密码
|
||||
# password: SenseTime@2019
|
||||
#password: SenseTime@2019
|
||||
password: sdust2020
|
||||
# 连接超时时间
|
||||
timeout: 10s
|
||||
@ -140,4 +140,4 @@ xss:
|
||||
# 排除链接(多个用逗号分隔)
|
||||
excludes: /system/notice/*
|
||||
# 匹配链接
|
||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||
urlPatterns: /system/*,/monitor/*,/tool/*
|
||||
|
@ -1,26 +1,21 @@
|
||||
package com.ruoyi.common.utils;
|
||||
import org.apache.poi.hpsf.Section;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.apache.poi.ss.usermodel.HeaderFooter;
|
||||
import org.apache.poi.ss.usermodel.Picture;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.ss.util.CellReference;
|
||||
import org.apache.poi.util.Units;
|
||||
import org.apache.poi.wp.usermodel.HeaderFooterType;
|
||||
import org.apache.poi.wp.usermodel.Paragraph;
|
||||
import org.apache.poi.xddf.usermodel.chart.*;
|
||||
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
|
||||
import org.apache.poi.xwpf.usermodel.*;
|
||||
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.io.FileInputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.poi.xwpf.usermodel.XWPFChart;
|
||||
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSpacing;
|
||||
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STLineSpacingRule;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -31,74 +26,6 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
|
||||
public class BarChart
|
||||
{
|
||||
|
||||
public static Double fun(Double value)
|
||||
{
|
||||
BigDecimal bg=new BigDecimal(value);
|
||||
return bg.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void setXWPFRunStyle(XWPFRun r1,String font,int fontSize) {
|
||||
r1.setFontSize(fontSize);
|
||||
CTRPr rpr = r1.getCTR().isSetRPr() ? r1.getCTR().getRPr() : r1.getCTR().addNewRPr();
|
||||
CTFonts fonts = rpr.isSetRFonts() ? rpr.getRFonts() : rpr.addNewRFonts();
|
||||
fonts.setAscii(font);
|
||||
fonts.setEastAsia(font);
|
||||
fonts.setHAnsi(font);
|
||||
}
|
||||
|
||||
|
||||
public static void createHeader(XWPFDocument doc, String orgFullName){
|
||||
try {
|
||||
|
||||
CTSectPr sectPr = doc.getDocument().getBody().addNewSectPr();
|
||||
XWPFHeaderFooterPolicy headerFooterPolicy = new XWPFHeaderFooterPolicy(doc, sectPr);
|
||||
XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
XWPFParagraph paragraph = header.createParagraph();
|
||||
paragraph.setAlignment(ParagraphAlignment.BOTH); //设置段落左对齐
|
||||
paragraph.setBorderBottom(Borders.THICK); //设置下划线
|
||||
// paragraph.setSpacingLineRule(LineSpacingRule.AUTO);
|
||||
paragraph.setSpacingBetween(40,LineSpacingRule.EXACT);
|
||||
// paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
|
||||
XWPFRun run = paragraph.createRun();
|
||||
run.setBold(false);
|
||||
run.setFontSize(9);
|
||||
/*
|
||||
* 取到图片的字节流
|
||||
* */
|
||||
String logoFilePath="shate.png";
|
||||
if (StringUtils.isNotEmpty(logoFilePath)) {
|
||||
File file=new File(logoFilePath);
|
||||
InputStream is = new FileInputStream(file);
|
||||
XWPFPicture picture = run.addPicture(is, XWPFDocument.PICTURE_TYPE_JPEG, logoFilePath, Units.toEMU(60), Units.toEMU(30));
|
||||
String blipID = "";
|
||||
for(XWPFPictureData picturedata : header.getAllPackagePictures()) { //这段必须有,不然打开的logo图片不显示
|
||||
blipID = header.getRelationId(picturedata);
|
||||
}
|
||||
picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
|
||||
run.addTab();
|
||||
is.close();
|
||||
}
|
||||
/*
|
||||
* 添加字体页眉
|
||||
* */
|
||||
if (StringUtils.isNotEmpty(orgFullName)) {
|
||||
run = paragraph.createRun();
|
||||
run.setText(" "+orgFullName);
|
||||
}
|
||||
|
||||
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (InvalidFormatException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
//绘制折线图
|
||||
public static void drawLine(XWPFDocument document, String[] xAxisData,Double[] yAxisData) throws Exception {
|
||||
XWPFChart xChart = document.createChart(15 * Units.EMU_PER_CENTIMETER, 10 * Units.EMU_PER_CENTIMETER);
|
||||
@ -113,7 +40,7 @@ public class BarChart
|
||||
// 6、Y轴(值轴)相关设置
|
||||
XDDFValueAxis yAxis = xChart.createValueAxis(AxisPosition.LEFT); // 创建Y轴,指定位置轴标题
|
||||
XDDFNumericalDataSource<Double> yAxisSource = XDDFDataSourcesFactory.fromArray(yAxisData); // 设置Y轴数据
|
||||
yAxis.setTitle("km²");
|
||||
yAxis.setTitle("hm²");
|
||||
// 7、创建折线图对象
|
||||
XDDFLineChartData lineChart = (XDDFLineChartData) xChart.createData(ChartTypes.LINE, xAxis, yAxis);
|
||||
|
||||
@ -128,12 +55,21 @@ public class BarChart
|
||||
}
|
||||
|
||||
public static void drawTable(XWPFDocument document, String[] xAxisData,Double[] yAxisData) throws Exception {
|
||||
/*int numOfPoints = categories.length;
|
||||
String categoryDataRange = chart.formatRange(new CellRangeAddress(1, numOfPoints, 0, 0));
|
||||
String valuesDataRangeA = chart.formatRange(new CellRangeAddress(1, numOfPoints, 1, 1));
|
||||
String valuesDataRangeB = chart.formatRange(new CellRangeAddress(1, numOfPoints, 2, 2));
|
||||
XDDFDataSource<String> categoriesData = XDDFDataSourcesFactory.fromArray(categories, categoryDataRange, 0);
|
||||
XDDFNumericalDataSource<Double> valuesDataA = XDDFDataSourcesFactory.fromArray(valuesA, valuesDataRangeA, 1);
|
||||
XDDFNumericalDataSource<Double> valuesDataB = XDDFDataSourcesFactory.fromArray(valuesB, valuesDataRangeB, 2);*/
|
||||
// 创建chart图表对象,抛出异常
|
||||
// XWPFChart chart = document.createChart(15 * Units.EMU_PER_CENTIMETER, 10 * Units.EMU_PER_CENTIMETER);
|
||||
XWPFChart chart=document.createChart(15 * Units.EMU_PER_CENTIMETER, 11 * Units.EMU_PER_CENTIMETER);
|
||||
chart.setTitleText("");
|
||||
XWPFChart chart = document.createChart(15 * Units.EMU_PER_CENTIMETER, 10 * Units.EMU_PER_CENTIMETER);
|
||||
// 图表相关设置
|
||||
chart.setTitleText(""); // 图表标题
|
||||
|
||||
chart.setTitleOverlay(false); // 图例是否覆盖标题
|
||||
chart.setChartBottomMargin(50);
|
||||
//XDDFChartLegend legend = chart.getOrAddLegend();
|
||||
//legend.setPosition(LegendPosition.TOP); // 图例位置:上下左右
|
||||
// X轴(分类轴)相关设置
|
||||
XDDFCategoryAxis xAxis =chart.createCategoryAxis(AxisPosition.BOTTOM); // 创建X轴,并且指定位置
|
||||
xAxis.setTitle(""); // x轴标题
|
||||
@ -141,7 +77,7 @@ public class BarChart
|
||||
// Y轴(值轴)相关设置
|
||||
//chart.createValueAxis(AxisPosition.LEFT);
|
||||
XDDFValueAxis yAxis = chart.createValueAxis(AxisPosition.LEFT); // 创建Y轴,指定位置
|
||||
yAxis.setTitle("Area(km²)"); // Y轴标题
|
||||
yAxis.setTitle("Area(hm²)"); // Y轴标题
|
||||
yAxis.setCrossBetween(AxisCrossBetween.BETWEEN); // 设置图柱的位置:BETWEEN居中
|
||||
XDDFNumericalDataSource<Double> yAxisSource = XDDFDataSourcesFactory.fromArray(yAxisData); // 设置Y轴数据
|
||||
ChartTypes chartTypes = ChartTypes.BAR;
|
||||
@ -151,11 +87,9 @@ public class BarChart
|
||||
barChart.setVaryColors(false);
|
||||
// 加载柱状图数据集
|
||||
XDDFBarChartData.Series barSeries = (XDDFBarChartData.Series) barChart.addSeries(xAxisSource, yAxisSource);
|
||||
barSeries.setTitle(" ", null); // 图例标题
|
||||
barSeries.setTitle(" ", null); // 图例标题
|
||||
// 绘制柱状图
|
||||
chart.plot(barChart);
|
||||
|
||||
|
||||
}
|
||||
|
||||
//插入图片
|
||||
@ -168,7 +102,7 @@ public class BarChart
|
||||
(fileAddress)) {
|
||||
run.addPicture(is, XWPFDocument.PICTURE_TYPE_PNG,
|
||||
fileAddress,
|
||||
Units.toEMU(392), Units.toEMU(280)); // 200x200 pixels
|
||||
Units.toEMU(185), Units.toEMU(223)); // 200x200 pixels
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -214,25 +148,13 @@ public class BarChart
|
||||
public static void setPicTitle(XWPFDocument document,String date)
|
||||
{
|
||||
XWPFParagraph Paragraph = document.createParagraph();
|
||||
|
||||
// Paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
//// 边框
|
||||
// Paragraph.setBorderBottom(Borders.NIL);
|
||||
// Paragraph.setBorderTop(Borders.NIL);
|
||||
// Paragraph.setBorderRight(Borders.NIL);
|
||||
// Paragraph.setBorderLeft(Borders.NIL);
|
||||
// Paragraph.setBorderBetween(Borders.SINGLE);
|
||||
// Paragraph.setSpacingAfter(5);
|
||||
// Paragraph.setSpacingBeforeLines(5);
|
||||
// Paragraph.setSpacingBetween(5);
|
||||
Paragraph.setAlignment(ParagraphAlignment.CENTER);//对齐方式
|
||||
BarChart.setLineSpace(Paragraph,25);
|
||||
//BarChart.setLineSpace(Paragraph,30);
|
||||
XWPFRun run = Paragraph.createRun();
|
||||
// run.addCarriageReturn();
|
||||
run.setText(date);
|
||||
run.setBold(true);//加粗
|
||||
run.setFontSize(10);
|
||||
// run.setFontFamily("Times New Roman");
|
||||
run.setFontFamily("Times New Roman");
|
||||
}
|
||||
//设置题目
|
||||
public static void setTitle(XWPFDocument document,String date)
|
||||
@ -241,8 +163,8 @@ public class BarChart
|
||||
title.setAlignment(ParagraphAlignment.CENTER);
|
||||
XWPFRun runTitle = title.createRun();
|
||||
runTitle.setText(date);
|
||||
runTitle.setBold(true);
|
||||
runTitle.setFontSize(20);
|
||||
runTitle.setBold(false);
|
||||
runTitle.setFontSize(16);
|
||||
runTitle.setFontFamily("Times New Roman");
|
||||
}
|
||||
//设置行间距
|
||||
@ -257,7 +179,6 @@ public class BarChart
|
||||
//1磅数是20
|
||||
spacing.setLine(BigInteger.valueOf(size*20));
|
||||
}
|
||||
|
||||
public static String getDoubleNumber(Double d)
|
||||
{
|
||||
DecimalFormat df = new DecimalFormat("#.00");
|
||||
|
@ -10,7 +10,7 @@ import java.util.List;
|
||||
* @Author: JinSheng Song
|
||||
* @Date: 2022/7/11 15:32
|
||||
*/
|
||||
public class DateUpload extends SysSTEntity
|
||||
public class DateUpload
|
||||
{
|
||||
private String id;
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
package com.ruoyi.system.domain_shate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RegionName {
|
||||
private List<RegionNameVO> regionName;
|
||||
|
||||
public List<RegionNameVO> getRegionName() {
|
||||
return regionName;
|
||||
}
|
||||
|
||||
public void setRegionName(List<RegionNameVO> regionName) {
|
||||
this.regionName = regionName;
|
||||
}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.ruoyi.system.domain_shate;
|
||||
|
||||
public class RegionNameVO {
|
||||
/**
|
||||
* 历史
|
||||
*/
|
||||
private String originalName;
|
||||
/**
|
||||
* 当前
|
||||
*/
|
||||
private String currentName;
|
||||
|
||||
|
||||
public String getOriginalName() {
|
||||
return originalName;
|
||||
}
|
||||
|
||||
public void setOriginalName(String originalName) {
|
||||
this.originalName = originalName;
|
||||
}
|
||||
|
||||
public String getCurrentName() {
|
||||
return currentName;
|
||||
}
|
||||
|
||||
public void setCurrentName(String currentName) {
|
||||
this.currentName = currentName;
|
||||
}
|
||||
}
|
@ -5,8 +5,6 @@ package com.ruoyi.system.domain_shate;
|
||||
* @Date: 2022/7/11 10:02
|
||||
*/
|
||||
public class SysSTEntity {
|
||||
|
||||
private String regionName;
|
||||
private String link;
|
||||
|
||||
public String getLink() {
|
||||
@ -16,12 +14,4 @@ public class SysSTEntity {
|
||||
public void setLink(String link) {
|
||||
this.link = link;
|
||||
}
|
||||
|
||||
public String getRegionName() {
|
||||
return regionName;
|
||||
}
|
||||
|
||||
public void setRegionName(String regionName) {
|
||||
this.regionName = regionName;
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +0,0 @@
|
||||
package com.ruoyi.system.domain_shate;
|
||||
|
||||
public class WordVo {
|
||||
|
||||
private String [] zoneList;
|
||||
|
||||
private String[] year;
|
||||
|
||||
public String[] getZoneList() {
|
||||
return zoneList;
|
||||
}
|
||||
|
||||
public void setZoneList(String[] zoneList) {
|
||||
this.zoneList = zoneList;
|
||||
}
|
||||
|
||||
public String[] getYear() {
|
||||
return year;
|
||||
}
|
||||
|
||||
public void setYear(String[] year) {
|
||||
this.year = year;
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@ package com.ruoyi.system.domain_shate;
|
||||
* @Author: JinSheng Song
|
||||
* @Date: 2022/7/23 16:38
|
||||
*/
|
||||
public class lanUseNew extends SysSTEntity
|
||||
public class lanUseNew
|
||||
{
|
||||
private Integer id;
|
||||
|
||||
|
@ -1,49 +0,0 @@
|
||||
package com.ruoyi.system.mapper_shate;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface updateAllRegionNameMapper {
|
||||
|
||||
Integer altitude(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer Aspect(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer Slope(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer salinization(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer moisture(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer desertification(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer road(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer water(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer landuse(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
Integer dataUpload(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer suitability(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer waterArea(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer seedSuccess(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
|
||||
Integer healthy(@Param("regionName") String regionName,
|
||||
@Param("regionName1") String regionName1);
|
||||
}
|
@ -1,8 +1,6 @@
|
||||
package com.ruoyi.system.service_shate;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.system.domain_shate.LandUse;
|
||||
import com.ruoyi.system.domain_shate.RegionNameVO;
|
||||
import com.ruoyi.system.domain_shate.SeedingSuccessRate;
|
||||
import com.ruoyi.system.domain_shate.UplodFile;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@ -26,6 +24,4 @@ public interface ILandUseServices
|
||||
|
||||
UplodFile mainClass(String zone,String year);
|
||||
|
||||
AjaxResult updateAllRegionName(List<RegionNameVO> region);
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
package com.ruoyi.system.service_shate.impl;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.system.domain_shate.*;
|
||||
import com.ruoyi.system.mapper_shate.*;
|
||||
import com.ruoyi.system.mapper_shate.LandUseMapper;
|
||||
import com.ruoyi.system.mapper_shate.SoilFactorMapper;
|
||||
import com.ruoyi.system.service_shate.ILandUseServices;
|
||||
import com.ruoyi.system.service_shate.IRegionalFactorService;
|
||||
import com.ruoyi.system.service_shate.ISoilFactorService;
|
||||
@ -14,30 +14,17 @@ import javax.annotation.Resource;
|
||||
import java.time.Year;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: JinSheng Song
|
||||
* @Date: 2022/7/8 11:20
|
||||
*/
|
||||
@Service
|
||||
public class LandUseServiceipml implements ILandUseServices {
|
||||
|
||||
@Resource
|
||||
private PlantingSuitabilityMapper plantingSuitabilityMapper;
|
||||
|
||||
@Resource
|
||||
private SeedingSuccessMapper seedingSuccessMapper;
|
||||
|
||||
@Resource
|
||||
private VegetationHealthMapper vegetationHealthMapper;
|
||||
|
||||
public class LandUseServiceipml implements ILandUseServices
|
||||
{
|
||||
@Resource
|
||||
private LandUseMapper mapper;
|
||||
|
||||
@Resource
|
||||
private updateAllRegionNameMapper updateAllRegionNameMapper;
|
||||
|
||||
@Resource
|
||||
private ITopographicFactorService factorService;
|
||||
|
||||
@ -48,14 +35,14 @@ public class LandUseServiceipml implements ILandUseServices {
|
||||
private IRegionalFactorService regionalFactorService;
|
||||
|
||||
@Override
|
||||
public List<LandUse> sqlSeeding(String zone, String[] landUses, String year) {
|
||||
List<LandUse> value = mapper.sqlSeeding(zone, landUses, year);
|
||||
public List<LandUse> sqlSeeding(String zone, String[] landUses,String year) {
|
||||
List<LandUse> value=mapper.sqlSeeding(zone, landUses,year);
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LandUse> sqlSeeding1(String zone, String year) {
|
||||
List<LandUse> value = mapper.sqlSeeding1(zone, year);
|
||||
List<LandUse> value=mapper.sqlSeeding1(zone,year);
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -70,34 +57,25 @@ public class LandUseServiceipml implements ILandUseServices {
|
||||
}
|
||||
|
||||
@Override
|
||||
public UplodFile mainClass(String zone, String year) {
|
||||
public UplodFile mainClass(String zone,String year) {
|
||||
|
||||
UplodFile file = new UplodFile();
|
||||
//播种成活率
|
||||
List<SeedingSuccessRate> information= seedingSuccessMapper.sqlSeeding(zone,year);
|
||||
//植被健康状况
|
||||
List<VegetationHealth> vegetationHealths=vegetationHealthMapper.sqlInfo(zone,year);
|
||||
//种植适宜性
|
||||
List<PlantingSuitability> plantingSuitabilities=plantingSuitabilityMapper.sqlSeeding(zone);
|
||||
UplodFile file=new UplodFile();
|
||||
//海拔
|
||||
List<Altitude> altitude = factorService.sqlAltitude(zone, year);
|
||||
List<Altitude> altitude = factorService.sqlAltitude(zone,year);
|
||||
//坡度
|
||||
List<Slope> slopes = factorService.sqlSlope(zone, year);
|
||||
List<Slope> slopes = factorService.sqlSlope(zone,year);
|
||||
//坡向
|
||||
List<Aspect> aspects = factorService.sqlAspect(zone, year);
|
||||
List<Aspect> aspects = factorService.sqlAspect(zone,year);
|
||||
//沙化指数
|
||||
List<SoilDesertification> desertifications = soilFactorService.sqlDesert(zone, year);
|
||||
List<SoilDesertification> desertifications=soilFactorService.sqlDesert(zone,year);
|
||||
//湿度指数
|
||||
List<SoilMoisture> moistures = soilFactorService.sqlMoisture(zone, year);
|
||||
List<SoilMoisture> moistures=soilFactorService.sqlMoisture(zone,year);
|
||||
//盐渍化指数
|
||||
List<SoilSalinization> salinizations = soilFactorService.sqlSalin(zone, year);
|
||||
List<SoilSalinization> salinizations=soilFactorService.sqlSalin(zone,year);
|
||||
//水域因子
|
||||
List<WaterFactor> waterFactors = regionalFactorService.sqlWater(zone, year);
|
||||
List<WaterFactor> waterFactors=regionalFactorService.sqlWater(zone,year);
|
||||
//道路因子
|
||||
List<RoadFactor> roadFactors = regionalFactorService.sqlRoad(zone, year);
|
||||
file.setInformation(information);
|
||||
file.setVegetationHealths(vegetationHealths);
|
||||
file.setPlantingSuitabilities(plantingSuitabilities);
|
||||
List<RoadFactor> roadFactors=regionalFactorService.sqlRoad(zone,year);
|
||||
file.setWaterFactors(waterFactors);
|
||||
file.setRoadFactors(roadFactors);
|
||||
file.setSoilMoistures(moistures);
|
||||
@ -108,41 +86,4 @@ public class LandUseServiceipml implements ILandUseServices {
|
||||
file.setAltitudes(altitude);
|
||||
return file;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult updateAllRegionName(List<RegionNameVO> region) {
|
||||
try {
|
||||
List<RegionNameVO> regionNameLists = region.stream().distinct().collect(Collectors.toList());
|
||||
regionNameLists.forEach(e -> {
|
||||
try {
|
||||
Thread.currentThread().sleep(100);
|
||||
} catch (InterruptedException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
|
||||
String regionName = e.getCurrentName();
|
||||
String regionName1 = e.getOriginalName();
|
||||
System.out.println("输出参数"+regionName+regionName1);
|
||||
updateAllRegionNameMapper.desertification(regionName, regionName1);
|
||||
updateAllRegionNameMapper.altitude(regionName, regionName1);
|
||||
updateAllRegionNameMapper.Aspect(regionName, regionName1);
|
||||
updateAllRegionNameMapper.Slope(regionName, regionName1);
|
||||
updateAllRegionNameMapper.salinization(regionName, regionName1);
|
||||
updateAllRegionNameMapper.moisture(regionName, regionName1);
|
||||
updateAllRegionNameMapper.road(regionName, regionName1);
|
||||
updateAllRegionNameMapper.water(regionName, regionName1);
|
||||
updateAllRegionNameMapper.landuse(regionName, regionName1);
|
||||
updateAllRegionNameMapper.dataUpload(regionName,regionName1);
|
||||
updateAllRegionNameMapper.suitability(regionName,regionName1);
|
||||
updateAllRegionNameMapper.waterArea(regionName,regionName1);
|
||||
updateAllRegionNameMapper.seedSuccess(regionName,regionName1);
|
||||
updateAllRegionNameMapper.healthy(regionName,regionName1);
|
||||
});
|
||||
return AjaxResult.success("成功!");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return AjaxResult.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,13 +29,12 @@
|
||||
<result property="size" column="size"/>
|
||||
<result property="month" column="month"/>
|
||||
<result property="route" column="route"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
|
||||
</resultMap>
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,Zone,region_name,data_id ,year1,route,link,type,month ,type1,type2,file_name,data_time,created_time,type,data_id,area,band_index,bands,cols,depth,description,extent,name,projection,resolution,size
|
||||
ID,Zone,data_id ,year1,route,link,type,month ,type1,type2,file_name,data_time,created_time,type,data_id,area,band_index,bands,cols,depth,description,extent,name,projection,resolution,size
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
@ -138,7 +137,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO Data_Upload (
|
||||
zone ,
|
||||
region_name,
|
||||
type ,
|
||||
type1 ,
|
||||
type2,
|
||||
@ -162,7 +160,6 @@
|
||||
month,
|
||||
created_time
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{type,jdbcType=VARCHAR},
|
||||
#{type1,jdbcType=VARCHAR},
|
||||
|
@ -4,9 +4,9 @@
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper_shate.LandUseMapper">
|
||||
<resultMap id="RM_Seeding" type="com.ruoyi.system.domain_shate.LandUse">
|
||||
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="landUse" column="Land_use"/>
|
||||
<result property="area" column="area"/>
|
||||
<result property="total" column="total"/>
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,land_use,year1,total,area,percent,Image_date,Product_code1,Product_code2,Product_code3,created_by
|
||||
ID,zone,land_use,year1,total,area,percent,Image_date,Product_code1,Product_code2,Product_code3,created_by
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
@ -43,7 +43,6 @@
|
||||
SELECT <include refid="columns"/> FROM landuse
|
||||
where 1=1
|
||||
<if test="zone!= null and zone !=''">
|
||||
|
||||
AND zone = #{zone}
|
||||
</if>
|
||||
<if test="year!= null and year !=''">
|
||||
@ -53,14 +52,13 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear" resultMap="RM_Seeding">
|
||||
SELECT distinct year1,ZONE,region_name FROM landuse ORDER BY ZONE
|
||||
SELECT distinct year1,ZONE FROM landuse ORDER BY ZONE
|
||||
</select>
|
||||
|
||||
<insert id="insertSeeding">
|
||||
<![CDATA[
|
||||
INSERT INTO landuse (
|
||||
zone ,
|
||||
region_name,
|
||||
Land_use,
|
||||
total,
|
||||
area ,
|
||||
@ -72,7 +70,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{landUse,jdbcType=DOUBLE},
|
||||
#{total,jdbcType=DOUBLE},
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="verySuitable" column="very_suitable"/>
|
||||
<result property="suitable" column="Suitable"/>
|
||||
<result property="notSuitable" column="Not_Suitable"/>
|
||||
@ -23,7 +22,7 @@
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,very_suitable,year1,Suitable,Not_Suitable,Total_Area,Image_date,Product_code1,Product_code2,Product_code3,created_by,created_time
|
||||
ID,zone,very_suitable,year1,Suitable,Not_Suitable,Total_Area,Image_date,Product_code1,Product_code2,Product_code3,created_by,created_time
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
@ -48,14 +47,13 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear" resultMap="RM_Seeding">
|
||||
SELECT distinct year1,ZONE,region_name FROM suitability
|
||||
SELECT distinct year1,ZONE FROM suitability
|
||||
</select>
|
||||
|
||||
<insert id="InsertSeeding">
|
||||
<![CDATA[
|
||||
INSERT INTO suitability (
|
||||
zone ,
|
||||
region_name,
|
||||
very_suitable,
|
||||
Suitable ,
|
||||
Not_Suitable ,
|
||||
@ -67,7 +65,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{verySuitable,jdbcType=DOUBLE},
|
||||
#{suitable,jdbcType=DOUBLE},
|
||||
|
@ -6,7 +6,6 @@
|
||||
<resultMap id="RM_Seeding" type="com.ruoyi.system.domain_shate.WaterFactor">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -24,7 +23,6 @@
|
||||
<resultMap id="RM_Road" type="com.ruoyi.system.domain_shate.RoadFactor">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -41,7 +39,6 @@
|
||||
<resultMap id="RM_Region" type="com.ruoyi.system.domain_shate.RegionIndex">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="waterArea" column="Water_area"/>
|
||||
<result property="roadLength" column="Road_length"/>
|
||||
<result property="imageDate" column="Image_date"/>
|
||||
@ -62,7 +59,7 @@
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
ID,zone,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
]]>
|
||||
</sql>
|
||||
<sql id="Region">
|
||||
@ -100,7 +97,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlRegion" resultMap="RM_Region">
|
||||
select a.zone as zone,a.year1 as year1,a.water_area as water_area,a.region_name as region_name,
|
||||
select a.zone as zone,a.year1 as year1,a.water_area as water_area,
|
||||
b.road_length as road_length,a.image_date as image_date,
|
||||
a.product_code as product_code,b.product_code as product_code1
|
||||
FROM water_area a join road_length b
|
||||
@ -116,7 +113,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear1" resultMap="RM_Region">
|
||||
SELECT distinct year1,ZONE,region_name FROM water_area
|
||||
SELECT distinct year1,ZONE FROM water_area
|
||||
</select>
|
||||
|
||||
<select id="sqlRoad" resultMap="RM_Road">
|
||||
@ -130,14 +127,13 @@
|
||||
</if>
|
||||
</select>
|
||||
<select id="sqlYear2" resultMap="RM_Road">
|
||||
SELECT distinct year1,ZONE,region_name FROM road
|
||||
SELECT distinct year1,ZONE FROM road
|
||||
</select>
|
||||
|
||||
<insert id="InsertWater">
|
||||
<![CDATA[
|
||||
INSERT INTO water (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -149,7 +145,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
@ -168,7 +163,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO road (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -180,7 +174,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
@ -201,13 +194,11 @@
|
||||
<![CDATA[
|
||||
INSERT INTO water_area (
|
||||
zone ,
|
||||
region_name,
|
||||
Water_area,
|
||||
Image_date ,
|
||||
Product_code,
|
||||
year1
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{waterArea,jdbcType=DOUBLE},
|
||||
#{imageDate,jdbcType=VARCHAR},
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="plantingArea" column="Planting_area"/>
|
||||
<result property="seedingSuccessArea" column="Seeding_success_area"/>
|
||||
<result property="seedingSuccess" column="seeding_success"/>
|
||||
@ -29,7 +28,6 @@
|
||||
|
||||
<select id="sqlSeeding" resultMap="RM_Seeding">
|
||||
select distinct a.product_code2 as Product_code2,
|
||||
a.region_name as region_name,
|
||||
a.zone as zone,
|
||||
a.seeding_success_rate as seeding_success,
|
||||
a.product_code1 as productCode1,
|
||||
@ -51,7 +49,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear" resultMap="RM_Seeding">
|
||||
SELECT distinct year1,ZONE,region_name FROM "seed_Success"
|
||||
SELECT distinct year1,ZONE FROM "seed_Success"
|
||||
</select>
|
||||
|
||||
<insert id="InsertSeeding2">
|
||||
@ -76,14 +74,12 @@
|
||||
<![CDATA[
|
||||
INSERT INTO "seed_Success" (
|
||||
zone ,
|
||||
region_name,
|
||||
seeding_Success_Rate ,
|
||||
Image_date ,
|
||||
Product_code1 ,
|
||||
year1 ,
|
||||
Product_code2
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{seedingSuccess,jdbcType=DOUBLE},
|
||||
#{imageDate,jdbcType=VARCHAR},
|
||||
|
@ -6,7 +6,6 @@
|
||||
<resultMap id="RM_Desert" type="com.ruoyi.system.domain_shate.SoilDesertification">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -23,7 +22,6 @@
|
||||
<resultMap id="RM_Moisture" type="com.ruoyi.system.domain_shate.SoilMoisture">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -40,7 +38,6 @@
|
||||
<resultMap id="RM_Salin" type="com.ruoyi.system.domain_shate.SoilSalinization">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -56,7 +53,7 @@
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
ID,zone,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
@ -73,7 +70,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear" resultMap="RM_Desert">
|
||||
SELECT distinct year1,ZONE,region_name FROM desertification
|
||||
SELECT distinct year1,ZONE FROM desertification
|
||||
</select>
|
||||
|
||||
<select id="sqlMoisture" resultMap="RM_Moisture">
|
||||
@ -88,7 +85,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear1" resultMap="RM_Moisture">
|
||||
SELECT distinct year1,ZONE,region_name FROM moisture
|
||||
SELECT distinct year1,ZONE FROM moisture
|
||||
</select>
|
||||
|
||||
<select id="sqlSalin" resultMap="RM_Salin">
|
||||
@ -103,14 +100,13 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear2" resultMap="RM_Salin">
|
||||
SELECT distinct year1,ZONE,region_name FROM salinization
|
||||
SELECT distinct year1,ZONE FROM salinization
|
||||
</select>
|
||||
|
||||
<insert id="InsertDesert">
|
||||
<![CDATA[
|
||||
INSERT INTO desertification (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -122,7 +118,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
@ -141,7 +136,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO moisture (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -153,7 +147,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
@ -173,7 +166,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO salinization (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -185,7 +177,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
|
@ -6,7 +6,6 @@
|
||||
<resultMap id="RM_Altitude" type="com.ruoyi.system.domain_shate.Altitude">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -23,7 +22,6 @@
|
||||
<resultMap id="RM_Aspect" type="com.ruoyi.system.domain_shate.Aspect">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="north" column="North"/>
|
||||
<result property="northeast" column="Northeast"/>
|
||||
<result property="east" column="East"/>
|
||||
@ -43,7 +41,6 @@
|
||||
<resultMap id="RM_Slope" type="com.ruoyi.system.domain_shate.Slope">
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="level1" column="level1"/>
|
||||
<result property="level2" column="level2"/>
|
||||
<result property="level3" column="level3"/>
|
||||
@ -58,13 +55,13 @@
|
||||
|
||||
<sql id="columns">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
ID,zone,level5,year1,level1,level2,level3,level4,Image_date,Product_code1,Product_code2,created_by
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
<sql id="Aspect">
|
||||
<![CDATA[
|
||||
ID,zone,region_name,north,year1,northeast,east,southeast,south,southwest,west,northwest,Image_date,Product_code1,Product_code2,created_by
|
||||
ID,zone,north,year1,northeast,east,southeast,south,southwest,west,northwest,Image_date,Product_code1,Product_code2,created_by
|
||||
]]>
|
||||
</sql>
|
||||
|
||||
@ -80,7 +77,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear" resultMap="RM_Altitude">
|
||||
SELECT distinct year1,ZONE,region_name FROM Altitude
|
||||
SELECT distinct year1,ZONE FROM Altitude
|
||||
|
||||
</select>
|
||||
|
||||
@ -96,7 +93,7 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear1" resultMap="RM_Slope">
|
||||
SELECT distinct year1,ZONE,region_name FROM Slope
|
||||
SELECT distinct year1,ZONE FROM Slope
|
||||
</select>
|
||||
|
||||
<select id="sqlAspect" resultMap="RM_Aspect">
|
||||
@ -111,14 +108,13 @@
|
||||
</select>
|
||||
|
||||
<select id="sqlYear2" resultMap="RM_Aspect">
|
||||
SELECT distinct year1,ZONE,region_name FROM Aspect
|
||||
SELECT distinct year1,ZONE FROM Aspect
|
||||
</select>
|
||||
|
||||
<insert id="InsertAltitude">
|
||||
<![CDATA[
|
||||
INSERT INTO Altitude (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -130,7 +126,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
@ -150,7 +145,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO Aspect (
|
||||
zone ,
|
||||
region_name,
|
||||
North,
|
||||
Northeast ,
|
||||
East ,
|
||||
@ -165,7 +159,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{north,jdbcType=DOUBLE},
|
||||
#{northeast,jdbcType=DOUBLE},
|
||||
@ -188,7 +181,6 @@
|
||||
<![CDATA[
|
||||
INSERT INTO Slope (
|
||||
zone ,
|
||||
region_name,
|
||||
level1,
|
||||
level2 ,
|
||||
level3 ,
|
||||
@ -200,7 +192,6 @@
|
||||
year1,
|
||||
created_by
|
||||
) VALUES (
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{zone,jdbcType=VARCHAR},
|
||||
#{level1,jdbcType=DOUBLE},
|
||||
#{level2,jdbcType=DOUBLE},
|
||||
|
@ -7,7 +7,6 @@
|
||||
|
||||
<result property="id" column="id"/>
|
||||
<result property="zone" column="zone"/>
|
||||
<result property="regionName" column="region_name"/>
|
||||
<result property="healthy" column="healthy"/>
|
||||
<result property="normal" column="Normal"/>
|
||||
<result property="notHealthy" column="Not_Healthy"/>
|
||||
|
@ -1,66 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper_shate.updateAllRegionNameMapper">
|
||||
|
||||
<update id="altitude">
|
||||
UPDATE altitude SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="Aspect">
|
||||
UPDATE Aspect SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="Slope">
|
||||
UPDATE Slope SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="salinization">
|
||||
UPDATE salinization SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="moisture">
|
||||
UPDATE moisture SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="desertification">
|
||||
UPDATE desertification SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="road">
|
||||
UPDATE road SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="water">
|
||||
UPDATE water SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="landuse">
|
||||
UPDATE landuse SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="dataUpload">
|
||||
UPDATE data_upload SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="suitability">
|
||||
UPDATE suitability SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="waterArea">
|
||||
UPDATE water_area SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="seedSuccess">
|
||||
UPDATE "seed_Success" SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<update id="healthy">
|
||||
UPDATE healthy SET region_name=#{regionName} where region_name=#{regionName1}
|
||||
</update>
|
||||
|
||||
<!-- <update id="healthy">-->
|
||||
<!-- UPDATE vegetation_Distribution SET region_name=#{regionName} where region_name=#{regionName1}-->
|
||||
<!-- </update>-->
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user