Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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
项目统一框架
amos-boot-biz
Commits
99edb783
Commit
99edb783
authored
Apr 23, 2023
by
chenzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
手动同步代码
parent
20497121
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
299 additions
and
22 deletions
+299
-22
ExcelUtil.java
.../yeejoin/amos/boot/module/common/api/excel/ExcelUtil.java
+8
-0
SelectedSheetWriteHandler.java
...ot/module/common/api/excel/SelectedSheetWriteHandler.java
+12
-10
WaterResourceMapper.xml
...mon-api/src/main/resources/mapper/WaterResourceMapper.xml
+1
-0
ExcelController.java
.../amos/boot/module/jcs/biz/controller/ExcelController.java
+126
-7
ExcelServiceImpl.java
...os/boot/module/jcs/biz/service/impl/ExcelServiceImpl.java
+150
-1
dbTemplate_check.xml
...-patrol/src/main/resources/db/mapper/dbTemplate_check.xml
+2
-4
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/excel/ExcelUtil.java
View file @
99edb783
...
@@ -221,6 +221,14 @@ public class ExcelUtil {
...
@@ -221,6 +221,14 @@ public class ExcelUtil {
return
readExcel
(
reader
,
rowType
,
0
);
return
readExcel
(
reader
,
rowType
,
0
);
}
}
public
static
<
T
>
List
<
T
>
readManySheetExcel
(
MultipartFile
excel
,
Class
<
T
>
rowType
,
int
header
,
int
sheetCount
)
throws
Exception
{
ExcelReader
reader
=
getReader
(
excel
,
header
);
if
(
reader
==
null
)
{
return
new
ArrayList
<>();
}
return
readExcel
(
reader
,
rowType
,
0
);
}
/**
/**
* 读取 Excel(多个 sheet)
* 读取 Excel(多个 sheet)
*
*
...
...
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/excel/SelectedSheetWriteHandler.java
View file @
99edb783
...
@@ -37,16 +37,18 @@ public class SelectedSheetWriteHandler implements SheetWriteHandler {
...
@@ -37,16 +37,18 @@ public class SelectedSheetWriteHandler implements SheetWriteHandler {
selectedMap
.
forEach
((
k
,
v
)
->
{
selectedMap
.
forEach
((
k
,
v
)
->
{
// 设置下拉列表的行: 首行,末行,首列,末列
// 设置下拉列表的行: 首行,末行,首列,末列
CellRangeAddressList
rangeList
=
new
CellRangeAddressList
(
1
,
65536
,
k
,
k
);
CellRangeAddressList
rangeList
=
new
CellRangeAddressList
(
1
,
65536
,
k
,
k
);
// 设置下拉列表的值
if
(
v
.
getSource
().
length
>
0
){
DataValidationConstraint
constraint
=
helper
.
createExplicitListConstraint
(
v
.
getSource
());
// 设置下拉列表的值
// 设置约束
DataValidationConstraint
constraint
=
helper
.
createExplicitListConstraint
(
v
.
getSource
());
DataValidation
validation
=
helper
.
createValidation
(
constraint
,
rangeList
);
// 设置约束
// 阻止输入非下拉选项的值
DataValidation
validation
=
helper
.
createValidation
(
constraint
,
rangeList
);
validation
.
setErrorStyle
(
DataValidation
.
ErrorStyle
.
STOP
);
// 阻止输入非下拉选项的值
validation
.
setShowErrorBox
(
true
);
validation
.
setErrorStyle
(
DataValidation
.
ErrorStyle
.
STOP
);
validation
.
setSuppressDropDownArrow
(
true
);
validation
.
setShowErrorBox
(
true
);
validation
.
createErrorBox
(
"提示"
,
"请输入下拉选项中的内容"
);
validation
.
setSuppressDropDownArrow
(
true
);
sheet
.
addValidationData
(
validation
);
validation
.
createErrorBox
(
"提示"
,
"请输入下拉选项中的内容"
);
sheet
.
addValidationData
(
validation
);
}
});
});
}
}
}
}
amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/resources/mapper/WaterResourceMapper.xml
View file @
99edb783
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
r.equip_category_name,
r.equip_category_name,
r.equip_code,
r.equip_code,
r.maintenance_period,
r.maintenance_period,
r.resource_type,
(case r.resource_type when 'crane' then rc.height when 'natural' then rn.height end) height,
(case r.resource_type when 'crane' then rc.height when 'natural' then rn.height end) height,
(case r.resource_type
(case r.resource_type
when 'crane' then rc.status
when 'crane' then rc.status
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/controller/ExcelController.java
View file @
99edb783
...
@@ -6,6 +6,8 @@ import java.util.ArrayList;
...
@@ -6,6 +6,8 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -14,12 +16,15 @@ import com.alibaba.excel.EasyExcel;
...
@@ -14,12 +16,15 @@ import com.alibaba.excel.EasyExcel;
import
com.alibaba.excel.EasyExcelFactory
;
import
com.alibaba.excel.EasyExcelFactory
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.baomidou.mybatisplus.extension.api.R
;
import
com.yeejoin.amos.boot.biz.common.excel.TemplateCellWriteHandler
;
import
com.yeejoin.amos.boot.biz.common.excel.TemplateCellWriteHandler
;
import
com.yeejoin.amos.boot.biz.common.excel.TemplateCellWriteHandlerDate
;
import
com.yeejoin.amos.boot.biz.common.excel.TemplateCellWriteHandlerDate
;
import
com.yeejoin.amos.boot.module.common.api.dto.*
;
import
com.yeejoin.amos.boot.module.common.api.dto.*
;
import
com.yeejoin.amos.boot.module.common.api.enums.ExceptionEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.ExceptionEnum
;
import
com.yeejoin.amos.boot.module.common.api.excel.*
;
import
com.yeejoin.amos.boot.module.common.api.excel.*
;
import
com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceServiceImpl
;
import
org.apache.commons.jexl2.UnifiedJEXL
;
import
org.apache.commons.jexl2.UnifiedJEXL
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -64,6 +69,8 @@ public class ExcelController extends BaseController {
...
@@ -64,6 +69,8 @@ public class ExcelController extends BaseController {
@Autowired
@Autowired
Sequence
sequence
;
Sequence
sequence
;
@Autowired
WaterResourceServiceImpl
waterResourceServiceImpl
;
@Value
(
"${logic}"
)
@Value
(
"${logic}"
)
private
Boolean
logic
;
private
Boolean
logic
;
...
@@ -277,7 +284,7 @@ public class ExcelController extends BaseController {
...
@@ -277,7 +284,7 @@ public class ExcelController extends BaseController {
try
{
try
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
"消防水源.xlsx"
,
"UTF-8"
));
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
"消防水源
模板
.xlsx"
,
"UTF-8"
));
response
.
setHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
response
.
setHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterBaseResourceDto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterBaseResourceDto
.
class
,
dataSources
);
...
@@ -289,23 +296,102 @@ public class ExcelController extends BaseController {
...
@@ -289,23 +296,102 @@ public class ExcelController extends BaseController {
List
<
WaterExcelHydrantDto
>
waterExcelHydrantDtos
=
new
ArrayList
<>();
List
<
WaterExcelHydrantDto
>
waterExcelHydrantDtos
=
new
ArrayList
<>();
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap2
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelHydrantDto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap2
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelHydrantDto
.
class
,
dataSources
);
WriteSheet
writeSheet2
=
EasyExcel
.
writerSheet
(
1
,
"消火栓"
).
head
(
WaterExcelHydrantDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap2
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
WriteSheet
writeSheet2
=
EasyExcel
Factory
.
writerSheet
(
1
,
"消火栓"
).
head
(
WaterExcelHydrantDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap2
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
List
<
WaterExcelCraneDto
>
waterExcelCraneDtos
=
new
ArrayList
<>();
List
<
WaterExcelCraneDto
>
waterExcelCraneDtos
=
new
ArrayList
<>();
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap3
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelCraneDto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap3
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelCraneDto
.
class
,
dataSources
);
WriteSheet
writeSheet3
=
EasyExcel
.
writerSheet
(
2
,
"消防水鹤"
).
head
(
WaterExcelCraneDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap3
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
WriteSheet
writeSheet3
=
EasyExcel
Factory
.
writerSheet
(
2
,
"消防水鹤"
).
head
(
WaterExcelCraneDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap3
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
List
<
WaterExcelNaturalDto
>
waterExcelNaturalDtos
=
new
ArrayList
<>();
List
<
WaterExcelNaturalDto
>
waterExcelNaturalDtos
=
new
ArrayList
<>();
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap4
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcel
Crane
Dto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap4
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcel
Natural
Dto
.
class
,
dataSources
);
WriteSheet
writeSheet4
=
EasyExcel
.
writerSheet
(
3
,
"天然水源"
).
head
(
WaterExcelNaturalDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap4
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
WriteSheet
writeSheet4
=
EasyExcel
Factory
.
writerSheet
(
3
,
"天然水源"
).
head
(
WaterExcelNaturalDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap4
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap5
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelIndustryPoolDto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap5
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelIndustryPoolDto
.
class
,
dataSources
);
List
<
WaterExcelIndustryPoolDto
>
waterExcelIndustryPoolDtos
=
new
ArrayList
<>();
List
<
WaterExcelIndustryPoolDto
>
waterExcelIndustryPoolDtos
=
new
ArrayList
<>();
WriteSheet
writeSheet5
=
EasyExcel
.
writerSheet
(
4
,
"工业水池"
).
head
(
WaterExcelIndustryPoolDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap5
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
WriteSheet
writeSheet5
=
EasyExcel
Factory
.
writerSheet
(
4
,
"工业水池"
).
head
(
WaterExcelIndustryPoolDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap5
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
List
<
WaterExcelWaterTankDto
>
waterExcelWaterTankDtos
=
new
ArrayList
<>();
List
<
WaterExcelWaterTankDto
>
waterExcelWaterTankDtos
=
new
ArrayList
<>();
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap6
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelWaterTankDto
.
class
,
dataSources
);
Map
<
Integer
,
ExcelSelectedResolve
>
resolveMap6
=
ExcelUtil
.
resolveSelectedAnnotation
(
WaterExcelWaterTankDto
.
class
,
dataSources
);
WriteSheet
writeSheet6
=
EasyExcel
.
writerSheet
(
5
,
"消防水箱"
).
head
(
WaterExcelWaterTankDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap6
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
WriteSheet
writeSheet6
=
EasyExcelFactory
.
writerSheet
(
5
,
"消防水箱"
).
head
(
WaterExcelWaterTankDto
.
class
).
registerWriteHandler
(
new
SelectedSheetWriteHandler
(
resolveMap6
)).
registerWriteHandler
(
new
TemplateCellWriteHandler
()).
build
();
excelWriter
.
write
(
waterExcelPoolDtos
,
writeSheet
);
excelWriter
.
write
(
waterExcelHydrantDtos
,
writeSheet2
);
excelWriter
.
write
(
waterExcelCraneDtos
,
writeSheet3
);
excelWriter
.
write
(
waterExcelNaturalDtos
,
writeSheet4
);
excelWriter
.
write
(
waterExcelIndustryPoolDtos
,
writeSheet5
);
excelWriter
.
write
(
waterExcelWaterTankDtos
,
writeSheet6
);
excelWriter
.
finish
();
response
.
flushBuffer
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@RequestMapping
(
value
=
"/exportData"
,
method
=
RequestMethod
.
GET
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"水源导出"
,
notes
=
"水源导出"
)
public
void
exportData
(
HttpServletResponse
response
)
{
try
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
"消防水源.xlsx"
,
"UTF-8"
));
response
.
setHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
List
<
WaterExcelPoolDto
>
waterExcelPoolDtos
=
new
ArrayList
<>();
List
<
WaterExcelHydrantDto
>
waterExcelHydrantDtos
=
new
ArrayList
<>();
List
<
WaterExcelCraneDto
>
waterExcelCraneDtos
=
new
ArrayList
<>();
List
<
WaterExcelNaturalDto
>
waterExcelNaturalDtos
=
new
ArrayList
<>();
List
<
WaterExcelWaterTankDto
>
waterExcelWaterTankDtos
=
new
ArrayList
<>();
List
<
WaterExcelIndustryPoolDto
>
waterExcelIndustryPoolDtos
=
new
ArrayList
<>();
List
<
WaterResourceForExportDto
>
waterResourceDtoList
=
waterResourceServiceImpl
.
exportToExcel
(
true
,
null
,
null
,
null
);
waterResourceDtoList
.
forEach
(
e
->{
switch
(
e
.
getResourceType
()){
case
"hydrant"
:
WaterExcelHydrantDto
waterExcelHydrantDto
=
new
WaterExcelHydrantDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelHydrantDto
);
waterExcelHydrantDtos
.
add
(
waterExcelHydrantDto
);
break
;
case
"crane"
:
WaterExcelCraneDto
waterExcelCraneDto
=
new
WaterExcelCraneDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelCraneDto
);
waterExcelCraneDtos
.
add
(
waterExcelCraneDto
);
break
;
case
"pool"
:
WaterExcelPoolDto
waterExcelPoolDto
=
new
WaterExcelPoolDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelPoolDto
);
waterExcelPoolDtos
.
add
(
waterExcelPoolDto
);
break
;
case
"natural"
:
WaterExcelNaturalDto
waterExcelNaturalDto
=
new
WaterExcelNaturalDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelNaturalDto
);
waterExcelNaturalDtos
.
add
(
waterExcelNaturalDto
);
break
;
case
"industryPool"
:
WaterExcelIndustryPoolDto
waterExcelIndustryPoolDto
=
new
WaterExcelIndustryPoolDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelIndustryPoolDto
);
waterExcelIndustryPoolDtos
.
add
(
waterExcelIndustryPoolDto
);
break
;
case
"waterTank"
:
WaterExcelWaterTankDto
waterExcelWaterTankDto
=
new
WaterExcelWaterTankDto
();
BeanUtils
.
copyProperties
(
e
,
waterExcelWaterTankDto
);
waterExcelWaterTankDtos
.
add
(
waterExcelWaterTankDto
);
break
;
}
});
ExcelWriter
excelWriter
=
EasyExcelFactory
.
write
(
response
.
getOutputStream
()).
build
();
WriteSheet
writeSheet
=
EasyExcelFactory
.
writerSheet
(
0
,
"消防水池"
).
head
(
WaterExcelPoolDto
.
class
).
build
();
WriteSheet
writeSheet2
=
EasyExcelFactory
.
writerSheet
(
1
,
"消火栓"
).
head
(
WaterExcelHydrantDto
.
class
).
build
();
WriteSheet
writeSheet3
=
EasyExcelFactory
.
writerSheet
(
2
,
"消防水鹤"
).
head
(
WaterExcelCraneDto
.
class
).
build
();
WriteSheet
writeSheet4
=
EasyExcelFactory
.
writerSheet
(
3
,
"天然水源"
).
head
(
WaterExcelNaturalDto
.
class
).
build
();
WriteSheet
writeSheet5
=
EasyExcelFactory
.
writerSheet
(
4
,
"工业水池"
).
head
(
WaterExcelIndustryPoolDto
.
class
).
build
();
WriteSheet
writeSheet6
=
EasyExcelFactory
.
writerSheet
(
5
,
"消防水箱"
).
head
(
WaterExcelWaterTankDto
.
class
).
build
();
excelWriter
.
write
(
waterExcelPoolDtos
,
writeSheet
);
excelWriter
.
write
(
waterExcelPoolDtos
,
writeSheet
);
...
@@ -324,6 +410,39 @@ public class ExcelController extends BaseController {
...
@@ -324,6 +410,39 @@ public class ExcelController extends BaseController {
}
}
@TycloudOperation
(
needAuth
=
false
,
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
value
=
"水源信息导入"
)
@PostMapping
(
"/upload/waterResource"
)
public
ResponseModel
<
Object
>
uploadWaterResource
(
@RequestPart
(
"file"
)
MultipartFile
multipartFile
)
{
try
{
excelService
.
excelImportWaterResourceNew
(
multipartFile
);
return
ResponseHelper
.
buildResponse
(
"导入成功"
);
}
catch
(
RuntimeException
e
)
{
e
.
printStackTrace
();
throw
new
BadRequest
(
e
.
getMessage
());
}
catch
(
Exception
e
)
{
throw
new
BadRequest
(
"文件格式不正确或excel 模板不匹配!"
);
}
}
private
Map
<
Integer
,
String
[]>
resolveExplicitConstraint
(
Class
<?>
model
,
DataSources
dataDictionaryMapper
)
{
Map
<
Integer
,
String
[]>
explicitListConstraintMap
=
new
HashMap
<>();
// 循环获取对应列得下拉列表信息
Field
[]
declaredFields
=
model
.
getDeclaredFields
();
for
(
int
i
=
0
;
i
<
declaredFields
.
length
;
i
++)
{
Field
field
=
declaredFields
[
i
];
// 解析注解信息
ExplicitConstraint
explicitConstraint
=
field
.
getAnnotation
(
ExplicitConstraint
.
class
);
ExcelUtil
.
resolveExplicitConstraint
(
explicitListConstraintMap
,
explicitConstraint
,
dataDictionaryMapper
);
}
return
explicitListConstraintMap
;
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-jcs-biz/src/main/java/com/yeejoin/amos/boot/module/jcs/biz/service/impl/ExcelServiceImpl.java
View file @
99edb783
...
@@ -484,7 +484,7 @@ public class ExcelServiceImpl {
...
@@ -484,7 +484,7 @@ public class ExcelServiceImpl {
}
}
@Transactional
@Transactional
public
Object
commonUpload
(
MultipartFile
multipartFile
,
ExcelDto
excelDto
,
String
uuidString
,
HttpServletRequest
equest
)
throws
Exception
{
public
Object
commonUpload
(
MultipartFile
multipartFile
,
ExcelDto
excelDto
,
String
uuidString
,
HttpServletRequest
equest
)
throws
Exception
{
switch
(
excelDto
.
getType
())
{
switch
(
excelDto
.
getType
())
{
...
@@ -1892,6 +1892,155 @@ private void saveuser(OrgUsrTPDlExcelDto orgUsrExcelDto,Set<String> set,String a
...
@@ -1892,6 +1892,155 @@ private void saveuser(OrgUsrTPDlExcelDto orgUsrExcelDto,Set<String> set,String a
waterResourceServiceImpl
.
importByExcel
(
item
);
waterResourceServiceImpl
.
importByExcel
(
item
);
});
});
}
}
@Transactional
public
void
excelImportWaterResourceNew
(
MultipartFile
multipartFile
)
throws
Exception
{
List
<
WaterResourceDto
>
excelDtoList
=
new
ArrayList
<>();
List
<
WaterExcelPoolDto
>
waterExcelPoolDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelPoolDto
.
class
,
0
,
0
);
List
<
WaterExcelHydrantDto
>
waterExcelHydrantDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelHydrantDto
.
class
,
0
,
1
);
List
<
WaterExcelCraneDto
>
waterExcelCraneDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelCraneDto
.
class
,
0
,
2
);
List
<
WaterExcelNaturalDto
>
waterExcelNaturalDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelNaturalDto
.
class
,
0
,
3
);
List
<
WaterExcelIndustryPoolDto
>
waterExcelIndustryPoolDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelIndustryPoolDto
.
class
,
0
,
4
);
List
<
WaterExcelWaterTankDto
>
waterExcelWaterTankDtos
=
ExcelUtil
.
readManySheetExcel
(
multipartFile
,
WaterExcelWaterTankDto
.
class
,
0
,
5
);
waterExcelPoolDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
waterExcelHydrantDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
waterExcelCraneDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
waterExcelNaturalDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
waterExcelIndustryPoolDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
waterExcelWaterTankDtos
.
forEach
(
e
->{
WaterResourceDto
waterResourceDto
=
new
WaterResourceDto
();
BeanUtils
.
copyProperties
(
e
,
waterResourceDto
);
excelDtoList
.
add
(
waterResourceDto
);
});
excelDtoList
.
forEach
(
item
->
{
/* Bug 2950 消防水源,缺失设施分类、设施定义等必填字段可以上传成功 陈召 2021-10-09 */
if
(
item
.
getEquipName
()
==
null
||
item
.
getEquipName
().
equals
(
" "
))
{
throw
new
BadRequest
(
"设备定义名称为必填字段,填写后重新上传"
);
}
// BUG 2953 导入模板没有设备编码生成 2021-09-18 陈召开始
item
.
setEquipCode
(
QRCodeUtil
.
generateQRCode
());
// BUG 2953 导入模板没有设备编码生成 2021-09-18 陈召结束
if
(
item
.
getResourceTypeName
()
!=
null
)
{
String
[]
resourceTypeName
=
item
.
getResourceTypeName
().
split
(
"@"
);
item
.
setResourceTypeName
(
resourceTypeName
[
0
]);
item
.
setResourceType
(
resourceTypeName
[
1
]);
}
if
(
item
.
getHydrantType
()
!=
null
)
{
item
.
setType
(
item
.
getHydrantType
());
}
if
(
item
.
getSystemType
()
!=
null
)
{
String
[]
systemType
=
item
.
getSystemType
().
split
(
"@"
);
item
.
setSystemType
(
systemType
[
0
]);
item
.
setSystemTypeCode
(
systemType
[
1
]);
}
if
(
item
.
getPlaceForm
()
!=
null
)
{
String
[]
placeForm
=
item
.
getPlaceForm
().
split
(
"@"
);
item
.
setPlaceForm
(
placeForm
[
0
]);
item
.
setPlaceFormCode
(
placeForm
[
1
]);
}
if
(
item
.
getBelongBuilding
()
!=
null
)
{
String
[]
belongBuilding
=
item
.
getBelongBuilding
().
split
(
"@"
);
item
.
setBelongBuilding
(
belongBuilding
[
0
]);
item
.
setBelongBuildingId
(
Long
.
valueOf
(
belongBuilding
[
1
]));
}
if
(
item
.
getBelongFightingSystem
()
!=
null
)
{
String
[]
belongFightingSystem
=
item
.
getBelongFightingSystem
().
split
(
"@"
);
item
.
setBelongFightingSystem
(
belongFightingSystem
[
0
]);
item
.
setBelongFightingSystemId
(
Long
.
valueOf
(
belongFightingSystem
[
1
]));
}
if
(
item
.
getManagementUnit
()
!=
null
)
{
String
[]
managementUnit
=
item
.
getManagementUnit
().
split
(
"@"
);
item
.
setManagementUnit
(
managementUnit
[
0
]);
item
.
setManagementUnitId
(
Long
.
valueOf
(
managementUnit
[
1
]));
OrgUsr
org
=
orgUsrService
.
getById
(
Long
.
valueOf
(
managementUnit
[
1
]));
if
(
org
!=
null
)
{
item
.
setBizOrgCode
(
org
.
getBizOrgCode
());
item
.
setBizOrgName
(
org
.
getBizOrgName
());
}
}
if
(
item
.
getMaintenanceUnit
()
!=
null
)
{
String
[]
maintenanceUnit
=
item
.
getMaintenanceUnit
().
split
(
"@"
);
item
.
setMaintenanceUnit
(
maintenanceUnit
[
0
]);
item
.
setMaintenanceUnitId
(
Long
.
valueOf
(
maintenanceUnit
[
1
]));
}
if
(
item
.
getHoseConnection
()
!=
null
)
{
String
[]
hoseConnection
=
item
.
getHoseConnection
().
split
(
"@"
);
item
.
setHoseConnection
(
hoseConnection
[
0
]);
item
.
setHoseConnectionCode
(
hoseConnection
[
1
]);
}
if
(
item
.
getIntakeForm
()
!=
null
)
{
String
[]
intakeForm
=
item
.
getIntakeForm
().
split
(
"@"
);
item
.
setIntakeForm
(
intakeForm
[
0
]);
}
if
(
item
.
getPipeTypeName
()
!=
null
)
{
String
[]
pipeTypeName
=
item
.
getPipeTypeName
().
split
(
"@"
);
item
.
setPipeTypeName
(
pipeTypeName
[
0
]);
item
.
setPipeTypeCode
(
pipeTypeName
[
1
]);
}
if
(
item
.
getStatus
()
!=
null
)
{
String
[]
status
=
item
.
getStatus
().
split
(
"@"
);
item
.
setStatus
(
status
[
0
]);
item
.
setStatusCode
(
status
[
1
]);
}
if
(
item
.
getType
()
!=
null
)
{
String
[]
type
=
item
.
getType
().
split
(
"@"
);
item
.
setType
(
type
[
0
]);
item
.
setTypeCode
(
type
[
1
]);
}
if
(
item
.
getLevelDeviceName
()
!=
null
)
{
String
[]
type
=
item
.
getLevelDeviceName
().
split
(
"@"
);
item
.
setLevelDeviceName
(
type
[
0
]);
item
.
setLevelDeviceId
(
type
[
1
]);
}
// BUG 2935 优化项 分类从93060000 取得字典数据 by kongfm 2021-09-17
if
(
item
.
getEquipCategoryName
()
!=
null
)
{
String
[]
equipCategory
=
item
.
getEquipCategoryName
().
split
(
"@"
);
item
.
setEquipCategoryName
(
equipCategory
[
0
]);
item
.
setEquipCategoryId
(
Long
.
parseLong
(
equipCategory
[
1
]));
}
if
(
item
.
getHasDrySeasonType
()
!=
null
)
{
boolean
flag
=
"有"
.
equals
(
item
.
getHasDrySeasonType
())
?
true
:
false
;
item
.
setHasDrySeason
(
flag
);
}
if
(
item
.
getEquipName
()
!=
null
)
{
String
[]
equipCategory
=
item
.
getEquipName
().
split
(
"@"
);
item
.
setEquipId
(
Long
.
parseLong
(
equipCategory
[
1
]));
item
.
setEquipName
(
equipCategory
[
0
]);
item
.
setEquipCategoryId
(
Long
.
parseLong
(
equipCategory
[
2
]));
item
.
setEquipCategoryName
(
equipCategory
[
3
]);
switch
(
equipCategory
[
3
])
{
case
"天然水源"
:
item
.
setEquipCategoryCode
(
"93060300"
);
break
;
case
"水源-消火栓"
:
item
.
setEquipCategoryCode
(
"93060400"
);
break
;
case
"消火栓"
:
item
.
setEquipCategoryCode
(
"93060400"
);
break
;
case
"消防水池"
:
item
.
setEquipCategoryCode
(
"93060100"
);
break
;
case
"消防水鹤"
:
item
.
setEquipCategoryCode
(
"93060200"
);
break
;
case
"工业水池"
:
item
.
setEquipCategoryCode
(
"93060500"
);
break
;
default
:
break
;
}
}
if
(
item
.
getContactUser
()
!=
null
)
{
String
[]
contactUser
=
item
.
getContactUser
().
split
(
"@"
);
item
.
setContactUser
(
contactUser
[
0
]);
item
.
setContactUserId
(
contactUser
[
1
]);
}
item
=
Bean
.
toPo
(
getCurrentInfo
(),
item
);
//水源的isdelete是反着的
item
.
setIsDelete
(
true
);
waterResourceServiceImpl
.
importByExcel
(
item
);
});
}
@Transactional
@Transactional
public
void
excelImportFireExperts
(
MultipartFile
multipartFile
)
throws
Exception
{
public
void
excelImportFireExperts
(
MultipartFile
multipartFile
)
throws
Exception
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
...
...
amos-boot-system-patrol/src/main/resources/db/mapper/dbTemplate_check.xml
View file @
99edb783
...
@@ -219,6 +219,7 @@
...
@@ -219,6 +219,7 @@
a.user_name,
a.user_name,
a.dep_name department_name,
a.dep_name department_name,
a.dep_id departmentId,
a.dep_id departmentId,
wws.name address,
date_format(
date_format(
`a`.`check_time`,
`a`.`check_time`,
'%Y-%m-%d %H:%i:%s'
'%Y-%m-%d %H:%i:%s'
...
@@ -249,7 +250,6 @@
...
@@ -249,7 +250,6 @@
) as is_ok,
) as is_ok,
a.score,
a.score,
d.`name` AS `route_name`,
d.`name` AS `route_name`,
(
(
CASE
CASE
WHEN a.check_mode = 'QR'
WHEN a.check_mode = 'QR'
...
@@ -266,9 +266,6 @@
...
@@ -266,9 +266,6 @@
'系统自检'
'系统自检'
END
END
) as check_mode,
) as check_mode,
e.`name` AS `plan_name`,
e.`name` AS `plan_name`,
a.plan_task_id,
a.plan_task_id,
a.plan_id,
a.plan_id,
...
@@ -281,6 +278,7 @@
...
@@ -281,6 +278,7 @@
LEFT JOIN `p_point` `b` ON `a`.`point_id` = `b`.`id`
LEFT JOIN `p_point` `b` ON `a`.`point_id` = `b`.`id`
LEFT JOIN `p_route` `d` ON `a`.`route_id` = `d`.`id`
LEFT JOIN `p_route` `d` ON `a`.`route_id` = `d`.`id`
LEFT JOIN `p_plan` `e` ON `a`.`plan_id` = `e`.`id`
LEFT JOIN `p_plan` `e` ON `a`.`plan_id` = `e`.`id`
LEFT JOIN wl_warehouse_structure wws on wws.id = b.risk_source_id
<if
test=
"dangerId != null and dangerId != ''"
>
<if
test=
"dangerId != null and dangerId != ''"
>
LEFT JOIN ( SELECT check_id, GROUP_CONCAT( latent_danger_id ) dangerIds FROM p_latent_danger_patrol GROUP BY check_id ) t ON t.check_id = a.id
LEFT JOIN ( SELECT check_id, GROUP_CONCAT( latent_danger_id ) dangerIds FROM p_latent_danger_patrol GROUP BY check_id ) t ON t.check_id = a.id
</if>
</if>
...
...
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