Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjsgfa_mysql
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyun
zjsgfa_mysql
Commits
7f11f763
Commit
7f11f763
authored
Sep 17, 2025
by
jiang'yun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
99e3adff
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
190 additions
and
55 deletions
+190
-55
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjDjjcController.java
+127
-22
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjFdfxController.java
+22
-1
src/main/java/com/zjsgfa/project/zjsgfa/domain/SjFdfx.java
+8
-7
src/main/java/com/zjsgfa/project/zjsgfa/service/ISjFdfxService.java
+1
-0
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/SjFdfxServiceImpl.java
+32
-25
No files found.
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjDjjcController.java
View file @
7f11f763
...
...
@@ -1794,28 +1794,6 @@ public class SjDjjcController extends BaseController
param
.
setJh
(
jh
);
List
<
SjDcfxDzfc
>
dzfcList
=
djdcService
.
getDzfcList2
(
param
);
List
<
SjFdfx
>
sjFdfxList
=
new
ArrayList
<>();
double
ksjs
=
0
;
for
(
int
i
=
0
;
i
<
sjJsjgList
.
size
();
i
++)
{
if
(
i
==
0
)
{
ksjs
=
0
;
}
else
{
//上一次的垂深
ksjs
=
sjJsjgList
.
get
(
i
-
1
).
getJs
();
}
}
for
(
SjDcfxDzfc
sjDcfxDzfc
:
dzfcList
){
SjFdfx
sjFdfx
=
new
SjFdfx
();
BeanUtils
.
copyProperties
(
sjDcfxDzfc
,
sjFdfx
);
sjFdfx
.
setZbid
(
id
);
sjFdfxList
.
add
(
sjFdfx
);
}
if
(
sjFdfxList
.
size
()>
0
){
sjFdfxMapper
.
deleteSjFdfxByZbid
(
id
);
sjFdfxMapper
.
insertSjFdfxBatch
(
sjFdfxList
);
}
if
(
dzfcList
.
size
()>
0
){
sjDcfxDzfcMapper
.
deleteSjDcfxDzfcByJh
(
jh
);
sjDcfxDzfcMapper
.
insertSjDcfxDzfcBatch
(
dzfcList
);
...
...
@@ -1834,11 +1812,17 @@ public class SjDjjcController extends BaseController
double
targetCs
=
CxszhUtil
.
getCs
(
sjJygjGdsjgdcsList
,
sjJsjg
.
getJs
());
csaa
=
targetCs
;
sjFdsgcsDcyxList
.
addAll
(
processAndDisplay
(
dzfcList
,
previousDepth
,
targetCs
,
jh
,
sjJsjg
.
getKc
()));
sjFdfxList
.
addAll
(
processAndDisplayFd
(
dzfcList
,
previousDepth
,
targetCs
,
jh
,
sjJsjg
.
getKc
(),
sjJygjGdsjgdcsList
,
id
));
}
if
(
sjFdsgcsDcyxList
.
size
()
>
0
)
{
sjFdsgcsDcyxMapper
.
deleteSjFdsgcsDcyxByJh
(
jh
);
sjFdsgcsDcyxMapper
.
insertSjFdsgcsDcyxBatch
(
sjFdsgcsDcyxList
);
}
if
(
sjFdfxList
.
size
()>
0
){
sjFdfxMapper
.
deleteSjFdfxByZbid
(
id
);
sjFdfxMapper
.
insertSjFdfxBatch
(
sjFdfxList
);
}
}
}
catch
(
IOException
e
)
{
e
.
getMessage
();
...
...
@@ -1852,6 +1836,39 @@ public class SjDjjcController extends BaseController
return
AjaxResult
.
success
(
"导入成功"
);
}
@GetMapping
(
"/tqfdfx"
)
public
AjaxResult
tqfdfx
(
SjDjjc
sjDjjc
)
throws
Exception
{
SjDjjc
sjDjjcnew
=
sjDjjcService
.
selectSjDjjcById
(
sjDjjc
.
getId
());
String
jh
=
sjDjjcnew
.
getJh
();
SjDcfxDzfc
sjDcfxDzfc
=
new
SjDcfxDzfc
();
sjDcfxDzfc
.
setJh
(
sjDjjcnew
.
getJh
());
List
<
SjDcfxDzfc
>
dzfcList
=
sjDcfxDzfcMapper
.
selectSjDcfxDzfcList
(
sjDcfxDzfc
);
SjJsjg
sjJsjg1
=
new
SjJsjg
();
sjJsjg1
.
setJh
(
sjDjjcnew
.
getJh
());
List
<
SjJsjg
>
sjJsjgList
=
sjJsjgMapper
.
selectSjJsjgList
(
sjJsjg1
);
SjJygjGdsjgdcs
sjJygjGdsjgdcs
=
new
SjJygjGdsjgdcs
();
sjJygjGdsjgdcs
.
setJh
(
sjDjjcnew
.
getJh
());
List
<
SjJygjGdsjgdcs
>
sjJygjGdsjgdcsList
=
sjJygjGdsjgdcsMapper
.
selectSjJygjGdsjgdcsList
(
sjJygjGdsjgdcs
);
List
<
SjFdfx
>
sjFdfxList
=
new
ArrayList
<>();
double
previousDepth
=
0
;
double
csaa
=
0
;
for
(
int
i
=
0
;
i
<
sjJsjgList
.
size
();
i
++)
{
SjJsjg
sjJsjg
=
sjJsjgList
.
get
(
i
);
if
(
i
==
0
)
{
previousDepth
=
0
;
}
else
{
//上一次的垂深
previousDepth
=
csaa
;
}
//计算垂深
double
targetCs
=
CxszhUtil
.
getCs
(
sjJygjGdsjgdcsList
,
sjJsjg
.
getJs
());
csaa
=
targetCs
;
sjFdfxList
.
addAll
(
processAndDisplayFd
(
dzfcList
,
previousDepth
,
targetCs
,
jh
,
sjJsjg
.
getKc
(),
sjJygjGdsjgdcsList
,
sjDjjcnew
.
getId
()));
}
return
AjaxResult
.
success
(
sjFdfxList
);
}
private
static
List
<
SjFdsgcsDcyx
>
processAndDisplay
(
List
<
SjDcfxDzfc
>
stratumList
,
double
kscs
,
double
targetCs
,
String
jh
,
String
kc
)
{
...
...
@@ -1904,6 +1921,60 @@ public class SjDjjcController extends BaseController
private
static
List
<
SjFdfx
>
processAndDisplayFd
(
List
<
SjDcfxDzfc
>
stratumList
,
double
kscs
,
double
targetCs
,
String
jh
,
String
kc
,
List
<
SjJygjGdsjgdcs
>
sjJygjGdsjgdcsList
,
Long
id
)
{
List
<
SjFdfx
>
list
=
new
ArrayList
<>();
System
.
out
.
println
(
"名称\t井段垂深 / m"
);
double
previousDepth
=
kscs
;
// 从kscs开始计算
boolean
foundStartingPoint
=
false
;
System
.
out
.
println
(
"名称\t井段垂深 / m"
);
for
(
SjDcfxDzfc
stratum
:
stratumList
)
{
double
currentDepth
=
stratum
.
getCs
();
// 如果还没找到起始点,且当前地层深度小于kscs,跳过
if
(!
foundStartingPoint
&&
currentDepth
<
kscs
)
{
continue
;
}
// 标记已找到起始点
foundStartingPoint
=
true
;
// 确定当前地层的显示结束深度
double
endDepth
=
Math
.
min
(
currentDepth
,
targetCs
);
SjFdfx
sjFdfx
=
new
SjFdfx
();
sjFdfx
.
setZbid
(
id
);
sjFdfx
.
setJh
(
jh
);
sjFdfx
.
setKc
(
kc
);
sjFdfx
.
setDzfc
(
stratum
.
getDzfc
());
sjFdfx
.
setCs
(
endDepth
);
//计算斜深
sjFdfx
.
setXs
(
getJs
(
sjJygjGdsjgdcsList
,
endDepth
));
sjFdfx
.
setYxts
(
stratum
.
getYxts
());
sjFdfx
.
setYqsts
(
stratum
.
getYqsts
());
sjFdfx
.
setGzts
(
stratum
.
getGzts
());
list
.
add
(
sjFdfx
);
// 更新上一个深度
previousDepth
=
currentDepth
;
// 如果当前地层已经超过cs参数,结束处理
if
(
currentDepth
>=
targetCs
)
{
break
;
}
}
return
list
;
}
public
static
double
getCs
(
List
<
SjJygjGdsjgdcs
>
yjMnJygjJgList
,
double
js
){
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
...
...
@@ -1940,6 +2011,40 @@ public class SjDjjcController extends BaseController
return
Double
.
parseDouble
(
df
.
format
(
cs
));
}
public
static
double
getJs
(
List
<
SjJygjGdsjgdcs
>
yjMnJygjJgList
,
double
cs
)
{
// 创建DecimalFormat对象,用于保留两位小数
DecimalFormat
df
=
new
DecimalFormat
(
"#.00"
);
double
js
=
0
;
// 遍历所有数据点
for
(
int
i
=
0
;
i
<
yjMnJygjJgList
.
size
();
i
++)
{
SjJygjGdsjgdcs
jg
=
yjMnJygjJgList
.
get
(
i
);
double
currentCs
=
jg
.
getCs
();
// 找到垂深大于等于目标垂深的点
if
(
currentCs
>=
cs
)
{
// 如果是第一个点,直接返回该点的斜深
if
(
i
==
0
)
{
js
=
yjMnJygjJgList
.
get
(
i
).
getJs
();
break
;
}
else
{
// 找到目标垂深所在的区间,进行线性插值计算斜深
double
prevCs
=
yjMnJygjJgList
.
get
(
i
-
1
).
getCs
();
double
prevJs
=
yjMnJygjJgList
.
get
(
i
-
1
).
getJs
();
double
currJs
=
yjMnJygjJgList
.
get
(
i
).
getJs
();
// 计算插值比例
double
ratio
=
(
cs
-
prevCs
)
/
(
currentCs
-
prevCs
);
// 线性插值计算斜深
js
=
prevJs
+
ratio
*
(
currJs
-
prevJs
);
break
;
}
}
}
// 格式化结果并返回
return
Double
.
parseDouble
(
df
.
format
(
js
));
}
public
static
String
extractNumber
(
String
str
)
{
// 正则表达式:匹配-或~,然后捕获后面的数字
...
...
src/main/java/com/zjsgfa/project/zjsgfa/controller/SjFdfxController.java
View file @
7f11f763
...
...
@@ -2,6 +2,8 @@ package com.zjsgfa.project.zjsgfa.controller;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
com.zjsgfa.project.system.domain.SysUser
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -20,6 +22,7 @@ import com.zjsgfa.framework.web.controller.BaseController;
import
com.zjsgfa.framework.web.domain.AjaxResult
;
import
com.zjsgfa.common.utils.poi.ExcelUtil
;
import
com.zjsgfa.framework.web.page.TableDataInfo
;
import
org.springframework.web.multipart.MultipartFile
;
/**
* 设计-分段分析Controller
...
...
@@ -41,7 +44,7 @@ public class SjFdfxController extends BaseController
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
SjFdfx
sjFdfx
)
{
startPage
();
//
startPage();
List
<
SjFdfx
>
list
=
sjFdfxService
.
selectSjFdfxList
(
sjFdfx
);
return
getDataTable
(
list
);
}
...
...
@@ -109,4 +112,22 @@ public class SjFdfxController extends BaseController
return
toAjax
(
sjFdfxService
.
pladd
(
sjFdfx
));
}
@PostMapping
(
"/importData"
)
public
AjaxResult
importData
(
MultipartFile
file
,
Long
zbid
)
throws
Exception
{
ExcelUtil
<
SjFdfx
>
util
=
new
ExcelUtil
<
SjFdfx
>(
SjFdfx
.
class
);
List
<
SjFdfx
>
sjFdfxList
=
util
.
importExcel
(
file
.
getInputStream
());
sjFdfxList
.
forEach
(
sjFdfx
->
sjFdfx
.
setZbid
(
zbid
));
if
(
sjFdfxList
.
size
()>
0
){
sjFdfxService
.
importData
(
sjFdfxList
);
}
return
success
(
"导入成功!"
);
}
}
src/main/java/com/zjsgfa/project/zjsgfa/domain/SjFdfx.java
View file @
7f11f763
...
...
@@ -23,15 +23,16 @@ public class SjFdfx extends BaseEntity
private
Long
id
;
/** 主表id */
@Excel
(
name
=
"主表id"
)
//
@Excel(name = "主表id")
private
Long
zbid
;
private
String
kc
;
/** 井号 */
@Excel
(
name
=
"井号"
)
private
String
jh
;
@Excel
(
name
=
"开次"
)
private
String
kc
;
/** 地质分层 */
@Excel
(
name
=
"地质分层"
)
private
String
dzfc
;
...
...
@@ -41,7 +42,7 @@ public class SjFdfx extends BaseEntity
private
Double
cs
;
/** 井身 */
@Excel
(
name
=
"井
身
"
)
@Excel
(
name
=
"井
深
"
)
private
Double
xs
;
/** 岩性提示 */
...
...
@@ -57,7 +58,7 @@ public class SjFdfx extends BaseEntity
private
String
gzts
;
/** 工程地质分段合并id */
@Excel
(
name
=
"工程地质分段合并id"
)
//
@Excel(name = "工程地质分段合并id")
private
String
gcdzfdid
;
/** 工程地质分段 */
...
...
@@ -65,7 +66,7 @@ public class SjFdfx extends BaseEntity
private
String
gcdzfd
;
/** 划分依据合并id */
@Excel
(
name
=
"划分依据合并id"
)
//
@Excel(name = "划分依据合并id")
private
String
hfyjid
;
/** 划分依据 */
...
...
src/main/java/com/zjsgfa/project/zjsgfa/service/ISjFdfxService.java
View file @
7f11f763
...
...
@@ -61,4 +61,5 @@ public interface ISjFdfxService
int
pladd
(
SjFdfx
sjFdfx
);
int
importData
(
List
<
SjFdfx
>
sjFdfxList
);
}
src/main/java/com/zjsgfa/project/zjsgfa/service/impl/SjFdfxServiceImpl.java
View file @
7f11f763
...
...
@@ -102,32 +102,39 @@ public class SjFdfxServiceImpl implements ISjFdfxService
if
(
list
.
size
()==
0
){
return
0
;
}
List
<
SjFdfx
>
collect
=
list
.
stream
().
filter
(
it
->
StringUtils
.
isEmpty
(
it
.
getGcdzfdid
())).
collect
(
Collectors
.
toList
());
Map
<
String
,
List
<
SjFdfx
>>
groupedByList
=
list
.
stream
().
filter
(
it
->
StringUtils
.
isNotEmpty
(
it
.
getGcdzfdid
())).
collect
(
Collectors
.
toList
()).
stream
()
.
collect
(
Collectors
.
groupingBy
(
SjFdfx:
:
getGcdzfdid
));
List
<
SjFdfx
>
addList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
List
<
SjFdfx
>>
entry
:
groupedByList
.
entrySet
())
{
List
<
SjFdfx
>
sjFdfxList
=
entry
.
getValue
();
SjFdfx
sjFdfx1
=
sjFdfxList
.
stream
().
filter
(
item
->
StringUtils
.
isNotEmpty
(
item
.
getGcdzfd
())).
findFirst
().
orElse
(
null
);
String
gcdzfd
=
""
;
if
(
sjFdfx1
!=
null
){
gcdzfd
=
sjFdfx1
.
getGcdzfd
();
}
SjFdfx
sjFdfx2
=
sjFdfxList
.
stream
().
filter
(
item
->
StringUtils
.
isNotEmpty
(
item
.
getHfyj
())).
findFirst
().
orElse
(
null
);
String
fdyj
=
""
;
if
(
sjFdfx2
!=
null
){
fdyj
=
sjFdfx2
.
getHfyj
();
}
for
(
SjFdfx
item:
sjFdfxList
){
item
.
setGcdzfd
(
gcdzfd
);
item
.
setHfyj
(
fdyj
);
addList
.
add
(
item
);
}
}
addList
.
addAll
(
collect
);
//
List<SjFdfx> collect = list.stream().filter(it -> StringUtils.isEmpty(it.getGcdzfdid())).collect(Collectors.toList());
//
Map<String, List<SjFdfx>> groupedByList = list.stream().filter(it -> StringUtils.isNotEmpty(it.getGcdzfdid())).collect(Collectors.toList()).stream()
//
.collect(Collectors.groupingBy(SjFdfx::getGcdzfdid));
//
List<SjFdfx> addList =new ArrayList<>();
//
for (Map.Entry<String, List<SjFdfx>> entry : groupedByList.entrySet()) {
//
List<SjFdfx> sjFdfxList = entry.getValue();
//
SjFdfx sjFdfx1 = sjFdfxList.stream().filter(item -> StringUtils.isNotEmpty(item.getGcdzfd())).findFirst().orElse(null);
//
String gcdzfd="";
//
if(sjFdfx1!=null){
//
gcdzfd= sjFdfx1.getGcdzfd();
//
}
//
//
SjFdfx sjFdfx2 = sjFdfxList.stream().filter(item -> StringUtils.isNotEmpty(item.getHfyj())).findFirst().orElse(null);
//
String fdyj="";
//
if(sjFdfx2!=null){
//
fdyj= sjFdfx2.getHfyj();
//
}
//
for(SjFdfx item:sjFdfxList){
//
item.setGcdzfd(gcdzfd);
//
item.setHfyj(fdyj);
//
addList.add(item);
//
}
//
}
//
addList.addAll(collect);
//删除数据
sjFdfxMapper
.
deleteSjFdfxByZbid
(
list
.
get
(
0
).
getZbid
());
return
sjFdfxMapper
.
insertSjFdfxBatch
(
addList
);
return
sjFdfxMapper
.
insertSjFdfxBatch
(
list
);
}
@Override
public
int
importData
(
List
<
SjFdfx
>
sjFdfxList
)
{
//删除数据
sjFdfxMapper
.
deleteSjFdfxByZbid
(
sjFdfxList
.
get
(
0
).
getZbid
());
return
sjFdfxMapper
.
insertSjFdfxBatch
(
sjFdfxList
);
}
}
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