From 853e68c5d4414acdb2ea98c27572c534184338a3 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 07 四月 2023 14:36:55 +0800
Subject: [PATCH] 1

---
 src/main/java/com/terra/coal/entity/Coal54Entity.java       |   14 +++++++
 src/main/java/service/MainService.java                      |   60 +++++++++++++++++++++++++++++
 src/main/java/com/terra/coal/controller/MainController.java |    2 
 src/main/java/com/terra/coal/entity/StaticData.java         |    2 +
 4 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/terra/coal/controller/MainController.java b/src/main/java/com/terra/coal/controller/MainController.java
index 0c52b85..a23622a 100644
--- a/src/main/java/com/terra/coal/controller/MainController.java
+++ b/src/main/java/com/terra/coal/controller/MainController.java
@@ -45,7 +45,7 @@
         return mv;
     }
 
-    @ApiOperation(value = "鍔犺浇54鏁版嵁鍏ュ簱")
+    @ApiOperation(value = "鍔犺浇54鏁版嵁(鍏ュ簱)")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "txtPath", value = "鍧椾綋鏁版嵁鏂囦欢璺緞", dataType = "String", paramType = "query", example = "D:\\鍧椾綋鏁版嵁.txt")
     })
diff --git a/src/main/java/com/terra/coal/entity/Coal54Entity.java b/src/main/java/com/terra/coal/entity/Coal54Entity.java
index 81c1384..e821470 100644
--- a/src/main/java/com/terra/coal/entity/Coal54Entity.java
+++ b/src/main/java/com/terra/coal/entity/Coal54Entity.java
@@ -47,6 +47,20 @@
     public Coal54Entity() {
     }
 
+    public Coal54Entity(BigDecimal x, BigDecimal y, BigDecimal top, BigDecimal clong, BigDecimal width, BigDecimal height, String ctype, BigDecimal density, BigDecimal gangue) {
+        this.top = top;
+        this.clong = clong;
+        this.width = width;
+        this.height = height;
+        this.ctype = ctype;
+        this.density = density;
+        this.gangue = gangue;
+
+        this.bottom = top.add(height);
+        this.volume = clong.multiply(width).multiply(height);
+        this.geom = String.format("ST_GeomFromText('POINT (%f %f)')", x.doubleValue(), y.doubleValue());
+    }
+
     public Integer getGid() {
         return gid;
     }
diff --git a/src/main/java/com/terra/coal/entity/StaticData.java b/src/main/java/com/terra/coal/entity/StaticData.java
index 7be1c8c..904d7dc 100644
--- a/src/main/java/com/terra/coal/entity/StaticData.java
+++ b/src/main/java/com/terra/coal/entity/StaticData.java
@@ -9,6 +9,8 @@
  * @author WWW
  */
 public class StaticData {
+    public final static Integer NINE = 9;
+
     public final static List<String> INSERT_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("gid", "objectid", "updateuser", "updatetime", "shape_leng", "shape_area", "serialVersionUID", "createName", "updateName"));
 
     public final static List<String> UPDATE_EXCLUDE_FIELDS = new ArrayList<>(Arrays.asList("objectid", "createuser", "createtime", "shape_leng", "shape_area", "serialVersionUID", "createName", "updateName"));
diff --git a/src/main/java/service/MainService.java b/src/main/java/service/MainService.java
index 34b3f24..8dbf393 100644
--- a/src/main/java/service/MainService.java
+++ b/src/main/java/service/MainService.java
@@ -1,8 +1,18 @@
 package service;
 
+import com.alibaba.druid.support.spring.stat.annotation.Stat;
+import com.terra.coal.entity.Coal54Entity;
+import com.terra.coal.entity.StaticData;
+import com.terra.coal.helper.StringHelper;
 import org.springframework.stereotype.Service;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * CoalService
@@ -10,9 +20,57 @@
  */
 @Service
 public class MainService {
-    public Integer load54Data(File f){
+    /**
+     * 鍔犺浇54鏁版嵁(鍏ュ簱)
+     */
+    public Integer load54Data(File f) throws IOException {
+        FileReader fr = new FileReader(f);
+        BufferedReader reader = new BufferedReader(fr);
 
+        int rows = 0;
+        String line = reader.readLine();
+        List<Coal54Entity> list = new ArrayList<>();
+        while (null != line) {
+            rows++;
+            if (rows > 2) {
+                Coal54Entity entity = getCoal54(line);
+                if (null != entity) {
+                    list.add(entity);
+                }
+            }
+
+            line = reader.readLine();
+        }
+        reader.close();
 
         return 0;
     }
+
+    private Coal54Entity getCoal54(String str) {
+        if (StringHelper.isEmpty(str)) {
+            return null;
+        }
+
+        String[] strs = str.split(",");
+        if (strs.length < StaticData.NINE) {
+            return null;
+        }
+
+        // 36240.00000,-69460.00000,634.00000,1280.000,1280.000,128.000,宀╃煶,1,1,
+        try {
+            BigDecimal x = new BigDecimal("4" + strs[1].replace("-", ""));
+            BigDecimal y = new BigDecimal("50" + strs[0]);
+            BigDecimal top = new BigDecimal(strs[2]);
+            BigDecimal clong = new BigDecimal(strs[3]);
+            BigDecimal width = new BigDecimal(strs[4]);
+            BigDecimal height = new BigDecimal(strs[5]);
+            String ctype = strs[6];
+            BigDecimal density = new BigDecimal(strs[7]);
+            BigDecimal gangue = new BigDecimal(strs[8]);
+
+            return new Coal54Entity(x, y, top, clong, width, height, ctype, density, gangue);
+        } catch (Exception ex) {
+            return null;
+        }
+    }
 }

--
Gitblit v1.9.3