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
39afd744
Commit
39afd744
authored
Aug 20, 2025
by
jiang'yun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
6437b264
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
174 additions
and
19 deletions
+174
-19
src/main/java/com/ruoyi/project/zjsgfa/controller/SjDjjcController.java
+56
-1
src/main/java/com/ruoyi/project/zjsgfa/controller/SjFdsgcsZjyFdxnbController.java
+13
-13
src/main/java/com/ruoyi/project/zjsgfa/mapper/SjFdsgcsZjyFdxnbMapper.java
+5
-0
src/main/java/com/ruoyi/project/zjsgfa/service/ISjFdsgcsZjyFdxnbService.java
+3
-1
src/main/java/com/ruoyi/project/zjsgfa/service/impl/SjFdsgcsZjyFdxnbServiceImpl.java
+68
-3
src/main/java/com/ruoyi/project/zjsgfa/service/impl/SjSggyZjyFdxnbServiceImpl.java
+2
-1
src/main/resources/mybatis/zjsgfa/SjFdsgcsZjyFdxnbMapper.xml
+27
-0
src/main/resources/static/excel/sjdrmb.xlsx
+0
-0
No files found.
src/main/java/com/ruoyi/project/zjsgfa/controller/SjDjjcController.java
View file @
39afd744
...
@@ -5,6 +5,8 @@ import java.math.BigDecimal;
...
@@ -5,6 +5,8 @@ import java.math.BigDecimal;
import
java.net.URLEncoder
;
import
java.net.URLEncoder
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -169,6 +171,9 @@ public class SjDjjcController extends BaseController
...
@@ -169,6 +171,9 @@ public class SjDjjcController extends BaseController
@Autowired
@Autowired
private
SjSggyZjyFdxnbMapper
sjSggyZjyFdxnbMapper
;
private
SjSggyZjyFdxnbMapper
sjSggyZjyFdxnbMapper
;
@Autowired
private
SjFdsgcsZjyFdxnbMapper
sjFdsgcsZjyFdxnbMapper
;
...
@@ -937,18 +942,25 @@ public class SjDjjcController extends BaseController
...
@@ -937,18 +942,25 @@ public class SjDjjcController extends BaseController
//钻井液 分段钻井液性能设计表 ---------------------------------------------------
//钻井液 分段钻井液性能设计表 ---------------------------------------------------
List
<
SjZjyFdxnb
>
sjZjyFdxnbList
=
new
ArrayList
<>();
List
<
SjZjyFdxnb
>
sjZjyFdxnbList
=
new
ArrayList
<>();
List
<
SjSggyZjyFdxnb
>
sjSggyZjyFdxnbList
=
new
ArrayList
<>();
List
<
SjSggyZjyFdxnb
>
sjSggyZjyFdxnbList
=
new
ArrayList
<>();
List
<
SjFdsgcsZjyFdxnb
>
sjFdsgcsZjyFdxnbList
=
new
ArrayList
<>();
DataFormatter
dataFormatter
=
new
DataFormatter
();
DataFormatter
dataFormatter
=
new
DataFormatter
();
lastRowNum
=
sheet
.
getLastRowNum
();
lastRowNum
=
sheet
.
getLastRowNum
();
// 第一步:解析表头,确定动态井段(从第 12 列开始,第 0 列是项目列,从第 1 列往后是井段列)
// 第一步:解析表头,确定动态井段(从第 12 列开始,第 0 列是项目列,从第 1 列往后是井段列)
Row
headerRow
=
sheet
.
getRow
(
1
);
// 假设表头在第 0 行(根据实际 Excel 结构调整)
Row
headerRow
=
sheet
.
getRow
(
1
);
// 假设表头在第 0 行(根据实际 Excel 结构调整)
int
ksl
=
13
;
List
<
String
>
wellSegments
=
new
ArrayList
<>();
List
<
String
>
wellSegments
=
new
ArrayList
<>();
if
(
headerRow
!=
null
)
{
if
(
headerRow
!=
null
)
{
int
lastCellNum
=
headerRow
.
getLastCellNum
();
int
lastCellNum
=
headerRow
.
getLastCellNum
();
for
(
int
k
=
13
;
k
<
lastCellNum
;
k
++)
{
// 第 0 列是“项目”,从第 1 列开始是井段
for
(
int
k
=
13
;
k
<
lastCellNum
;
k
++)
{
// 第 0 列是“项目”,从第 1 列开始是井段
Cell
cell
=
headerRow
.
getCell
(
k
);
Cell
cell
=
headerRow
.
getCell
(
k
);
if
(
cell
!=
null
)
{
if
(
cell
!=
null
)
{
String
segment
=
dataFormatter
.
formatCellValue
(
cell
);
String
segment
=
dataFormatter
.
formatCellValue
(
cell
);
if
(
"0-451m或0~451m"
.
equals
(
segment
)){
ksl
=
14
;
continue
;
}
wellSegments
.
add
(
segment
);
wellSegments
.
add
(
segment
);
}
}
}
}
...
@@ -970,7 +982,8 @@ public class SjDjjcController extends BaseController
...
@@ -970,7 +982,8 @@ public class SjDjjcController extends BaseController
if
(
StringUtils
.
isEmpty
(
xm
)){
if
(
StringUtils
.
isEmpty
(
xm
)){
continue
;
continue
;
}
}
String
value
=
dataFormatter
.
formatCellValue
(
xmRow
.
getCell
(
k
+
13
));
String
value
=
dataFormatter
.
formatCellValue
(
xmRow
.
getCell
(
k
+
ksl
));
String
fieldName
=
DrillingFluidConstant
.
ITEM_FIELD_MAP
.
get
(
xm
);
String
fieldName
=
DrillingFluidConstant
.
ITEM_FIELD_MAP
.
get
(
xm
);
if
(
StringUtils
.
isEmpty
(
fieldName
)){
if
(
StringUtils
.
isEmpty
(
fieldName
)){
continue
;
continue
;
...
@@ -1018,6 +1031,9 @@ public class SjDjjcController extends BaseController
...
@@ -1018,6 +1031,9 @@ public class SjDjjcController extends BaseController
SjSggyZjyFdxnb
sjSggyZjyFdxnb
=
new
SjSggyZjyFdxnb
();
SjSggyZjyFdxnb
sjSggyZjyFdxnb
=
new
SjSggyZjyFdxnb
();
BeanUtils
.
copyProperties
(
fdxnb
,
sjSggyZjyFdxnb
);
BeanUtils
.
copyProperties
(
fdxnb
,
sjSggyZjyFdxnb
);
sjSggyZjyFdxnbList
.
add
(
sjSggyZjyFdxnb
);
sjSggyZjyFdxnbList
.
add
(
sjSggyZjyFdxnb
);
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
=
new
SjFdsgcsZjyFdxnb
();
BeanUtils
.
copyProperties
(
fdxnb
,
sjFdsgcsZjyFdxnb
);
sjFdsgcsZjyFdxnbList
.
add
(
sjFdsgcsZjyFdxnb
);
}
}
// 第三步:执行删除旧数据和插入新数据逻辑
// 第三步:执行删除旧数据和插入新数据逻辑
if
(!
sjZjyFdxnbList
.
isEmpty
())
{
if
(!
sjZjyFdxnbList
.
isEmpty
())
{
...
@@ -1028,6 +1044,33 @@ public class SjDjjcController extends BaseController
...
@@ -1028,6 +1044,33 @@ public class SjDjjcController extends BaseController
sjSggyZjyFdxnbMapper
.
deleteSjSggyZjyFdxnbByJh
(
jh
);
sjSggyZjyFdxnbMapper
.
deleteSjSggyZjyFdxnbByJh
(
jh
);
sjSggyZjyFdxnbMapper
.
insertSjSggyZjyFdxnbBatch
(
sjSggyZjyFdxnbList
);
sjSggyZjyFdxnbMapper
.
insertSjSggyZjyFdxnbBatch
(
sjSggyZjyFdxnbList
);
}
}
if
(
sjFdsgcsZjyFdxnbList
.
size
()>
0
){
double
ksjs
=
0
;
for
(
int
i
=
0
;
i
<
sjJsjgList
.
size
();
i
++){
if
(
i
==
0
){
ksjs
=
0
;
}
else
{
ksjs
=
sjJsjgList
.
get
(
i
-
1
).
getJs
();
}
Double
js
=
sjJsjgList
.
get
(
i
).
getJs
();
for
(
SjFdsgcsZjyFdxnb
fdxnb:
sjFdsgcsZjyFdxnbList
){
if
(
StringUtils
.
isNotEmpty
(
fdxnb
.
getJd
())){
String
s
=
extractNumber
(
fdxnb
.
getJd
());
if
(
StringUtils
.
isNotEmpty
(
s
)){
double
jsjs
=
Double
.
parseDouble
(
s
);
if
(
jsjs
>
ksjs
&&
jsjs
<=
js
){
fdxnb
.
setKc
(
sjJsjgList
.
get
(
i
).
getKc
());
}
}
}
}
}
sjFdsgcsZjyFdxnbMapper
.
deleteSjFdsgcsZjyFdxnbByJh
(
jh
);
sjFdsgcsZjyFdxnbMapper
.
insertSjFdsgcsZjyFdxnbBatch
(
sjFdsgcsZjyFdxnbList
);
}
//钻井液 分段钻井液性能设计表 end---------------------------------------------------
//钻井液 分段钻井液性能设计表 end---------------------------------------------------
...
@@ -1813,6 +1856,18 @@ public class SjDjjcController extends BaseController
...
@@ -1813,6 +1856,18 @@ public class SjDjjcController extends BaseController
return
Double
.
parseDouble
(
df
.
format
(
cs
));
return
Double
.
parseDouble
(
df
.
format
(
cs
));
}
}
public
static
String
extractNumber
(
String
str
)
{
// 正则表达式:匹配-或~,然后捕获后面的数字
Pattern
pattern
=
Pattern
.
compile
(
"[\\-~](\\d+)"
);
Matcher
matcher
=
pattern
.
matcher
(
str
);
if
(
matcher
.
find
())
{
// 返回第一个捕获组的内容(即数字部分)
return
matcher
.
group
(
1
);
}
return
null
;
// 如果没有匹配到,返回null
}
/**
/**
* 保存邻井资料
* 保存邻井资料
*/
*/
...
...
src/main/java/com/ruoyi/project/zjsgfa/controller/SjFdsgcsZjyFdxnbController.java
View file @
39afd744
package
com
.
ruoyi
.
project
.
zjsgfa
.
controller
;
package
com
.
ruoyi
.
project
.
zjsgfa
.
controller
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -37,32 +38,31 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
...
@@ -37,32 +38,31 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
/**
/**
* 查询设计信息-分段施工措施-分段钻井液性能设计列表
* 查询设计信息-分段施工措施-分段钻井液性能设计列表
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:list')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:list')")
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
public
AjaxResult
list
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
{
{
startPage
();
Map
<
String
,
Object
>
list
=
sjFdsgcsZjyFdxnbService
.
selectSjFdsgcsZjyFdxnbList
(
sjFdsgcsZjyFdxnb
);
List
<
SjFdsgcsZjyFdxnb
>
list
=
sjFdsgcsZjyFdxnbService
.
selectSjFdsgcsZjyFdxnbList
(
sjFdsgcsZjyFdxnb
);
return
AjaxResult
.
success
(
list
);
return
getDataTable
(
list
);
}
}
/**
/**
* 导出设计信息-分段施工措施-分段钻井液性能设计列表
* 导出设计信息-分段施工措施-分段钻井液性能设计列表
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:export')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:export')")
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
EXPORT
)
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
public
void
export
(
HttpServletResponse
response
,
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
{
{
List
<
SjFdsgcsZjyFdxnb
>
list
=
sjFdsgcsZjyFdxnbService
.
selectSjFdsgcsZjyFdxnbList
(
sjFdsgcsZjyFdxnb
);
//
List<SjFdsgcsZjyFdxnb> list = sjFdsgcsZjyFdxnbService.selectSjFdsgcsZjyFdxnbList(sjFdsgcsZjyFdxnb);
ExcelUtil
<
SjFdsgcsZjyFdxnb
>
util
=
new
ExcelUtil
<
SjFdsgcsZjyFdxnb
>(
SjFdsgcsZjyFdxnb
.
class
);
//
ExcelUtil<SjFdsgcsZjyFdxnb> util = new ExcelUtil<SjFdsgcsZjyFdxnb>(SjFdsgcsZjyFdxnb.class);
util
.
exportExcel
(
response
,
list
,
"设计信息-分段施工措施-分段钻井液性能设计数据"
);
//
util.exportExcel(response, list, "设计信息-分段施工措施-分段钻井液性能设计数据");
}
}
/**
/**
* 获取设计信息-分段施工措施-分段钻井液性能设计详细信息
* 获取设计信息-分段施工措施-分段钻井液性能设计详细信息
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:query')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:query')")
@GetMapping
(
value
=
"/{id}"
)
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
{
...
@@ -72,7 +72,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
...
@@ -72,7 +72,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
/**
/**
* 新增设计信息-分段施工措施-分段钻井液性能设计
* 新增设计信息-分段施工措施-分段钻井液性能设计
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:add')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:add')")
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
INSERT
)
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
@PostMapping
public
AjaxResult
add
(
@RequestBody
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
public
AjaxResult
add
(
@RequestBody
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
...
@@ -83,7 +83,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
...
@@ -83,7 +83,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
/**
/**
* 修改设计信息-分段施工措施-分段钻井液性能设计
* 修改设计信息-分段施工措施-分段钻井液性能设计
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:edit')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:edit')")
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
UPDATE
)
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
@PutMapping
public
AjaxResult
edit
(
@RequestBody
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
public
AjaxResult
edit
(
@RequestBody
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
...
@@ -94,7 +94,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
...
@@ -94,7 +94,7 @@ public class SjFdsgcsZjyFdxnbController extends BaseController
/**
/**
* 删除设计信息-分段施工措施-分段钻井液性能设计
* 删除设计信息-分段施工措施-分段钻井液性能设计
*/
*/
@PreAuthorize
(
"@ss.hasPermi('system:sjFdsgcsZjyFdxnb:remove')"
)
//
@PreAuthorize("@ss.hasPermi('system:sjFdsgcsZjyFdxnb:remove')")
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
DELETE
)
@Log
(
title
=
"设计信息-分段施工措施-分段钻井液性能设计"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
...
...
src/main/java/com/ruoyi/project/zjsgfa/mapper/SjFdsgcsZjyFdxnbMapper.java
View file @
39afd744
...
@@ -58,4 +58,9 @@ public interface SjFdsgcsZjyFdxnbMapper
...
@@ -58,4 +58,9 @@ public interface SjFdsgcsZjyFdxnbMapper
* @return 结果
* @return 结果
*/
*/
public
int
deleteSjFdsgcsZjyFdxnbByIds
(
Long
[]
ids
);
public
int
deleteSjFdsgcsZjyFdxnbByIds
(
Long
[]
ids
);
int
deleteSjFdsgcsZjyFdxnbByJh
(
String
jh
);
int
insertSjFdsgcsZjyFdxnbBatch
(
List
<
SjFdsgcsZjyFdxnb
>
sjFdsgcsZjyFdxnbList
);
}
}
src/main/java/com/ruoyi/project/zjsgfa/service/ISjFdsgcsZjyFdxnbService.java
View file @
39afd744
package
com
.
ruoyi
.
project
.
zjsgfa
.
service
;
package
com
.
ruoyi
.
project
.
zjsgfa
.
service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
com.ruoyi.project.zjsgfa.domain.SjFdsgcsZjyFdxnb
;
import
com.ruoyi.project.zjsgfa.domain.SjFdsgcsZjyFdxnb
;
/**
/**
...
@@ -25,7 +27,7 @@ public interface ISjFdsgcsZjyFdxnbService
...
@@ -25,7 +27,7 @@ public interface ISjFdsgcsZjyFdxnbService
* @param sjFdsgcsZjyFdxnb 设计信息-分段施工措施-分段钻井液性能设计
* @param sjFdsgcsZjyFdxnb 设计信息-分段施工措施-分段钻井液性能设计
* @return 设计信息-分段施工措施-分段钻井液性能设计集合
* @return 设计信息-分段施工措施-分段钻井液性能设计集合
*/
*/
public
List
<
SjFdsgcsZjyFdxnb
>
selectSjFdsgcsZjyFdxnbList
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
);
public
Map
<
String
,
Object
>
selectSjFdsgcsZjyFdxnbList
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
);
/**
/**
* 新增设计信息-分段施工措施-分段钻井液性能设计
* 新增设计信息-分段施工措施-分段钻井液性能设计
...
...
src/main/java/com/ruoyi/project/zjsgfa/service/impl/SjFdsgcsZjyFdxnbServiceImpl.java
View file @
39afd744
package
com
.
ruoyi
.
project
.
zjsgfa
.
service
.
impl
;
package
com
.
ruoyi
.
project
.
zjsgfa
.
service
.
impl
;
import
java.util.List
;
import
java.lang.reflect.Field
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
com.ruoyi.project.zjsgfa.domain.SjSggyZjyFdxnb
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.project.zjsgfa.mapper.SjFdsgcsZjyFdxnbMapper
;
import
com.ruoyi.project.zjsgfa.mapper.SjFdsgcsZjyFdxnbMapper
;
...
@@ -38,9 +42,70 @@ public class SjFdsgcsZjyFdxnbServiceImpl implements ISjFdsgcsZjyFdxnbService
...
@@ -38,9 +42,70 @@ public class SjFdsgcsZjyFdxnbServiceImpl implements ISjFdsgcsZjyFdxnbService
* @return 设计信息-分段施工措施-分段钻井液性能设计
* @return 设计信息-分段施工措施-分段钻井液性能设计
*/
*/
@Override
@Override
public
List
<
SjFdsgcsZjyFdxnb
>
selectSjFdsgcsZjyFdxnbList
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
public
Map
<
String
,
Object
>
selectSjFdsgcsZjyFdxnbList
(
SjFdsgcsZjyFdxnb
sjFdsgcsZjyFdxnb
)
{
{
return
sjFdsgcsZjyFdxnbMapper
.
selectSjFdsgcsZjyFdxnbList
(
sjFdsgcsZjyFdxnb
);
List
<
SjFdsgcsZjyFdxnb
>
list
=
sjFdsgcsZjyFdxnbMapper
.
selectSjFdsgcsZjyFdxnbList
(
sjFdsgcsZjyFdxnb
);
List
<
Map
<
String
,
String
>>
fixedItems
=
Arrays
.
asList
(
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"密度(g/cm³)"
);
put
(
"field"
,
"md"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"马氏漏斗黏度(s)"
);
put
(
"field"
,
"msldnd"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"API滤失量(ml)"
);
put
(
"field"
,
"apilsl"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"API泥饼(mm)"
);
put
(
"field"
,
"apinb"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"静切力(Pa)"
);
put
(
"field"
,
"jql"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"pH值"
);
put
(
"field"
,
"ph"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"含砂量(%)"
);
put
(
"field"
,
"hsl"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"总固含(%)"
);
put
(
"field"
,
"zgh"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"摩阻系数"
);
put
(
"field"
,
"mzxs"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"动切力(Pa)"
);
put
(
"field"
,
"dql"
);
}},
new
HashMap
<
String
,
String
>()
{{
put
(
"name"
,
"塑性黏度(mPa·s)"
);
put
(
"field"
,
"sxnd"
);
}}
);
// 提取井段(去重,按顺序排列)
List
<
String
>
wellSegments
=
list
.
stream
()
.
map
(
SjFdsgcsZjyFdxnb:
:
getJd
)
.
distinct
()
.
collect
(
Collectors
.
toList
());
// 表格数据:每行对应一个固定项目,每列对应一个井段
List
<
Map
<
String
,
String
>>
tableData
=
new
ArrayList
<>();
for
(
Map
<
String
,
String
>
item
:
fixedItems
)
{
String
itemName
=
item
.
get
(
"name"
);
// 项目名称(如"密度(g/cm³)")
String
fieldName
=
item
.
get
(
"field"
);
// 实体类字段名(如"md")
Map
<
String
,
String
>
row
=
new
HashMap
<>();
row
.
put
(
"项目"
,
itemName
);
// 第一列固定为项目名称
row
.
put
(
"field"
,
fieldName
);
// 第一列固定为项目名称
// 遍历每个井段,填充对应字段的值
for
(
String
segment
:
wellSegments
)
{
// 找到当前井段的数据对象
SjFdsgcsZjyFdxnb
segmentData
=
list
.
stream
()
.
filter
(
d
->
segment
.
equals
(
d
.
getJd
()))
.
findFirst
()
.
orElse
(
null
);
// 通过反射获取字段值(避免大量if-else)
String
value
=
""
;
if
(
segmentData
!=
null
)
{
try
{
Field
field
=
SjFdsgcsZjyFdxnb
.
class
.
getDeclaredField
(
fieldName
);
field
.
setAccessible
(
true
);
Object
fieldValue
=
field
.
get
(
segmentData
);
value
=
fieldValue
!=
null
?
fieldValue
.
toString
()
:
""
;
}
catch
(
Exception
e
)
{
value
=
""
;
}
}
row
.
put
(
segment
,
value
);
// 列名为井段,值为字段值
}
tableData
.
add
(
row
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"jds"
,
wellSegments
);
map
.
put
(
"data"
,
tableData
);
return
map
;
}
}
/**
/**
...
...
src/main/java/com/ruoyi/project/zjsgfa/service/impl/SjSggyZjyFdxnbServiceImpl.java
View file @
39afd744
...
@@ -75,6 +75,7 @@ public class SjSggyZjyFdxnbServiceImpl implements ISjSggyZjyFdxnbService
...
@@ -75,6 +75,7 @@ public class SjSggyZjyFdxnbServiceImpl implements ISjSggyZjyFdxnbService
Map
<
String
,
String
>
row
=
new
HashMap
<>();
Map
<
String
,
String
>
row
=
new
HashMap
<>();
row
.
put
(
"项目"
,
itemName
);
// 第一列固定为项目名称
row
.
put
(
"项目"
,
itemName
);
// 第一列固定为项目名称
row
.
put
(
"field"
,
fieldName
);
// 第一列固定为项目名称
// 遍历每个井段,填充对应字段的值
// 遍历每个井段,填充对应字段的值
for
(
String
segment
:
wellSegments
)
{
for
(
String
segment
:
wellSegments
)
{
...
@@ -88,7 +89,7 @@ public class SjSggyZjyFdxnbServiceImpl implements ISjSggyZjyFdxnbService
...
@@ -88,7 +89,7 @@ public class SjSggyZjyFdxnbServiceImpl implements ISjSggyZjyFdxnbService
String
value
=
""
;
String
value
=
""
;
if
(
segmentData
!=
null
)
{
if
(
segmentData
!=
null
)
{
try
{
try
{
Field
field
=
SjZjyFdxnb
.
class
.
getDeclaredField
(
fieldName
);
Field
field
=
Sj
Sggy
ZjyFdxnb
.
class
.
getDeclaredField
(
fieldName
);
field
.
setAccessible
(
true
);
field
.
setAccessible
(
true
);
Object
fieldValue
=
field
.
get
(
segmentData
);
Object
fieldValue
=
field
.
get
(
segmentData
);
value
=
fieldValue
!=
null
?
fieldValue
.
toString
()
:
""
;
value
=
fieldValue
!=
null
?
fieldValue
.
toString
()
:
""
;
...
...
src/main/resources/mybatis/zjsgfa/SjFdsgcsZjyFdxnbMapper.xml
View file @
39afd744
...
@@ -86,6 +86,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -86,6 +86,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"sxnd != null"
>
#{sxnd},
</if>
<if
test=
"sxnd != null"
>
#{sxnd},
</if>
</trim>
</trim>
</insert>
</insert>
<insert
id=
"insertSjFdsgcsZjyFdxnbBatch"
>
INSERT INTO sj_fdsgcs_zjy_fdxnb
(jh, jd, kc, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd)
VALUES
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(
#{item.jh},
#{item.jd},
#{item.kc},
#{item.md},
#{item.msldnd},
#{item.apilsl},
#{item.apinb},
#{item.jql},
#{item.ph},
#{item.hsl},
#{item.zgh},
#{item.mzxs},
#{item.dql},
#{item.sxnd}
)
</foreach>
</insert>
<update
id=
"updateSjFdsgcsZjyFdxnb"
parameterType=
"SjFdsgcsZjyFdxnb"
>
<update
id=
"updateSjFdsgcsZjyFdxnb"
parameterType=
"SjFdsgcsZjyFdxnb"
>
update sj_fdsgcs_zjy_fdxnb
update sj_fdsgcs_zjy_fdxnb
...
@@ -118,4 +141,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -118,4 +141,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
#{id}
</foreach>
</foreach>
</delete>
</delete>
<delete
id=
"deleteSjFdsgcsZjyFdxnbByJh"
>
delete from sj_fdsgcs_zjy_fdxnb where jh = #{jh}
</delete>
</mapper>
</mapper>
\ No newline at end of file
src/main/resources/static/excel/sjdrmb.xlsx
View file @
39afd744
No preview for this file type
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