Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
statistics
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
超前地质预报
statistics
Commits
83b565a5
Commit
83b565a5
authored
Mar 07, 2023
by
陈良富
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计生成csv
parent
46927cd4
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
2009 additions
and
1 deletion
+2009
-1
package.xml
package.xml
+87
-0
pom.xml
pom.xml
+119
-0
Config.java
src/main/java/com/gs/statistics/Config.java
+1
-1
StatisticsController.java
src/main/java/com/gs/statistics/StatisticsController.java
+1520
-0
CsvUtil.java
src/main/java/com/gs/utils/CsvUtil.java
+282
-0
No files found.
package.xml
0 → 100644
View file @
83b565a5
<?xml version="1.0" encoding="UTF-8"?>
<assembly
xmlns=
"http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"
>
<!--
assembly 打包配置更多配置可参考官方文档:
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
-->
<id>
release
</id>
<!--
设置打包格式,可同时设置多种格式,常用格式有:dir、zip、tar、tar.gz
dir 格式便于在本地测试打包结果
zip 格式便于 windows 系统下解压运行
tar、tar.gz 格式便于 linux 系统下解压运行
-->
<formats>
<format>
dir
</format>
<format>
zip
</format>
<!-- <format>tar.gz</format> -->
</formats>
<!-- 打 zip 设置为 true 时,会在 zip 包中生成一个根目录,打 dir 时设置为 false 少层目录 -->
<includeBaseDirectory>
true
</includeBaseDirectory>
<fileSets>
<!-- src/main/resources 全部 copy 到 config 目录下 -->
<fileSet>
<directory>
${basedir}/src/main/resources
</directory>
<outputDirectory>
config
</outputDirectory>
</fileSet>
<!-- src/main/webapp 全部 copy 到 webapp 目录下 -->
<fileSet>
<directory>
${basedir}/src/main/webapp
</directory>
<outputDirectory>
webapp
</outputDirectory>
<excludes>
<!-- **/* 前缀用法,可以匹配所有路径,例如:**/*.txt -->
<exclude>
WEB-INF
</exclude>
<exclude>
WEB-INF/web.xml
</exclude>
</excludes>
</fileSet>
<!-- 项目根下面的脚本文件 copy 到根目录下 -->
<fileSet>
<directory>
${basedir}
</directory>
<outputDirectory></outputDirectory>
<!-- 脚本文件在 linux 下的权限设为 755,无需 chmod 可直接运行 -->
<fileMode>
755
</fileMode>
<lineEnding>
unix
</lineEnding>
<includes>
<include>
*.sh
</include>
</includes>
</fileSet>
<fileSet>
<directory>
${basedir}
</directory>
<outputDirectory></outputDirectory>
<fileMode>
755
</fileMode>
<lineEnding>
windows
</lineEnding>
<includes>
<include>
*.bat
</include>
</includes>
</fileSet>
<!-- 项目 lib 目录下的本地 jar 包全部 copy 到 lib 目录下 -->
<!-- fileSet>
<directory>${basedir}/lib</directory>
<outputDirectory>lib</outputDirectory>
</fileSet -->
</fileSets>
<!-- 依赖的 jar 包 copy 到 lib 目录下 -->
<dependencySets>
<dependencySet>
<outputDirectory>
lib
</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
pom.xml
View file @
83b565a5
...
@@ -18,6 +18,17 @@
...
@@ -18,6 +18,17 @@
<artifactId>
jfinal
</artifactId>
<artifactId>
jfinal
</artifactId>
<version>
4.9.02
</version>
<version>
4.9.02
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.7
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
druid
</artifactId>
<version>
1.0.5
</version>
</dependency>
<dependency>
<dependency>
<groupId>
mysql
</groupId>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<artifactId>
mysql-connector-java
</artifactId>
...
@@ -28,5 +39,112 @@
...
@@ -28,5 +39,112 @@
<artifactId>
jfinal-undertow
</artifactId>
<artifactId>
jfinal-undertow
</artifactId>
<version>
2.2
</version>
<version>
2.2
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-csv
</artifactId>
<version>
1.6
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<!--
添加 includes 配置后,excludes 默认为所有文件 **/*.*,反之亦然
该规则在 maven-jar-plugin 等插件中同样适用
-->
<resources>
<!-- 添加该配置是为了将 .sql 文件打入 jar 包 -->
<resource>
<directory>
src/main/java
</directory>
<includes>
<!-- **/* 前缀用法,可以匹配所有路径 -->
<include>
**/*.sql
</include>
</includes>
</resource>
<!--
没有添加 resources 配置时,src/main/resources 目录是默认配置
一旦添加 resources 配置指向 src/main/java 目录时,原先的默认配置被取代,
所以需要添加如下配置将默认配置再添加进来,否则无法使用 src/main/resources
下的资源文件
-->
<resource>
<directory>
src/main/resources
</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
3.6.1
</version>
<configuration>
<source>
1.8
</source>
<target>
1.8
</target>
<encoding>
UTF-8
</encoding>
<!-- java8 保留参数名编译参数 -->
<compilerArgument>
-parameters
</compilerArgument>
<compilerArguments><verbose
/></compilerArguments>
</configuration>
</plugin>
<!--
jar 包中的配置文件优先级高于 config 目录下的 "同名文件"
因此,打包时需要排除掉 jar 包中来自 src/main/resources 目录的
配置文件,否则部署时 config 目录中的同名配置文件不会生效
-->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-jar-plugin
</artifactId>
<version>
2.6
</version>
<configuration>
<excludes>
<!--
*.* 用法,可以匹配 jar 包根目录下所有文件
*.xxx 用法,可以匹配 jar 包根目录下特定扩展名文件,例如:*.xml
**/* 前缀用法,可以匹配所有路径,例如:**/*.txt
-->
<exclude>
*.*
</exclude>
</excludes>
</configuration>
</plugin>
<!--
使用 mvn clean package 打包
更多配置可参考官方文档:http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html
-->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>
3.1.0
</version>
<executions>
<execution>
<id>
make-assembly
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
<configuration>
<!-- 打包生成的文件名 -->
<finalName>
${project.artifactId}
</finalName>
<!-- jar 等压缩文件在被打包进入 zip、tar.gz 时是否压缩,设置为 false 可加快打包速度 -->
<recompressZippedFiles>
false
</recompressZippedFiles>
<!-- 打包生成的文件是否要追加 package.xml 中定义的 id 值 -->
<appendAssemblyId>
true
</appendAssemblyId>
<!-- 指向打包描述文件 package.xml -->
<descriptors>
<descriptor>
package.xml
</descriptor>
</descriptors>
<!-- 打包结果输出的基础目录 -->
<outputDirectory>
${project.build.directory}/
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
</project>
\ No newline at end of file
src/main/java/com/gs/statistics/Config.java
View file @
83b565a5
...
@@ -72,7 +72,7 @@ public class Config extends JFinalConfig {
...
@@ -72,7 +72,7 @@ public class Config extends JFinalConfig {
String
user
=
getProperty
(
"user"
);
String
user
=
getProperty
(
"user"
);
String
pw
=
getProperty
(
"password"
);
String
pw
=
getProperty
(
"password"
);
String
driver
=
getProperty
(
"jdbcDriver"
);
String
driver
=
getProperty
(
"jdbcDriver"
);
me
.
add
(
new
EhCachePlugin
());
//
me.add(new EhCachePlugin());
DruidPlugin
druidPlugin
=
new
DruidPlugin
(
url
,
user
,
pw
.
trim
());
DruidPlugin
druidPlugin
=
new
DruidPlugin
(
url
,
user
,
pw
.
trim
());
druidPlugin
.
setDriverClass
(
driver
);
druidPlugin
.
setDriverClass
(
driver
);
druidPlugin
.
setValidationQuery
(
"select 1 from scf_line"
);
//Users是你的数据库中的某一个表
druidPlugin
.
setValidationQuery
(
"select 1 from scf_line"
);
//Users是你的数据库中的某一个表
...
...
src/main/java/com/gs/statistics/StatisticsController.java
View file @
83b565a5
package
com
.
gs
.
statistics
;
package
com
.
gs
.
statistics
;
import
com.gs.utils.CsvUtil
;
import
com.gs.utils.DBService
;
import
com.jfinal.aop.Inject
;
import
com.jfinal.core.Controller
;
import
com.jfinal.core.Controller
;
import
com.jfinal.kit.JsonKit
;
import
com.jfinal.plugin.activerecord.Db
;
import
com.jfinal.plugin.activerecord.Record
;
import
java.io.*
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
StatisticsController
extends
Controller
{
public
class
StatisticsController
extends
Controller
{
@Inject
DBService
dbService
;
public
void
statinstcs
(){
int
i
=
0
;
try
{
//第一步跟据ThirdSiteID查询新工点的工点id并且替换为新工点id
List
<
Record
>
dbs
=
Db
.
find
(
"SELECT * FROM scf_sitebasic WHERE Scf_SiteBasicID not in(\n"
+
"\n"
+
"SELECT Scf_SiteBasicID FROM `scf_sitebasic` WHERE instr('\n"
+
"重庆长江隧道3#斜井2#支洞大里程\n"
+
"雁岭隧道出口洞门\n"
+
"雁岭隧道出口\n"
+
"雁岭隧道进口\n"
+
"雁岭隧道进口洞门\n"
+
"刘坑隧道出口明洞\n"
+
"刘坑隧道进口洞门\n"
+
"刘坑隧道出口\n"
+
"刘坑隧道出口洞门\n"
+
"坝子隧道进口洞门\n"
+
"坝子隧道进口明洞\n"
+
"肖家湾隧道进口明洞及洞门\n"
+
"白家山隧道进口明洞及洞门\n"
+
"白家山隧道平导\n"
+
"白家山隧道平导正洞大里程\n"
+
"白家山隧道出口明洞及洞门\n"
+
"白家山隧道出口\n"
+
"白家山隧道进口\n"
+
"中岭隧道2#平导\n"
+
"中岭隧道出口\n"
+
"中岭隧道3#平导正洞小里程\n"
+
"中岭隧道1#平导\n"
+
"中岭隧道进口明洞及洞门\n"
+
"中岭隧道3#平导\n"
+
"赵家坡2号隧道出口明洞及洞门\n"
+
"赵家坡2号隧出口明洞\n"
+
"赵家坡2号隧进口明洞\n"
+
"赵家坡2号隧道进口\n"
+
"赵家坡2号隧道进口明洞及洞门\n"
+
"赵家坡2号隧道出口\n"
+
"陈家院子隧道出口明洞及洞门\n"
+
"陈家院子隧道出口\n"
+
"陈家院子隧道进口明洞及洞门\n"
+
"陈家院子隧道进口\n"
+
"里仁隧道出口\n"
+
"里仁隧道进口\n"
+
"里仁隧道出口洞门\n"
+
"竹林湾隧道出口明洞(含洞门)\n"
+
"竹林湾隧道明洞\n"
+
"竹林湾隧道进口明洞(含洞门)\n"
+
"重庆长江隧道出口\n"
+
"重庆长江隧道2#斜井支洞\n"
+
"重庆长江隧道2#斜井大里程\n"
+
"重庆长江隧道2#斜井拆卸洞\n"
+
"重庆长江隧道3#斜井组装洞\n"
+
"重庆长江隧道出口洞门\n"
+
"重庆长江隧道3#斜井2#支洞小里程\n"
+
"重庆长江隧道3#斜井1#支洞\n"
+
"重庆长江隧道3#斜井2#支洞\n"
+
"重庆长江隧道2#斜井小里程\n"
+
"上观山隧道出口\n"
+
"上观山隧道出口明洞\n"
+
"上观山隧道进口洞门\n"
+
"上观山隧道出口洞门\n"
+
"兴丰村一号隧道进口洞门\n"
+
"青后山隧道\n"
+
"青后山隧道出口\n"
+
"青后山进口明洞\n"
+
"青后山隧道出口洞门\n"
+
"青后山隧道出口明洞\n"
+
"青后山隧道进口\n"
+
"青后山隧道洞门\n"
+
"青后山隧道泄水洞\n"
+
"兴丰村二号隧道横洞正洞转大里程\n"
+
"兴丰村二号隧道横洞\n"
+
"兴丰村二号隧道出口洞门\n"
+
"兴丰村二号隧道进口洞门\n"
+
"兴丰村二号隧道出口明洞\n"
+
"大樟古隧道出口明洞\n"
+
"大樟古隧道进口\n"
+
"大樟古隧道进口洞门\n"
+
"大樟古隧道出口\n"
+
"大樟古隧道进口明洞\n"
+
"大樟古隧道出口洞门\n"
+
"龚家梁子隧道进口洞门\n"
+
"龚家梁子隧道出口\n"
+
"龚家梁子隧道出口洞门\n"
+
"龚家梁子隧道进口明洞\n"
+
"龚家梁子隧道出口明洞\n"
+
"方田隧道进口明洞\n"
+
"方田隧道进口洞门\n"
+
"方田隧道出口\n"
+
"方田隧道出口明洞\n"
+
"兴丰村二号隧道横洞转正洞小里程\n"
+
"侯家坡隧道横洞大里程\n"
+
"侯家坡隧道泄水洞2#集水廊道\n"
+
"侯家坡隧道泄水洞1#集水廊道\n"
+
"侯家坡隧道横洞\n"
+
"侯家坡隧道横洞小里程\n"
+
"侯家坡隧道出口\n"
+
"侯家坡隧道出口明洞(含洞门)\n"
+
"侯家坡隧道泄水洞\n"
+
"侯家坡隧道进口明洞(含洞门)\n"
+
"刘家坪隧道横洞小里程\n"
+
"刘家坪隧道进口横洞\n"
+
"刘家坪隧道横洞\n"
+
"刘家坪隧道出口\n"
+
"刘家坪隧道泄水洞6#集水廊道\n"
+
"刘家坪隧道横洞支洞\n"
+
"刘家坪隧道进口横洞小里程\n"
+
"刘家坪隧道进口洞门\n"
+
"刘家坪隧道泄水洞5#集水廊道\n"
+
"刘家坪隧道进口明洞\n"
+
"刘家坪隧道进口横洞大里程\n"
+
"刘家坪隧道泄水洞1#集水廊道\n"
+
"刘家坪隧道泄水洞3#集水廊道\n"
+
"刘家坪隧道泄水洞4#集水廊道\n"
+
"刘家坪隧道泄水洞\n"
+
"刘家坪隧道出口洞门\n"
+
"刘家坪隧道泄水洞2#集水廊道\n"
+
"刘家坪隧道出口明洞\n"
+
"鲁家山隧道进口明洞(含洞门)\n"
+
"鲁家山隧道出口明洞(含洞门)\n"
+
"鲁家山隧道出口\n"
+
"赵家山隧道进口洞门\n"
+
"赵家山隧道出口洞门\n"
+
"赵家山隧道出口明洞\n"
+
"赵家山隧道进口明洞\n"
+
"赵家山隧道进口\n"
+
"椿树坪隧道进口明洞(含洞门)\n"
+
"椿树坪隧道出口明洞(含洞门)\n"
+
"椿树坪隧道出口\n"
+
"刘家山隧道出口洞门\n"
+
"刘家山隧道进口\n"
+
"刘家山隧道出口\n"
+
"刘家山隧道进口明洞\n"
+
"刘家山隧道出口明洞\n"
+
"刘家山隧道进口洞门\n"
+
"谭家坪隧道出口\n"
+
"谭家坪隧道进口明洞(含洞门)\n"
+
"谭家坪隧道出口洞门\n"
+
"谭家坪隧道泄水洞\n"
+
"谭家坪隧道出口明洞\n"
+
"谭家坪隧道进口\n"
+
"学堂子隧道出口明洞(含洞门)\n"
+
"学堂子隧道进口明洞(含洞门)\n"
+
"学堂子隧道进口\n"
+
"保兴村隧道进口明洞(含洞门)\n"
+
"保兴村隧道出口明洞(含洞门)\n"
+
"保兴村隧道出口\n"
+
"楠竹山隧道2号横洞大里程\n"
+
"楠竹山隧道1号横洞\n"
+
"楠竹山隧道2号横洞洞门\n"
+
"楠竹山隧道进口明洞(含洞门)\n"
+
"楠竹山隧道2号横洞\n"
+
"楠竹山隧道1号横洞大里程\n"
+
"楠竹山隧道1号横洞小里程\n"
+
"楠竹山隧道出口\n"
+
"楠竹山隧道2号横洞小里程\n"
+
"楠竹山隧道进口\n"
+
"楠竹山隧道1号横洞洞门\n"
+
"楠竹山隧道出口明洞(含洞门)\n"
+
"李家湾1号隧道进口明洞(含洞门)\n"
+
"李家湾1号隧道出口明洞(含洞门)\n"
+
"李家湾1号隧道出口\n"
+
"李家湾2号隧道进口洞门\n"
+
"李家湾2号隧道出口\n"
+
"李家湾2号隧道出口洞门\n"
+
"李家湾2号隧道出口明洞\n"
+
"李家湾2号隧道进口明洞\n"
+
"大坪隧道进口明洞(含洞门)\n"
+
"大坪隧道出口明洞(含洞门)\n"
+
"大坪隧道出口\n"
+
"徐家堡隧道出口明洞\n"
+
"徐家堡隧道进口明洞(含洞门)\n"
+
"徐家堡隧道出口\n"
+
"徐家堡隧道横洞小里程\n"
+
"徐家堡隧道横洞大里程\n"
+
"徐家堡隧道横洞洞门\n"
+
"徐家堡隧道横洞\n"
+
"徐家堡隧道出口洞门\n"
+
"大林隧道出口明洞\n"
+
"大林隧道进口洞门\n"
+
"大林隧道出口洞门\n"
+
"大林隧道进口\n"
+
"大林隧道进口明洞\n"
+
"平桥隧道进口洞门\n"
+
"平桥隧道出口\n"
+
"平桥隧道出口洞门\n"
+
"平桥隧道出口明洞\n"
+
"平桥隧道进口明洞\n"
+
"李子湾1号隧道出口洞门\n"
+
"李子湾1号隧道出口明洞\n"
+
"李子湾1号隧道进口明洞\n"
+
"李子湾1号隧道进口洞门\n"
+
"李子湾1号隧道进口\n"
+
"李子湾2号隧道出口\n"
+
"李子湾2号隧道进口洞门\n"
+
"李子湾2号隧道出口洞门\n"
+
"李子湾2号隧道进口明洞\n"
+
"李子湾2号隧道出口明洞\n"
+
"马家湾隧道进口明洞\n"
+
"马家湾隧道进口洞门\n"
+
"马家湾隧道出口洞门\n"
+
"马家湾隧道出口\n"
+
"马家湾隧道出口明洞\n"
+
"中兴隧道8#横通道\n"
+
"中兴隧道5#横通道\n"
+
"中兴隧道7#横通道\n"
+
"中兴隧道进口平导\n"
+
"中兴隧道11#横通道\n"
+
"中兴隧道12#横通道\n"
+
"中兴隧道出口横洞\n"
+
"中兴隧道出口横洞小里程方向\n"
+
"中兴隧道出口平导10#横通道小里程方向\n"
+
"中兴隧道1#横通道\n"
+
"中兴隧道3#横通道\n"
+
"中兴隧道6#横通道\n"
+
"中兴隧道10#横通道\n"
+
"中兴隧道出口横洞大里程方向\n"
+
"中兴隧道进口明洞\n"
+
"中兴隧道进口横洞大里程方向\n"
+
"中兴隧道进口平导4#横通道大里程方向\n"
+
"中兴隧道进口洞门\n"
+
"中兴隧道15#横通道\n"
+
"中兴隧道进口\n"
+
"中兴隧道出口平导8#横通道小里程方向\n"
+
"中兴隧道进口横洞\n"
+
"中兴隧道14#横通道\n"
+
"中兴隧道进口平导7#横通道大里程方向\n"
+
"中兴隧道出口洞门\n"
+
"中兴隧道出口平导\n"
+
"中兴隧道16#横通道\n"
+
"中兴隧道4#横通道\n"
+
"中兴隧道13#横通道\n"
+
"中兴隧道2#横通道\n"
+
"中兴隧道出口明洞\n"
+
"中兴隧道9#横通道\n"
+
"坪上隧道6#横通道\n"
+
"坪上隧道11#横通道\n"
+
"坪上隧道出口横洞\n"
+
"坪上隧道17#横通道\n"
+
"坪上隧道出口平导\n"
+
"坪上隧道进口泄水洞\n"
+
"坪上隧道进口洞门\n"
+
"坪上隧道5#横通道\n"
+
"坪上隧道8#横通道\n"
+
"坪上隧道16#横通道\n"
+
"坪上隧道14#横通道\n"
+
"坪上隧道出口洞门\n"
+
"坪上隧道出口平导14#横通道小里程方向\n"
+
"坪上隧道5#横通道小里程方向\n"
+
"坪上隧道4#横通道\n"
+
"坪上隧道9#横通道\n"
+
"坪上隧道13#横通道\n"
+
"坪上隧道18#横通道\n"
+
"坪上隧道出口平导10#横通道小里程方向\n"
+
"坪上隧道5#横通道大里程方向\n"
+
"坪上隧道12#横通道\n"
+
"坪上隧道15#横通道\n"
+
"坪上隧道19#横通道\n"
+
"坪上隧道出口明洞\n"
+
"坪上隧道出口\n"
+
"坪上隧道10#横通道\n"
+
"坪上隧道2#横通道\n"
+
"坪上隧道3#横通道\n"
+
"坪上隧道7#横通道\n"
+
"坪上隧道1#横通道\n"
+
"坪上隧道出口平导6#横通道小里程方向\n"
+
"黄柏山隧道1#斜井\n"
+
"黄柏山隧道出口\n"
+
"黄柏山隧道出口洞门\n"
+
"黄柏山隧道进口洞门\n"
+
"黄柏山隧道进口\n"
+
"黄柏山隧道1#斜井承担正洞大里程\n"
+
"黄柏山隧道1#斜井承担正洞小里程\n"
+
"龙南隧道1#斜井承担正洞大里程\n"
+
"龙南隧道2#斜井承担正洞大里程\n"
+
"龙南隧道进口\n"
+
"龙南隧道2号斜井\n"
+
"龙南隧道2#斜井承担正洞小里程\n"
+
"龙南隧道1#斜井洞门\n"
+
"龙南隧道出口明洞\n"
+
"龙南隧道进口洞门\n"
+
"龙南隧道1号斜井\n"
+
"龙南隧道出口\n"
+
"龙南隧道出口洞门\n"
+
"王屋隧道出口洞门\n"
+
"王屋隧道进口洞门\n"
+
"王屋隧道进口暗洞\n"
+
"王屋隧道进口明洞\n"
+
"王屋隧道出口暗洞\n"
+
"下排隧道进口洞门\n"
+
"下排隧道出口暗洞\n"
+
"下排隧道进口暗洞\n"
+
"下排隧道出口明洞\n"
+
"下排隧道出口洞门\n"
+
"下排隧道进口明洞\n"
+
"牛头弯一号隧道出口洞门\n"
+
"牛头弯一号隧道进口洞门\n"
+
"牛头弯一号隧道进口明洞\n"
+
"牛头弯一号隧道暗洞\n"
+
"牛头弯二号隧道出口洞门\n"
+
"牛头弯二号隧道进口洞门\n"
+
"牛头弯二号隧道进口暗洞\n"
+
"牛头弯二号隧道出口暗洞\n"
+
"寺山隧道进口洞门\n"
+
"寺山隧道暗洞\n"
+
"寺山隧道进口明洞\n"
+
"寺山隧道出口洞门\n"
+
"寒坡岭隧道出口洞门\n"
+
"寒坡岭隧道进口明洞\n"
+
"寒坡岭隧道出口明洞\n"
+
"寒坡岭隧道出口\n"
+
"寒坡岭隧道进口\n"
+
"寒坡岭隧道进口洞门\n"
+
"火土湾隧道进口洞门\n"
+
"火土湾隧道进口明洞\n"
+
"火土湾隧道出口\n"
+
"火土湾隧道出口明洞\n"
+
"火土湾隧道出口洞门\n"
+
"芭蕉湾隧道(DK62+867.25)进口\n"
+
"芭蕉湾隧道出口\n"
+
"芭蕉湾隧道(DK61+959)进口\n"
+
"芭蕉湾隧道(DK62+093.5)明洞\n"
+
"芭蕉湾隧道进口洞门\n"
+
"芭蕉湾隧道出口洞门\n"
+
"芭蕉湾隧道出口明洞\n"
+
"芭蕉湾隧道进口明洞\n"
+
"观溪隧道进口洞门\n"
+
"观溪隧道进口明洞\n"
+
"观溪隧道出口洞门\n"
+
"观溪隧道出口\n"
+
"观溪隧道出口明洞\n"
+
"木凉隧道出口\n"
+
"木凉隧道出口明洞\n"
+
"木凉隧道1#斜井小里程\n"
+
"木凉隧道2#横洞\n"
+
"木凉隧道1#斜井\n"
+
"木凉隧道出口洞门\n"
+
"木凉隧道进口洞门\n"
+
"木凉隧道2#横洞小里程\n"
+
"木凉隧道进口\n"
+
"木凉隧道进口明洞\n"
+
"木凉隧道2#横洞大里程\n"
+
"白马山隧道进口平导5#横通道大里程\n"
+
"长水机场隧道1号斜井小里程方向\n"
+
"长水机场隧道1号明挖段小里程\n"
+
"长水机场隧道2号暗挖大里程\n"
+
"长水机场隧道1号明挖段大里程\n"
+
"长水机场隧道1号斜井\n"
+
"长水机场站明挖区间\n"
+
"桂花园隧道进口平导4#横通道转正洞小里程\n"
+
"红旗村隧道出口\n"
+
"DK713+920大庆山隧道明洞\n"
+
"DK713+920大庆山隧道明洞小里程\n"
+
"DK714+996大庆山隧道明洞小里程\n"
+
"DK714+996大庆山隧道明洞大里程\n"
+
"茶厅左线隧道进口洞门\n"
+
"茶厅左线隧道出口洞门\n"
+
"董家菁左线隧道进口\n"
+
"董家菁左线隧道出口洞门\n"
+
"董家箐左线隧道\n"
+
"董家菁左线隧道进口明洞\n"
+
"董家菁左线隧道进口洞门\n"
+
"盘州隧道出口\n"
+
"盘州隧道出口洞门\n"
+
"盘州隧道出口明洞\n"
+
"盘州隧道出口平导\n"
+
"盘州隧道进口明洞\n"
+
"盘州隧道泄水洞\n"
+
"盘州隧道进口\n"
+
"盘州隧道进口洞门\n"
+
"妥乐隧道2号横洞大里程方向\n"
+
"妥乐隧道2号横洞\n"
+
"妥乐隧道1号横洞\n"
+
"妥乐隧道进口\n"
+
"妥乐隧道进口洞门\n"
+
"妥乐隧道3号横洞大里程方向\n"
+
"妥乐隧道3号横洞\n"
+
"昭通隧道防突揭煤2号钻场通道\n"
+
"妥乐隧道出口明洞\n"
+
"妥乐隧道1号横洞大里程方向\n"
+
"妥乐隧道3号横洞小里程方向\n"
+
"妥乐隧道平导\n"
+
"妥乐隧道2号泄水洞小里程方向\n"
+
"妥乐隧道出口\n"
+
"妥乐隧道1号横洞小里程方向\n"
+
"妥乐隧道2号泄水洞大里程方向\n"
+
"妥乐隧道出口洞门\n"
+
"妥乐隧道1号泄水洞XS1DK12+825-XS1DK14+580\n"
+
"妥乐隧道进口明洞\n"
+
"鲁番隧道泄水洞\n"
+
"鲁番隧道进口洞门\n"
+
"鲁番隧道出口洞门\n"
+
"鲁番隧道进口明洞\n"
+
"鲁番隧道出口\n"
+
"鲁番隧道出口明洞\n"
+
"罗荣庄隧道进口\n"
+
"罗荣庄隧道进口洞门\n"
+
"罗荣庄隧道斜井\n"
+
"罗荣庄隧道斜井大里程方向\n"
+
"罗荣庄隧道出口斜井大里程方向\n"
+
"罗荣庄隧道出口斜井小里程方向\n"
+
"罗荣庄隧道出口斜井\n"
+
"罗荣庄隧道出口洞门\n"
+
"罗荣庄隧道出口明洞\n"
+
"罗荣庄隧道进口明洞\n"
+
"张官营隧道出口\n"
+
"张官营隧道出口洞门\n"
+
"张官营隧道进口洞门\n"
+
"红岩村二号隧道进口洞门\n"
+
"红岩村二号隧道出口明洞\n"
+
"红岩村二号隧道出口洞门\n"
+
"红岩村二号隧道正洞\n"
+
"乐民隧道出口\n"
+
"乐民隧道进口洞门\n"
+
"乐民隧道出口洞门\n"
+
"乐民隧道进口明洞\n"
+
"乐民隧道进口\n"
+
"弓角田隧道出口洞门\n"
+
"弓角田隧道正洞\n"
+
"威箐隧道出口\n"
+
"威箐隧道进口\n"
+
"威箐隧道进口明洞\n"
+
"威箐隧道出口洞门\n"
+
"威箐隧道进口洞门\n"
+
"鲁木山隧道正洞\n"
+
"鲁木山隧道出口过渡段\n"
+
"鲁木山隧道进口明洞\n"
+
"鲁木山隧道进口洞门\n"
+
"红岩村一号隧道进口洞门\n"
+
"弓角田隧道进口洞门\n"
+
"红岩村一号隧道进口明洞\n"
+
"红岩村一号隧道正洞\n"
+
"红岩村一号隧道出口明洞\n"
+
"红岩村一号隧道出口洞门\n"
+
"石桥隧道平导3#横通道\n"
+
"石桥隧道平导2#横通道\n"
+
"石桥隧道平导1#横通道\n"
+
"石桥隧道平导4#横通道\n"
+
"石桥隧道2#横通道小里程方向\n"
+
"石桥隧道出口洞门\n"
+
"石桥隧道平导5#横通道\n"
+
"石桥隧道泄水洞\n"
+
"石桥隧道平导\n"
+
"石桥隧道进口洞门\n"
+
"石桥隧道出口\n"
+
"石桥隧道进口明洞\n"
+
"石桥隧道平导小里程\n"
+
"石桥隧道横洞\n"
+
"石桥隧道出口明洞\n"
+
"保田隧道2号泄水洞9#集水通道\n"
+
"保田隧道一号横洞大里程\n"
+
"保田隧道平导2#横通道\n"
+
"保田隧道1号泄水洞2#集水通道\n"
+
"保田隧道2号泄水洞10#集水通道\n"
+
"保田隧道明洞工区小里程\n"
+
"保田隧道明洞工区明洞段\n"
+
"保田隧道平导\n"
+
"保田隧道平导大里程\n"
+
"保田隧道出口\n"
+
"保田隧道平导1#横通道\n"
+
"保田隧道1号泄水洞3#集水通道\n"
+
"保田隧道进口洞门\n"
+
"保田隧道二号横道大里程\n"
+
"保田隧道出口洞门\n"
+
"保田隧道平导3#横通道\n"
+
"保田隧道一号泄水洞\n"
+
"保田隧道二号横洞\n"
+
"保田隧道三号横洞大里程\n"
+
"保田隧道平导4#横通道\n"
+
"保田隧道2号泄水洞6#集水通道\n"
+
"保田隧道四号横洞大里程\n"
+
"保田隧道二号泄水洞\n"
+
"保田隧道明洞工区大里程\n"
+
"保田隧道2号泄水洞11#集水通道\n"
+
"保田隧道1号泄水洞5#集水通道\n"
+
"保田隧道1号泄水洞4#集水通道\n"
+
"保田隧道1号泄水洞1#集水通道\n"
+
"保田隧道四号横洞\n"
+
"保田隧道三号横洞\n"
+
"保田隧道一号横洞\n"
+
"保田隧道进口明洞\n"
+
"保田隧道2号泄水洞8#集水通道\n"
+
"保田隧道平导5#横通道\n"
+
"保田隧道出口明洞\n"
+
"保田隧道2号泄水洞7#集水通道\n"
+
"兴丰村一号隧道进口\n"
+
"老鹰岩隧道进口\n"
+
"下补西一号隧道进口\n"
+
"大山坪隧道出口洞门\n"
+
"大山坪隧道进口洞门\n"
+
"大山坪隧道进口\n"
+
"大山坪隧道进口明洞\n"
+
"沙田村隧道出口洞门\n"
+
"沙田村隧道进口洞门\n"
+
"沙田村隧道出口明洞\n"
+
"沙田村隧道出口\n"
+
"新通草坳隧道出口洞门\n"
+
"新通草坳隧道进口\n"
+
"新通草坳隧道出口明洞\n"
+
"方田隧道进口\n"
+
"李家湾2号隧道进口\n"
+
"渝黔(江)东环左联络线隧道泄水洞小里程方向\n"
+
"渝黔(江)东环左联络线隧道泄水洞大里程方向\n"
+
"渝黔(江)东环左联络线隧道辅助坑道泄水洞\n"
+
"渝黔(江)东环右联络线隧道出口明洞\n"
+
"渝黔(江)东环右联络线隧道出口\n"
+
"木凉隧道1#斜井大里程\n"
+
"新通草坳隧道进口洞门\n"
+
"新通草坳隧道进口明洞\n"
+
"洋房村隧道进口洞门\n"
+
"洋房村隧道出口明洞\n"
+
"洋房村隧道出口\n"
+
"洋房村隧道进口明洞\n"
+
"洋房村隧道出口洞门\n"
+
"洋房村隧道进口\n"
+
"石龙岩隧道出口明洞\n"
+
"石龙岩隧道进口\n"
+
"石龙岩隧道出口\n"
+
"石龙岩隧道进口洞门\n"
+
"石龙岩隧道出口洞门\n"
+
"石龙岩隧道进口明洞\n"
+
"新江门一号隧道进口洞门\n"
+
"新江门一号隧道出口明洞\n"
+
"新江门一号隧道进口\n"
+
"新江门一号隧道出口洞门\n"
+
"新江门一号隧道出口\n"
+
"新江门二号隧道出口洞门\n"
+
"新江门二号隧道进口洞门\n"
+
"新江门二号隧道进口\n"
+
"新江门二号隧道进口明洞\n"
+
"新江门二号隧道出口明洞\n"
+
"白云隧道出口洞门\n"
+
"白云隧道进口DK29+500-DK30+302\n"
+
"白云隧道\n"
+
"白云隧道出口\n"
+
"白云隧道进口\n"
+
"白云隧道进口明洞段施工\n"
+
"白云隧道进口洞门\n"
+
"新江门三号隧道出口\n"
+
"新江门三号隧道进口明洞\n"
+
"新江门三号隧道出口洞门\n"
+
"新江门三号隧道进口洞门\n"
+
"新江门三号隧道出口明洞\n"
+
"新江门三号隧道进口\n"
+
"凤凰山隧道出口\n"
+
"凤凰山隧道进口明洞\n"
+
"凤凰山隧道出口洞门\n"
+
"凤凰山隧道进口洞门\n"
+
"凤凰山隧道进口\n"
+
"茨竹村一号隧道出口\n"
+
"茨竹村一号隧道进口洞门\n"
+
"茨竹村一号隧道出口明洞\n"
+
"茨竹村一号隧道出口洞门\n"
+
"茨竹村二号隧道进口\n"
+
"茨竹村二号隧道进口明洞\n"
+
"茨竹村二号隧道出口洞门\n"
+
"茨竹村二号隧道进口洞门\n"
+
"茨竹村三号隧道出口\n"
+
"茨竹村三号隧道出口洞门\n"
+
"茨竹村三号隧道进口明洞\n"
+
"茨竹村三号隧道进口洞门\n"
+
"茨竹村四号隧道进口\n"
+
"茨竹村四号隧道进口洞门\n"
+
"茨竹村四号隧道出口洞门\n"
+
"茨竹村四号隧道出口明洞\n"
+
"新泡桐隧道出口\n"
+
"新泡桐隧道出口明洞\n"
+
"新泡桐隧道进口洞门\n"
+
"新泡桐隧道出口洞门\n"
+
"新泡桐隧道进口\n"
+
"天仙隧道洞门进口\n"
+
"天仙隧道进口\n"
+
"天仙隧道出口洞门\n"
+
"关斗山隧道出口明洞\n"
+
"关斗山隧道进口\n"
+
"关斗山隧道进口洞门\n"
+
"关斗山隧道出口\n"
+
"关斗山隧道进口明洞\n"
+
"关斗山隧道出口洞门\n"
+
"银鸽隧道进口明洞\n"
+
"银鸽隧道进口\n"
+
"银鸽隧道明洞出口\n"
+
"银鸽隧道出口明洞\n"
+
"银鸽隧道进口洞门\n"
+
"银鸽隧道出口洞门\n"
+
"护国隧道出口洞门\n"
+
"护国隧道横洞\n"
+
"护国隧道横洞工区小里程方向\n"
+
"护国隧道出口\n"
+
"护国隧道横洞工区大里程方向\n"
+
"护国隧道洞门进口\n"
+
"护国隧道进口明洞\n"
+
"护国隧道进口\n"
+
"黄山坝隧道出口洞门\n"
+
"黄山坝隧道出口明洞\n"
+
"黄山坝隧道进口洞门\n"
+
"黄山坝隧道出口\n"
+
"云峰隧道出口明洞\n"
+
"云峰隧道出口洞门\n"
+
"云峰隧道出口\n"
+
"云峰隧道进口洞门\n"
+
"方山隧道进口\n"
+
"方山隧道进口洞门\n"
+
"方山隧道进口明洞\n"
+
"方山隧洞出口明洞\n"
+
"方山隧道出口洞门\n"
+
"新山顶上隧道进口洞门\n"
+
"新山顶上隧道出口明洞\n"
+
"新山顶上隧道出口洞门\n"
+
"新山顶上隧道进口明洞\n"
+
"新山顶上隧道进口\n"
+
"重庆长江隧道1#斜井\n"
+
"中岭隧道出口明洞及洞门\n"
+
"里仁隧道出口明洞\n"
+
"坝子隧道进口\n"
+
"礼亨隧道出口明洞\n"
+
"高黎贡山隧道32#联络通道\n"
+
"高黎贡山隧道17#联络通道\n"
+
"高黎贡山隧道91#横通道\n"
+
"1#斜井进平导大里程\n"
+
"白马山隧道右侧救援平导C6#横通道\n"
+
"董家湾隧道横洞大里程方向\n"
+
"万峰林隧道出口洞门\n"
+
"湾里隧道进口\n"
+
"高黎贡山隧道出口车站段平导\n"
+
"高黎贡山隧道1#斜井副井\n"
+
"桂花园隧道2#横洞\n"
+
"桂花园隧道2#横洞洞门\n"
+
"桂花园隧道进口平导2#横通道\n"
+
"桂花园隧道进口洞门\n"
+
"桂花园隧道出口\n"
+
"桂花园隧道进口平导4#横通道转正洞大里程\n"
+
"桂花园隧道中部平导6#横通道大里程\n"
+
"桂花园隧道中部平导6#横通道\n"
+
"桂花园隧道中部平导9#横通道\n"
+
"桂花园隧道中部平导10#横通道\n"
+
"桂花园隧道出口洞门\n"
+
"白马山隧道2#横洞大里程\n"
+
"白马山隧道出口明洞(含洞门)\n"
+
"白马山隧道左侧救援平导C2#横通道\n"
+
"白马山隧道泄水洞小里程\n"
+
"白马山隧道右侧救援平导洞门\n"
+
"白马山隧道进口平导9#横通道大里程\n"
+
"白马山隧道1#横洞\n"
+
"白马山隧道左侧救援平导C1#横通道\n"
+
"白马山隧道进口平导\n"
+
"白马山隧道进口泄水洞\n"
+
"白马山隧道2#横洞小里程\n"
+
"白马山隧道2#横洞洞门\n"
+
"白马山隧道进口平导洞门\n"
+
"董家湾隧道横洞\n"
+
"正阳镇隧道进口明洞(含洞门)\n"
+
"正阳镇隧道出口既有斜井小里程方向\n"
+
"正阳镇隧道进口\n"
+
"正阳镇隧道出口明洞(含洞门)\n"
+
"正阳镇隧道出口既有斜井大里程方向\n"
+
"姚家院子隧道进口明洞(含洞门)\n"
+
"姚家院子隧道进口横洞工区\n"
+
"姚家院子隧道1#横洞\n"
+
"姚家院子隧道出口明洞(含洞门)\n"
+
"姚家院子隧道2#横洞大里程方向\n"
+
"姚家院子隧道出口(DK255+635-DK255+715段)\n"
+
"姚家院子隧道2#横洞小里程方向\n"
+
"万峰林隧道进口明洞\n"
+
"万峰林隧道出口\n"
+
"万峰林隧道出口明洞\n"
+
"金州隧道出口洞门\n"
+
"金州隧道进口明洞\n"
+
"金州隧道进口洞门\n"
+
"金州隧道出口明洞\n"
+
"金州隧道进口\n"
+
"金州隧道横洞小里程\n"
+
"金州隧道横洞\n"
+
"金州隧道横洞大里程\n"
+
"金州隧道出口\n"
+
"昭通隧道2号斜井向小里程正洞\n"
+
"昭通隧道1号横洞向小里程正洞\n"
+
"湾里隧道进口明洞\n"
+
"湾里隧道进口洞门\n"
+
"湾里隧道出口明洞\n"
+
"长塝隧道出口洞门\n"
+
"长塝隧道出口\n"
+
"长塝隧道进口\n"
+
"长塝隧道进口洞门\n"
+
"长塝隧道进口明洞\n"
+
"长塝隧道出口明洞\n"
+
"向阳湾隧道进口明洞\n"
+
"向阳湾隧道出口明洞\n"
+
"向阳湾隧道进口\n"
+
"向阳湾隧道进口洞门\n"
+
"向阳湾隧道出口洞门\n"
+
"胡林湾隧道进口洞门\n"
+
"胡林湾隧道出口洞门\n"
+
"岩子头隧道进口\n"
+
"萎家沟一号隧道进口\n"
+
"谷城隧道2#斜井\n"
+
"风山坳隧道(明挖段往大里程方向)\n"
+
"西牛隧道进口\n"
+
"西牛隧道进口明洞\n"
+
"西牛隧道出口\n"
+
"西牛隧道出口明洞\n"
+
"何家隧道进口洞门\n"
+
"何家隧道出口明洞\n"
+
"何家隧道进口明洞\n"
+
"何家隧道出口洞门\n"
+
"同年寨隧道进口\n"
+
"郭家山隧道横洞正洞大里程\n"
+
"白马山隧道排水洞\n"
+
"老鹰岩隧道横洞大里程方向\n"
+
"徐家堡隧道进口\n"
+
"白马山隧道进口平导5#横通道小里程\n"
+
"白马山隧道进口平导9#横通道小里程\n"
+
"昭通隧道进口平导3号横通道\n"
+
"张家山隧道1号斜井\n"
+
"张家山隧道1号斜井大里程\n"
+
"张家山隧道2号斜井\n"
+
"张家山隧道进口明洞\n"
+
"张家山隧道进口\n"
+
"张家山隧道出口\n"
+
"张家山隧道1号斜井小里程\n"
+
"张家山隧道2号斜井大里程\n"
+
"共和村左线隧道进口洞门\n"
+
"共和村左线隧道出口洞门\n"
+
"共和村左线隧道进口\n"
+
"共和村右线隧道出口洞门\n"
+
"共和村右线隧道明洞\n"
+
"共和村右线隧道进口\n"
+
"杨家湾一号隧道进口洞门\n"
+
"杨家湾一号隧道出口洞门\n"
+
"杨家湾一号隧道出口\n"
+
"杨家湾二号隧道出口洞门\n"
+
"张家山隧道出口明洞\n"
+
"杨家湾二号隧道进口洞门\n"
+
"杨家湾二号隧道进口\n"
+
"白马山隧道泄水洞15#横通道转正洞大里程\n"
+
"白马山隧道泄水洞15#横通道转正洞小里程\n"
+
"香山隧道出口轨道\n"
+
"长水机场隧道2号斜井\n"
+
"长水机场隧道2号斜井小里程方向\n"
+
"长水机场隧道出口明洞\n"
+
"长水机场隧道2号明挖段\n"
+
"长水机场隧道1号斜井大里程方向\n"
+
"长水机场隧道1号暗挖出口小里程\n"
+
"长水机场隧道3号暗挖大里程\n"
+
"楠竹山隧道1#横洞支洞\n"
+
"大庆山隧道出口明洞\n"
+
"大庆山隧道进口\n"
+
"大庆山隧道进口洞门\n"
+
"DK714+996大庆山隧道明洞\n"
+
"大庆山隧道出口洞门\n"
+
"大庆山隧道进口明洞\n"
+
"青龙山隧道出口洞门\n"
+
"青龙山隧道进口明洞\n"
+
"青龙山隧道出口明洞\n"
+
"青龙山隧道进口\n"
+
"青龙山隧道进口洞门\n"
+
"阳春1号隧道出口\n"
+
"香山隧道出口\n"
+
"香山隧道1号斜井\n"
+
"香山隧道4号斜井大里程\n"
+
"香山隧道1号斜井小里程\n"
+
"香山隧道进口\n"
+
"香山隧道5号斜井\n"
+
"香山隧道2号斜井\n"
+
"香山隧道3号斜井小里程\n"
+
"香山隧道3号斜井\n"
+
"香山隧道进口洞门\n"
+
"香山隧道4号斜井小里程\n"
+
"香山隧道5#斜井大里程\n"
+
"香山隧道4号斜井\n"
+
"香山隧道出口明洞\n"
+
"香山隧道进口明洞\n"
+
"香山隧道2号斜井大里程\n"
+
"香山隧道2号斜井小里程\n"
+
"香山隧道出口洞门\n"
+
"郭家隧道进口\n"
+
"郭家隧道进口洞门\n"
+
"郭家隧道出口洞门\n"
+
"郭家隧道出口明洞\n"
+
"郭家隧道进口明洞\n"
+
"白岩一号隧道进口明洞\n"
+
"白岩一号隧道出口洞门\n"
+
"白岩一号隧道出口\n"
+
"白岩一号隧道进口洞门\n"
+
"白岩二号隧道进口.\n"
+
"白岩二号隧道进口洞门.\n"
+
"白岩二号隧道进口明洞\n"
+
"白岩二号隧道出口洞门\n"
+
"马岭一号隧道出口\n"
+
"马岭一号隧道出口洞门\n"
+
"马岭一号隧道出口明洞\n"
+
"马岭一号隧道进口洞门\n"
+
"马岭一号隧道泄水洞\n"
+
"马岭二号隧道进口\n"
+
"马岭二号隧道正洞工程\n"
+
"马岭二号隧道进口洞门\n"
+
"马岭二号隧道出口洞门及明洞工程\n"
+
"马岭二号隧道出口洞门\n"
+
"马岭二号隧道出口明洞\n"
+
"石盖坡隧道进口洞门\n"
+
"石盖坡隧道出口\n"
+
"石盖坡隧道出口明洞\n"
+
"石盖坡隧道出口洞门\n"
+
"下补西一号隧道出口洞门\n"
+
"下补西一号隧道进口洞门\n"
+
"下补西一号隧道泄水洞\n"
+
"下补西一号隧道出口明洞\n"
+
"下补西一号隧道出口\n"
+
"下补西二号隧道出口洞门\n"
+
"下补西二号隧道进口洞门\n"
+
"下补西二号隧道出口\n"
+
"下补西二号隧道进口明洞\n"
+
"红旗村隧道进口洞门\n"
+
"红旗村隧道出口明洞\n"
+
"阳春1号隧道出口洞门\n"
+
"阳春1号隧道进口洞门\n"
+
"阳春1号隧道出口明洞\n"
+
"阳春2号隧道进口明洞\n"
+
"阳春2号隧道进口\n"
+
"阳春2号隧道进口洞门\n"
+
"阳春2号隧道出口明洞\n"
+
"青草山隧道进口\n"
+
"青草山隧道进口洞门\n"
+
"青草山隧道出口明洞\n"
+
"青草山隧道出口洞门\n"
+
"青草山隧道进口明洞\n"
+
"新对歌山隧道进口洞门\n"
+
"高黎贡山隧道出口平导PDZK221+481增建迂回导坑\n"
+
"桂花园隧道2#横洞大里程\n"
+
"白马山隧道进口平导J6#横通道\n"
+
"姚家院子隧道出口(DK253+584-DK255+580段)\n"
+
"昭通隧道1号横洞\n"
+
"大塝隧道进口\n"
+
"西牛隧道进口洞门\n"
+
"同年寨隧道出口明洞(含洞门)\n"
+
"同年寨隧道进口明洞(含洞门)\n"
+
"同年寨隧道出口\n"
+
"香山隧道3号斜井大里程\n"
+
"香山隧道1号斜井大里程\n"
+
"香山隧道5号斜井小里程\n"
+
"高黎贡山隧道29#联络通道\n"
+
"高黎贡山2#竖井L8疏散联络通道\n"
+
"高黎贡山隧道24#联络通道\n"
+
"高黎贡山2#竖井L6疏散联络通道\n"
+
"高黎贡山2#竖井L7疏散联络通道\n"
+
"高黎贡山隧道60#联络通道\n"
+
"1#斜井平导28号横通道进正洞大里程\n"
+
"高黎贡山隧道45#联络通道\n"
+
"高黎贡山隧道出口正洞车站双线段新增通道大里程\n"
+
"高黎贡山隧道56#联络通道\n"
+
"高黎贡山隧道33#联络通道\n"
+
"高黎贡山1#斜井7#联络通道\n"
+
"高黎贡山2#竖井L11疏散联络通道\n"
+
"高黎贡山隧道出口平导TBM步进段\n"
+
"高丽贡山隧道1号竖井主井井底车场小里程\n"
+
"高丽贡山隧道1号竖井副井井底车场小里程\n"
+
"1#竖井主井井底车场\n"
+
"1号竖井副井井底车场\n"
+
"2#竖井进平导小里程\n"
+
"2#竖井进平导大里程\n"
+
"2#竖井主井井底车场\n"
+
"高黎贡山隧道出口平导一次建成段\n"
+
"1#竖井进平导小里程\n"
+
"高黎贡山隧道出口平导TBM掘进段\n"
+
"2#竖井副井井底车场\n"
+
"高黎贡山隧道1#斜井主井\n"
+
"桂花园隧道1#横洞洞门\n"
+
"桂花园隧道进口平导\n"
+
"桂花园隧道进口平导3#横通道\n"
+
"桂花园隧道中部平导11#横通道\n"
+
"桂花园隧道进口明洞\n"
+
"桂花园隧道出口明洞\n"
+
"桂花园隧道中部平导8#横通道\n"
+
"桂花园隧道2#横洞小里程\n"
+
"桂花园隧道进口平导4#横通道\n"
+
"桂花园隧道中部平导6#横通道小里程\n"
+
"桂花园隧道中部平导7#横通道\n"
+
"桂花园隧道中部平导\n"
+
"桂花园隧道中部平导5#横通道\n"
+
"白马山隧道1#横洞大里程\n"
+
"白马山隧道1#横洞横通道\n"
+
"白马山隧道进口泄水洞J15#横通道\n"
+
"白马山隧道进口\n"
+
"白马山隧道进口风道洞门\n"
+
"白马山隧道进口平导J10#横通道\n"
+
"白马山隧道进口泄水洞J11#横通道\n"
+
"白马山隧道左侧救援平导洞门\n"
+
"白马山隧道进口泄水洞J14#横通道\n"
+
"上阁村隧道2#斜井往小里程方向\n"
+
"上阁村隧道出口明洞\n"
+
"上阁村隧道4号斜井往小里程方向\n"
+
"上阁村隧道3号斜井往小里程方向\n"
+
"姚家院子隧道DK255+580~635明洞\n"
+
"姚家院子隧道2#横洞\n"
+
"保家镇隧道中部横洞大里程\n"
+
"保家镇隧道出口洞门\n"
+
"保家镇隧道中部横洞\n"
+
"保家镇隧道中部横洞小里程\n"
+
"保家镇隧道中部横洞洞门\n"
+
"保家镇隧道出口\n"
+
"保家镇隧道进口洞门\n"
+
"保家镇隧道进口\n"
+
"保家镇隧道出口明洞\n"
+
"保家镇隧道进口明洞\n"
+
"杨柳村隧道进口明洞\n"
+
"董家湾隧道横洞小里程方向\n"
+
"杨柳村隧道进口洞门\n"
+
"周家坡隧道出口洞门\n"
+
"周家坡隧道出口\n"
+
"周家坡隧道进口洞门\n"
+
"周家坡隧道进口\n"
+
"上新屋隧道出口洞门\n"
+
"上新屋隧道进口洞门\n"
+
"上新屋隧道出口明洞\n"
+
"上新屋隧道出口\n"
+
"上新屋隧道进口明洞\n"
+
"风山坳隧道(明挖段往小里程方向)\n"
+
"风山坳隧道出口洞门\n"
+
"杨柳村隧道出口明洞\n"
+
"杨柳村隧道出口洞门\n"
+
"杨柳村隧道1#横洞\n"
+
"杨柳村隧道进口\n"
+
"杨柳村隧道2#横洞洞门\n"
+
"杨柳村1#横洞小里程方向\n"
+
"杨柳村隧道3#横洞正洞大里程\n"
+
"杨柳村隧道2#横洞\n"
+
"杨柳村隧道3#横洞洞门\n"
+
"杨柳村隧道2#横洞大里程方向\n"
+
"杨柳村隧道1#横洞大里程\n"
+
"杨柳村隧道3#横洞\n"
+
"杨柳村隧道3#横洞正洞小里程\n"
+
"昭通隧道1号横洞向大里程正洞\n"
+
"昭通隧道平导洞门\n"
+
"昭通隧道1号横洞洞门\n"
+
"昭通隧道2号斜井洞门\n"
+
"昭通隧道进口明洞\n"
+
"昭通隧道1号斜井井身\n"
+
"昭通隧道进口平导1号横通道\n"
+
"昭通隧道进口平导2号横通道\n"
+
"昭通隧道进口正洞\n"
+
"昭通隧道进口至1号横洞平导\n"
+
"昭通隧道2号斜井上联洞\n"
+
"昭通隧道1号斜井向小里程正洞\n"
+
"昭通隧道2号横洞向小里程平导\n"
+
"红旗村隧道出口洞门\n"
+
"红旗村隧道进口\n"
+
"下补西三号隧道出口洞门\n"
+
"下补西三号隧道出口\n"
+
"下补西三号隧道出口明洞\n"
+
"下补西三号隧道进口洞门\n"
+
"施德一号隧道进口洞门\n"
+
"施德一号隧道进口\n"
+
"施德一号隧道出口明洞\n"
+
"施德一号隧道出口洞门\n"
+
"施德二号隧道出口洞门\n"
+
"施德二号隧道出口\n"
+
"施德二号隧道进口洞门\n"
+
"昭通隧道1号斜井向大里程正洞\n"
+
"谷城隧道进口\n"
+
"风山坳隧道进口洞门\n"
+
"风山坳隧道明挖段\n"
+
"风山坳隧道出口\n"
+
"富竹排隧道进口\n"
+
"富竹排隧道出口\n"
+
"富竹排隧道进口洞门\n"
+
"富竹排隧道出口洞门\n"
+
"黄荆岭隧道出口洞门\n"
+
"黄荆岭隧道进口洞门\n"
+
"黄荆岭隧道进口\n"
+
"西牛隧道出口洞门\n"
+
"昭通隧道进口洞门(正洞)\n"
+
"昭通隧道1号横洞平导至进口\n"
+
"昭通隧道2号横洞向小里程正洞\n"
+
"昭通隧道2号斜井向大里程正洞\n"
+
"昭通隧道出口洞门(正洞)\n"
+
"昭通隧道1号斜井洞门\n"
+
"昭通隧道10#横通道正洞大里程\n"
+
"昭通隧道出口明洞\n"
+
"昭通隧道2号斜井暗洞\n"
+
"昭通隧道4#横通道正洞大里程\n"
+
"昭通隧道2号横洞\n"
+
"昭通隧道2号斜井明洞\n"
+
"昭通隧道2号横洞向大里程正洞\n"
+
"下补西二号隧道进口\n"
+
"新对歌山隧道出口明洞\n"
+
"新对歌山隧道进口\n"
+
"新对歌山隧道出口洞门\n"
+
"新对歌山隧道进口明洞\n"
+
"新对歌山隧道出口\n"
+
"马岭一号隧道明洞段小里程\n"
+
"马岭一号隧道明洞段大里程\n"
+
"马岭一号隧道进口明洞\n"
+
"茶厅右线一号隧道进口洞门\n"
+
"茶厅右线一号隧道进口明洞\n"
+
"茶厅右线一号隧道出口洞门\n"
+
"白家山隧道进口平导3#横通道\n"
+
"白家山隧道进口平导4#横通道\n"
+
"白家山隧道进口平导7#横通道\n"
+
"白家山隧道进口平导6#横通道\n"
+
"白家山隧道进口平导2#横通道\n"
+
"白家山隧道进口平导1#横通道\n"
+
"白家山隧道进口平导5#横通道\n"
+
"昭通隧道出口正洞\n"
+
"茶厅右线二号隧道出口明洞\n"
+
"茶厅右线二号隧道出口洞门\n"
+
"茶厅右线二号隧道进口\n"
+
"湾里隧道出口洞门\n"
+
"宗家山隧道进口\n"
+
"宗家山隧道出口\n"
+
"梨树坪一号隧道出口\n"
+
"梨树坪一号隧道\n"
+
"文昌阁隧道出口\n"
+
"文昌阁隧道进口\n"
+
"花园坪一号隧道进口\n"
+
"新娄山关隧道出口\n"
+
"新娄山关隧道进口\n"
+
"柏香湾隧道出口\n"
+
"梨树坪二号隧道\n"
+
"杨柳坝隧道出口\n"
+
"五重角隧道\n"
+
"阳春2号隧道出口洞门\n"
+
"茶厅右线二号隧道进口洞门\n"
+
"茶厅右线二号隧道出口\n"
+
"董家菁右线隧道进口\n"
+
"董家箐右线隧道\n"
+
"董家菁右线隧道出口洞门\n"
+
"董家菁右线隧道出口明洞\n"
+
"董家菁右线隧道进口明洞\n"
+
"董家箐右线隧道进口洞门\n"
+
"董家菁右线隧道进口洞门\n"
+
"茶厅左线隧道出口\n"
+
"茶厅左线隧道进口明洞\n"
+
"高黎贡山1#斜井2#联络通道\n"
+
"高黎贡山隧道出口正洞TBM步进段95#通道进正洞大里程\n"
+
"桂花园隧道进口\n"
+
"上阁村隧道1#斜井往小里程方向\n"
+
"杨柳村隧道1#横洞洞门\n"
+
"昭通隧道1号横洞向大里程平导\n"
+
"坝子隧道出口洞门\n"
+
"夜郎隧道进口\n"
+
"夜郎隧道出口\n"
+
"阳关塘隧道进口\n"
+
"何家沟一号隧道出口\n"
+
"何家沟一号隧道进口\n"
+
"东山隧道进口\n"
+
"礼亨隧道出口\n"
+
"礼亨隧道出口洞门\n"
+
"小高砂隧道出口洞门\n"
+
"小高砂隧道进口洞门\n"
+
"小高砂隧道出口\n"
+
"荣丰隧道进口明洞(含洞门)\n"
+
"荣丰隧道进口\n"
+
"荣丰隧道出口洞门\n"
+
"枫山1号隧道出口明洞\n"
+
"枫山1号隧道出口\n"
+
"枫山1号隧道出口洞门\n"
+
"枫山1号隧道进口洞门\n"
+
"枫山1号隧道进口\n"
+
"高黎贡山隧道38#联络通道\n"
+
"高黎贡山隧道出口正洞TBM步进段95#通道进正洞小里程\n"
+
"高黎贡山隧道新增横通道\n"
+
"高黎贡山隧道58#联络通道\n"
+
"高黎贡山2#竖井L10疏散联络通道\n"
+
"1#竖井进正洞大里程\n"
+
"高黎贡山1#斜井4#联络通道\n"
+
"高黎贡山隧道44#联络通道\n"
+
"高黎贡山隧道28#联络通道\n"
+
"高黎贡山隧道34#联络通道\n"
+
"2#竖井47#横通道进正洞小里程\n"
+
"1#斜井进正洞大里程\n"
+
"1#竖井进正洞小里程\n"
+
"高黎贡山隧道36#联络通道\n"
+
"高黎贡山2#竖井L1疏散联络通道\n"
+
"高黎贡山隧道53#联络通道\n"
+
"高黎贡山隧道20#联络通道\n"
+
"1#竖井平导42号横通道进正洞大里程\n"
+
"高黎贡山隧道50#联络通道\n"
+
"高黎贡山隧道19#联络通道\n"
+
"高黎贡山隧道30#联络通道\n"
+
"高黎贡山隧道55#联络通道\n"
+
"1#竖井平导39号横通道进正洞大里程\n"
+
"高黎贡山隧道94#横通道\n"
+
"高黎贡山隧道迂回导坑\n"
+
"高黎贡山隧道63#联络通道\n"
+
"1#竖井进平导大里程\n"
+
"东山隧道出口\n"
+
"萎家沟一号隧道出口\n"
+
"团山堡隧道\n"
+
"羊角二号隧道\n"
+
"萎家沟二号隧道\n"
+
"谷城隧道2#斜井小里程\n"
+
"谷城隧道进口洞门\n"
+
"谷城隧道1#斜井小里程方向\n"
+
"谷城隧道出口\n"
+
"谷城隧道1#斜井大里程方向\n"
+
"谷城隧道1#斜井\n"
+
"谷城隧道2#斜井大里程方向\n"
+
"谷城隧道出口洞门\n"
+
"桂花园隧道进口平导洞门\n"
+
"桂花园隧道1#横洞\n"
+
"桂花园隧道进口平导1#横通道\n"
+
"白马山隧道进口风道\n"
+
"白马山隧道进口平导J4#横通道\n"
+
"白马山隧道进口平导J5#横通道\n"
+
"白马山隧道进口平导J9#横通道\n"
+
"白马山隧道2#横洞\n"
+
"白马山隧道左侧救援平导C4#横通道\n"
+
"白马山隧道进口平导J1#横通道\n"
+
"白马山隧道进口平导J7#横通道\n"
+
"白马山隧道进口平导10#横通道大里程\n"
+
"白马山隧道进口泄水洞J12#横通道\n"
+
"上阁村隧道4号斜井\n"
+
"上阁村隧道3号斜井往大里程方向\n"
+
"上阁村隧道3号斜井\n"
+
"上阁村隧道1#斜井往大里程方向\n"
+
"上阁村隧道出口洞门\n"
+
"上阁村隧道2#斜井大里程\n"
+
"上阁村隧道2#斜井\n"
+
"上阁村隧道进口洞门\n"
+
"上阁村隧道2#斜井往大里程方向\n"
+
"上阁村隧道出口\n"
+
"上阁村隧道4号斜井往大里程方向\n"
+
"上阁村隧道1#斜井\n"
+
"上阁村隧道进口\n"
+
"杨柳村隧道2#横洞小里程方向\n"
+
"上瓦戛隧道出口洞门\n"
+
"上瓦戛隧道出口\n"
+
"上瓦戛隧道出口明洞\n"
+
"上瓦戛隧道进口洞门\n"
+
"老鹰岩隧道进口明洞\n"
+
"老鹰岩隧道横洞小里程方向\n"
+
"老鹰岩隧道出口\n"
+
"老鹰岩隧道横洞\n"
+
"老鹰岩隧道出口洞门\n"
+
"老鹰岩隧道出口明洞\n"
+
"老鹰岩隧道进口洞门\n"
+
"营盘隧道进口洞门\n"
+
"营盘隧道出口洞门\n"
+
"礼亨隧道进口明洞(含洞门)\n"
+
"枫山1号隧道进口明洞\n"
+
"高黎贡山隧道52#联络通道\n"
+
"高黎贡山隧道62#联络通道\n"
+
"白马山隧道1#横洞洞门\n"
+
"贾家湾隧道进口洞门\n"
+
"营盘隧道进口明洞\n"
+
"胡林湾隧道出口\n"
+
"坝子隧道进口明洞\n"
+
"坝子隧道进口洞门\n"
+
"坝子隧道出口\n"
+
"坝子隧道进口\n"
+
"坝子隧道出口明洞\n"
+
"竹园隧道进口洞门\n"
+
"竹园隧道出口洞门\n"
+
"竹园隧道进口\n"
+
"枫山2号隧道出口\n"
+
"枫山2号隧道出口洞门\n"
+
"枫山2号隧道进口洞门\n"
+
"枫山2号隧道进口\n"
+
"2#竖井进正洞大里程\n"
+
"高黎贡山隧道出口正洞TBM施工区段\n"
+
"高黎贡山隧道42#联络通道\n"
+
"高黎贡山隧道51#联络通道\n"
+
"高黎贡山隧道出口正洞TBM步进段双侧壁段进I线\n"
+
"高黎贡山隧道18#联络通道\n"
+
"高黎贡山隧道31#联络通道\n"
+
"高黎贡山隧道48#联络通道\n"
+
"高黎贡山隧道27#联络通道\n"
+
"高黎贡山隧道26#联络通道\n"
+
"高黎贡山隧道出口明洞\n"
+
"1#斜井平导25号横通道进正洞大里程\n"
+
"高黎贡山隧道54#联络通道\n"
+
"高黎贡山隧道出口正洞车站双线段新增通道小里程\n"
+
"高黎贡山隧道46#联络通道\n"
+
"高黎贡山隧道40#联络通道\n"
+
"1#斜井平导29号横通道进正洞大里程\n"
+
"高黎贡山隧道47#联络通道\n"
+
"高黎贡山隧道23#联络通道\n"
+
"高黎贡山隧道61#联络通道\n"
+
"高黎贡山2#竖井L5疏散联络通道\n"
+
"高黎贡山隧道22#联络通道\n"
+
"高黎贡山2#竖井L3疏散联络通道\n"
+
"高黎贡山2#竖井L9疏散联络通道\n"
+
"高黎贡山隧道59#联络通道\n"
+
"高黎贡山隧道43#联络通道\n"
+
"高黎贡山隧道35#联络通道\n"
+
"高黎贡山隧道39#联络通道\n"
+
"高黎贡山隧道57#联络通道\n"
+
"高黎贡山隧道21#联络通道\n"
+
"高黎贡山隧道89#联络通道\n"
+
"1#斜井进平导小里程\n"
+
"白马山隧道1#横洞小里程\n"
+
"白马山隧道左侧救援平导C3#横通道\n"
+
"白马山隧道进口明洞\n"
+
"白马山隧道进口平导J2#横通道\n"
+
"白马山隧道进口平导J8#横通道\n"
+
"白马山隧道右侧救援平导C5#横通道\n"
+
"白马山隧道右侧救援平导C7#横通道\n"
+
"白马山隧道右侧救援平导C8#横通道\n"
+
"白马山隧道出口\n"
+
"白马山隧道左侧救援平导\n"
+
"白马山隧道进口泄水洞J13#横通道\n"
+
"白马山隧道右侧救援平导\n"
+
"白马山隧道进口洞门\n"
+
"贾家湾隧道进口明洞\n"
+
"贾家湾隧道出口洞门\n"
+
"贾家湾隧道出口\n"
+
"贾家湾隧道出口明洞\n"
+
"宁县一号隧道出口洞门\n"
+
"宁县一号隧道进口明洞大里程方向\n"
+
"宁县一号隧道进口明洞\n"
+
"宁县一号隧道进口\n"
+
"宁县一号隧道进口洞门\n"
+
"宁县二号隧道出口洞门\n"
+
"宁县二号隧道出口明洞\n"
+
"宁县二号隧道进口明洞\n"
+
"宁县二号隧道出口\n"
+
"白马山隧道进口平导J3#横通道\n"
+
"宁县二号隧道进口\n"
+
"大塝隧道出口洞门\n"
+
"大塝隧道出口明洞\n"
+
"大塝隧道进口明洞\n"
+
"大塝隧道进口洞门\n"
+
"姑家山隧道进口明洞\n"
+
"姑家山隧道进口洞门\n"
+
"姑家山隧道出口明洞\n"
+
"姑家山隧道出口洞门\n"
+
"姑家山隧道出口\n"
+
"胡林湾隧道出口明洞\n"
+
"胡林湾隧道进口明洞\n"
+
"重庆长江隧道4#斜井\n"
+
"重庆长江隧道3#斜井\n"
+
"重庆长江隧道4#斜井大里程\n"
+
"重庆长江隧道3#斜井小里程\n"
+
"重庆长江隧道进口明洞(含洞门)\n"
+
"重庆长江隧道2#斜井\n"
+
"慈母山隧道出口\n"
+
"慈母山隧道进口\n"
+
"慈母山隧道进口明洞(含洞门)\n"
+
"慈母山隧道出口洞门\n"
+
"肖家湾隧道出口\n"
+
"肖家湾隧道出口明洞及洞门\n"
+
"宁县三号隧道进口洞门\n"
+
"宁县三号隧道出口洞门\n"
+
"宁县三号隧道出口明洞\n"
+
"宁县三号隧道出口\n"
+
"宁县三号隧道进口\n"
+
"上庄隧道进口洞门\n"
+
"上庄隧道出口明洞\n"
+
"上庄隧道出口洞门\n"
+
"上庄隧道进口\n"
+
"上庄隧道出口\n"
+
"董家湾隧道进口明洞(含洞门)\n"
+
"董家湾隧道进口\n"
+
"董家湾隧道出口明洞(含洞门)\n"
+
"中岭隧道进口\n"
+
"郭家山隧道出口明洞及洞门\n"
+
"郭家山隧道进口明洞及洞门\n"
+
"郭家山隧道进口\n"
+
"郭家山隧道横洞正洞小里程\n"
+
"郭家山隧道横洞\n"
+
"郭家山隧道出口\n"
+
"赵家坡1号隧道出口\n"
+
"赵家坡1号隧道进口明洞及洞门\n"
+
"赵家坡1号隧道出口明洞及洞门\n"
+
"里仁隧道进口洞门\n"
+
"里仁隧道进口明洞\n"
+
"关西隧道出口明洞\n"
+
"关西隧道进口\n"
+
"关西隧道2#斜井\n"
+
"关西隧道出口\n"
+
"关西隧道出口洞门\n"
+
"关西隧道2#斜井小里程方向\n"
+
"关西隧道斜井\n"
+
"关西隧道2#斜井大里程方向\n"
+
"关西隧道斜井小里程方向\n"
+
"关西隧道斜井大里程方向\n"
+
"关西隧道进口明洞(含洞门)\n"
+
"坝子隧道出口明洞\n"
+
"坝子隧道出口洞门\n"
+
"上燕隧道出口\n"
+
"上燕隧道出口洞门\n"
+
"上燕隧道进口洞门\n"
+
"石圳隧道进口洞门\n"
+
"石圳隧道出口洞门\n"
+
"石圳隧道进口\n"
+
"青云山隧道出口\n"
+
"青云山隧道出口明洞\n"
+
"青云山隧道进口洞门\n"
+
"青云山隧道进口\n"
+
"青云山隧道出口洞门\n"
+
"营盘隧道出口明洞\n"
+
"营盘隧道出口\n"
+
"苏家坝一号隧道出口明洞\n"
+
"苏家坝一号隧道进口洞门\n"
+
"苏家坝一号隧道出口洞门\n"
+
"苏家坝一号隧道进口明洞\n"
+
"苏家坝一号隧道出口\n"
+
"苏家坝二号隧道进口明洞\n"
+
"苏家坝二号隧道进口洞门\n"
+
"苏家坝二号隧道出口明洞\n"
+
"苏家坝二号隧道进口\n"
+
"苏家坝二号隧道出口洞门\n"
+
"万峰林隧道进口洞门\n"
+
"昭通隧道2号横洞洞门\n"
+
"昭通隧道8#横通道正洞大里程\n"
+
"昭通隧道2号横洞向大里程平导\n"
+
"烟厂坡隧道进口洞门\n"
+
"烟厂坡隧道出口\n"
+
"烟厂坡隧道出口洞门\n"
+
"烟厂坡隧道进口明洞\n"
+
"烟厂坡隧道出口明洞\n"
+
"新房子隧道进口洞门\n"
+
"新房子隧道进口明洞\n"
+
"新房子隧道出口洞门\n"
+
"新房子隧道出口明洞\n"
+
"新房子隧道出口\n"
+
"高黎贡山2#竖井L4疏散联络通道\n"
+
"1#斜井进正洞小里程\n"
+
"高黎贡山隧道41#联络通道\n"
+
"高黎贡山1#斜井5#联络通道\n"
+
"2#竖井进正洞小里程\n"
+
"高黎贡山隧道出口正洞车站双线段\n"
+
"高黎贡山隧道37#联络通道\n"
+
"高黎贡山1#斜井3#联络通道\n"
+
"高黎贡山1#斜井1#联络通道\n"
+
"高黎贡山1#斜井6#联络通道\n"
+
"高黎贡山2#竖井L2疏散联络通道\n"
+
"高黎贡山隧道49#联络通道\n"
+
"高黎贡山隧道25#联络通道\n"
+
"龚家梁子隧道进口\n"
+
"刘家坪隧道中部横洞大里程\n"
+
"东环左、右联络线隧道2#泄水洞\n"
+
"东环左、右联络线1#泄水洞小里程方向\n"
+
"东环左、右联络线1#泄水洞大里程方向\n"
+
"石桥隧道进口\n"
+
"白家山隧道平导正洞小里程\n"
+
"长水机场隧道2号斜井大里程方向\n"
+
"白云隧道进口小里程\n"
+
"昭通隧道防突揭煤2号钻场\n"
+
"昭通隧道3号横洞\n"
+
"昭通隧道3号横洞支洞\n"
+
"昭通隧道防突揭煤1号钻场\n"
+
"中岭隧道3号平导1号横通道\n"
+
"中岭隧道3号平导3号横通道\n"
+
"中岭隧道3号平导5号横通道\n"
+
"中岭隧道3号平导4号横通道\n"
+
"中岭隧道3#平导正洞大里程\n"
+
"中岭隧道1号平导1号横通道\n"
+
"中岭隧道1号平导4号横通道\n"
+
"中岭隧道2号平导3号横通道\n"
+
"中岭隧道2号平导4号横通道\n"
+
"中岭隧道1号平导3号横通道\n"
+
"中岭隧道3号平导2号横通道\n"
+
"中岭隧道2号平导1号横通道\n"
+
"中岭隧道1号平导2号横通道\n"
+
"张家山隧道2号斜井小里程\n"
+
"观溪隧道进口\n"
+
"保田隧道三号横洞小里程\n"
+
"肖家湾隧道进口\n"
+
"马岭一号隧道进口\n"
+
"凉风村隧道进口洞门\n"
+
"凉风村隧道正洞\n"
+
"凉风村隧道出口洞门\n"
+
"杨家隧道正洞\n"
+
"杨家隧道进口明洞\n"
+
"杨家隧道出口洞门\n"
+
"寨岭坡隧道进口明洞洞门\n"
+
"寨岭坡隧道正洞\n"
+
"寨岭坡隧道出口明洞洞门\n"
+
"寨岭坡隧道出口明洞\n"
+
"寨岭坡隧道进口明洞\n"
+
"邓家寨隧道进口洞门\n"
+
"邓家寨隧道出口明洞\n"
+
"邓家寨隧道正洞\n"
+
"邓家寨隧道进口单压式明洞\n"
+
"姚家堡隧道进口明洞\n"
+
"姚家堡隧道正洞\n"
+
"姚家堡隧道进口洞门\n"
+
"真武村隧道出口洞门\n"
+
"真武村隧道正洞\n"
+
"真武村隧道进口洞门\n"
+
"假角山隧道进口\n"
+
"假角山隧道出口\n"
+
"假角山隧道5号横通道进正洞小里程\n"
+
"假角山隧道进口明洞\n"
+
"假角山隧道出口洞门\n"
+
"假角山隧道3号横通道进正洞大里程\n"
+
"假角山隧道1号横洞正洞大里程\n"
+
"假角山隧道8号横通道进正洞小里程\n"
+
"假角山隧道1号横洞\n"
+
"假角山隧道2号横洞\n"
+
"假角山隧道2号横洞平导小里程\n"
+
"假角山隧道1号横洞平导大里程\n"
+
"黄桷树隧道进口洞门\n"
+
"黄角树隧道出口洞门\n"
+
"黄桷树隧道正洞\n"
+
"尖山堡隧道出口洞门\n"
+
"尖山堡隧道进口明洞\n"
+
"尖山堡隧道进口洞门\n"
+
"尖山堡隧道正洞\n"
+
"搭连寨隧道正洞\n"
+
"邓家隧道正洞\n"
+
"邓家隧道出口明洞\n"
+
"邓家隧道出口洞门\n"
+
"邓家隧道进口洞门\n"
+
"五里隧道进口洞门\n"
+
"五里隧道出口明洞\n"
+
"五里隧道出口洞门\n"
+
"',SiteName)>0)"
);
if
(
dbs
==
null
){
setAttr
(
"msg"
,
"无法找到工点id"
);
setAttr
(
"success"
,
false
);
}
List
<
Record
>
record
=
new
java
.
util
.
ArrayList
<>();
List
<
String
>
sTitles
=
new
ArrayList
();
List
<
String
>
mapKeys
=
new
ArrayList
();
sTitles
.
add
(
"设计地质近一个月"
);
sTitles
.
add
(
"地质预报近一个月"
);
sTitles
.
add
(
"地质预报近三个月"
);
sTitles
.
add
(
"设计地质近三个月"
);
sTitles
.
add
(
"综合结论近一个月"
);
sTitles
.
add
(
"综合结论近一个月"
);
sTitles
.
add
(
"处置记录近一个月"
);
sTitles
.
add
(
"处置记录近三个月"
);
sTitles
.
add
(
"设计预报近一个月"
);
sTitles
.
add
(
"设计预报近三个月"
);
sTitles
.
add
(
"工点"
);
sTitles
.
add
(
"标段"
);
for
(
Record
item:
dbs
)
{
Record
NEW
=
new
Record
();
Record
D
=
dbService
.
SqlCnntoMysqlCon
(
item
.
getStr
(
"SqlCnnString"
));
String
ddd
=
D
.
getStr
(
"db"
);
i
++;
//统计资料数量
NEW
.
set
(
"工点"
,
item
.
getStr
(
"SiteName"
));
Record
db
=
Db
.
findFirst
(
"select * from scf_segment where Scf_SegmentID='"
+
item
.
getStr
(
"Scf_SegmentID"
)+
"'"
);
NEW
.
set
(
"标段"
,
db
==
null
?
""
:
db
.
getStr
(
"SegName"
));
Record
gd
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_commonInfo WHERE CreationDate >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd1
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_commonInfo WHERE CreationDate >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"地质预报近一个月"
,
gd
.
getStr
(
"conunt"
));
NEW
.
set
(
"地质预报近三个月"
,
gd1
.
getStr
(
"conunt"
));
Record
gd2
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designlevel WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd3
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designlevel WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"设计围岩近一个月"
,
gd2
.
getStr
(
"conunt"
));
NEW
.
set
(
"设计围岩近三个月"
,
gd3
.
getStr
(
"conunt"
));
Record
gd4
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designmethod WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd5
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designmethod WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"设计预报近一个月"
,
gd4
.
getStr
(
"conunt"
));
NEW
.
set
(
"设计预报近三个月"
,
gd5
.
getStr
(
"conunt"
));
Record
gd6
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designrisk WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd7
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_designrisk WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"设计地质近一个月"
,
gd6
.
getStr
(
"conunt"
));
NEW
.
set
(
"设计地质近三个月"
,
gd7
.
getStr
(
"conunt"
));
Record
gd8
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_warninfo WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd9
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_warninfo WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"综合结论近一个月"
,
gd8
.
getStr
(
"conunt"
));
NEW
.
set
(
"综合结论近三个月"
,
gd9
.
getStr
(
"conunt"
));
Record
gd10
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_warndeal WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 1 MONTH) "
);
Record
gd11
=
Db
.
use
(
ddd
).
findFirst
(
"SELECT count(*) as conunt FROM fgp_warndeal WHERE CreationTime >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) "
);
NEW
.
set
(
"处置记录近一个月"
,
gd10
.
getStr
(
"conunt"
));
NEW
.
set
(
"处置记录近三个月"
,
gd11
.
getStr
(
"conunt"
));
// record.add(NEW);
// Thread.sleep(500);
System
.
out
.
println
(
i
);
// if (i==1){
// CsvUtil.writeToCsv(String.join(",",sTitles), NEW, "d:/text1.csv", false);
// }else {
CsvUtil
.
writeToCsv
(
String
.
join
(
","
,
sTitles
),
NEW
,
"d:/text1.csv"
,
true
);
//}
}
// ByteArrayOutputStream stream= CsvUtil.doExport(String.join(",",sTitles).split(",") ,String.join(",",sTitles).split(","),record );
// File file = new File("d:/text.csv");
// if (!file.getParentFile().exists())
// file.getParentFile().mkdirs();
// FileOutputStream fos = new FileOutputStream(file);
// fos.write(stream.toByteArray(),0,stream.size());
// fos.flush();
// stream.close();
// fos.close();
setAttr
(
"success"
,
true
);
}
catch
(
Exception
ex
)
{
System
.
out
.
println
(
ex
.
getMessage
());
setAttr
(
"msg"
,
ex
.
getLocalizedMessage
());
setAttr
(
"code"
,
0
);
setAttr
(
"count"
,
0
);
setAttr
(
"data"
,
null
);
setAttr
(
"success"
,
false
);
}
renderJson
();
}
}
}
src/main/java/com/gs/utils/CsvUtil.java
0 → 100644
View file @
83b565a5
package
com
.
gs
.
utils
;
import
java.io.*
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.lang3.StringUtils
;
import
com.jfinal.plugin.activerecord.Record
;
import
org.apache.commons.csv.CSVFormat
;
import
org.apache.commons.csv.CSVParser
;
import
org.apache.commons.csv.CSVPrinter
;
import
org.apache.commons.csv.CSVRecord
;
public
class
CsvUtil
{
//CSV文件分隔符
private
final
static
String
NEW_LINE_SEPARATOR
=
"\n"
;
/** CSV文件列分隔符 */
private
static
final
String
CSV_COLUMN_SEPARATOR
=
","
;
/** CSV文件列分隔符 */
private
static
final
String
CSV_RN
=
"\r\n"
;
/**写入csv文件
* @param headers 列头
* @param data 数据内容
* @param filePath 创建的csv文件路径
* @throws IOException **/
public
static
void
writeCsvWithHeader
(
String
[]
headers
,
List
<
Object
[]>
data
,
String
filePath
)
{
//初始化csvformat
CSVFormat
format
=
CSVFormat
.
DEFAULT
.
withHeader
(
headers
);
try
{
//根据路径创建文件,并设置编码格式
FileOutputStream
fos
=
new
FileOutputStream
(
filePath
);
OutputStreamWriter
osw
=
new
OutputStreamWriter
(
fos
,
"GBK"
);
//创建CSVPrinter对象
CSVPrinter
printer
=
new
CSVPrinter
(
osw
,
format
);
if
(
null
!=
data
){
//循环写入数据
for
(
Object
[]
lineData:
data
){
printer
.
printRecord
(
lineData
);
}
}
printer
.
flush
();
printer
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
/**写入csv文件
* @param headers 列头
* @param data 数据内容
* @param filePath 创建的csv文件路径
* @throws IOException **/
public
static
void
writeCsvWithRecordSeparator
(
Object
[]
headers
,
List
<
Object
[]>
data
,
String
filePath
){
//初始化csvformat
CSVFormat
format
=
CSVFormat
.
DEFAULT
.
withRecordSeparator
(
NEW_LINE_SEPARATOR
);
try
{
//根据路径创建文件,并设置编码格式
FileOutputStream
fos
=
new
FileOutputStream
(
filePath
);
OutputStreamWriter
osw
=
new
OutputStreamWriter
(
fos
,
"GBK"
);
//创建CSVPrinter对象
CSVPrinter
printer
=
new
CSVPrinter
(
osw
,
format
);
//写入列头数据
printer
.
printRecord
(
headers
);
if
(
null
!=
data
){
//循环写入数据
for
(
Object
[]
lineData:
data
){
printer
.
printRecord
(
lineData
);
}
}
printer
.
flush
();
printer
.
close
();
System
.
out
.
println
(
"CSV文件创建成功,文件路径:"
+
filePath
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
/**
* @filePath 文件路径
*/
public
static
List
<
CSVRecord
>
readCsvParse
(
String
filePath
){
List
<
CSVRecord
>
records
=
new
ArrayList
<>();
try
{
FileInputStream
in
=
new
FileInputStream
(
filePath
);
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
in
,
"GBK"
));
CSVParser
parser
=
CSVFormat
.
EXCEL
.
parse
(
reader
);
records
=
parser
.
getRecords
();
parser
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
return
records
;
}
}
/**
* 自定义字段
* @filePath 文件路径
*/
public
static
List
<
CSVRecord
>
readCsvParseWithHeader
(
String
filePath
,
String
[]
headers
){
List
<
CSVRecord
>
records
=
new
ArrayList
<>();
try
{
FileInputStream
in
=
new
FileInputStream
(
filePath
);
BufferedReader
reader
=
new
BufferedReader
(
new
InputStreamReader
(
in
,
"GBK"
));
CSVParser
parser
=
CSVFormat
.
EXCEL
.
withHeader
(
headers
).
parse
(
reader
);
records
=
parser
.
getRecords
();
/*for (CSVRecord record : parser.getRecords()) {
System.out.println(record.get("id") + ","
+ record.get("name") + ","
+ record.get("code"));
}*/
parser
.
close
();
}
catch
(
IOException
e
){
e
.
printStackTrace
();
}
finally
{
return
records
;
}
}
/**
* 导出至多个csv文件
* */
// public void writeMuti() throws InterruptedException {
// ExecutorService executorService = Executors.newFixedThreadPool(3);
// CountDownLatch doneSignal = new CountDownLatch(2);
//
// List<Map<String, String>> recordList = new ArrayList<>();
//
// executorService.submit(new CsvExportThread("E:/0.csv", recordList, doneSignal));
// executorService.submit(new CsvExportThread("E:/1.csv", recordList, doneSignal));
//
// doneSignal.await();
// System.out.println("Finish!!!");
// }
/**
* @param colNames 表头部数据
* @param dataList 集合数据
* @param mapKeys 查找的对应数据
*/
public
static
ByteArrayOutputStream
doExport
(
String
[]
colNames
,
String
[]
mapKeys
,
List
<
Record
>
dataList
)
{
try
{
StringBuffer
buf
=
new
StringBuffer
();
// 完成数据csv文件的封装
// 输出列头
for
(
int
i
=
0
;
i
<
colNames
.
length
;
i
++)
{
buf
.
append
(
colNames
[
i
]).
append
(
CSV_COLUMN_SEPARATOR
);
}
buf
.
append
(
CSV_RN
);
if
(
null
!=
dataList
)
{
// 输出数据
for
(
Record
item:
dataList
)
{
for
(
int
j
=
0
;
j
<
mapKeys
.
length
;
j
++)
{
//jeesite 模型和数据不同解析出来的数据获取不到createDate,真垃圾
buf
.
append
(
item
.
getStr
(
mapKeys
[
j
])).
append
(
CSV_COLUMN_SEPARATOR
);
}
buf
.
append
(
CSV_RN
);
}
}
// 写出响应
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
();
//OutputStream os = new ByteArrayOutputStream();
os
.
write
(
buf
.
toString
().
getBytes
(
"GBK"
));
os
.
flush
();
os
.
close
();
return
os
;
}
catch
(
Exception
e
)
{
// LogUtils.error("doExport错误...", e);
e
.
printStackTrace
();
}
return
null
;
}
/**
* CSV文件生成方法 字符流追加:FileWriter writer = new FileWriter(file,true)
*
* @param headLabel 头部标签
* @param dataList 数据列表
* @param filePath 文件路径
* @param addFlag 是否追加
*/
public
static
void
writeToCsv
(
String
headLabel
,
Record
dataList
,
String
filePath
,
boolean
addFlag
)
{
BufferedWriter
buffWriter
=
null
;
try
{
//根据指定路径构建文件对象
File
csvFile
=
new
File
(
filePath
);
//文件输出流对象,第二个参数时boolean类型,为true表示文件追加(在已有的文件中追加内容)
// FileWriter writer = new FileWriter(csvFile, addFlag);
OutputStreamWriter
out
=
new
OutputStreamWriter
(
new
FileOutputStream
(
csvFile
,
addFlag
),
"GBK"
);
//构建缓存字符输出流(不推荐使用OutputStreamWriter)
buffWriter
=
new
BufferedWriter
(
out
,
1024
);
//头部不为空则写入头部,并且换行
if
(!
addFlag
){
if
(
StringUtils
.
isNotBlank
(
headLabel
))
{
buffWriter
.
write
(
headLabel
);
buffWriter
.
newLine
();
}
}
//遍历list
for
(
String
itme
:
headLabel
.
split
(
","
))
{
//如果数据不为空,则写入文件内容,并且换行
// if (StringUtils.isNotBlank(rowStr)) {
buffWriter
.
write
(
dataList
.
getStr
(
itme
)+
","
);
//}
}
buffWriter
.
newLine
();
//文件写完最后一个换行不用处理
//刷新流,也就是把缓存中剩余的内容输出到文件
buffWriter
.
flush
();
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"写入csv出现异常"
);
e
.
printStackTrace
();
}
finally
{
try
{
//关闭流
if
(
buffWriter
!=
null
)
{
buffWriter
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
/**
* 根据文件路径读取csv文件的内容
*
* @param filePath
* @return
*/
public
static
List
<
String
>
readFromCsv
(
String
filePath
)
{
ArrayList
<
String
>
dataList
=
new
ArrayList
<>();
BufferedReader
buffReader
=
null
;
try
{
//构建文件对象
File
csvFile
=
new
File
(
filePath
);
//判断文件是否存在
if
(!
csvFile
.
exists
())
{
System
.
out
.
println
(
"文件不存在"
);
return
dataList
;
}
//构建字符输入流
FileReader
fileReader
=
new
FileReader
(
csvFile
);
//构建缓存字符输入流
buffReader
=
new
BufferedReader
(
fileReader
);
String
line
=
""
;
//根据合适的换行符来读取一行数据,赋值给line
while
((
line
=
buffReader
.
readLine
())
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
line
))
{
//数据不为空则加入列表
dataList
.
add
(
line
);
}
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"读取csv文件发生异常"
);
e
.
printStackTrace
();
}
finally
{
try
{
//关闭流
if
(
buffReader
!=
null
)
{
buffReader
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
return
dataList
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment