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
db3c2085
Commit
db3c2085
authored
Sep 29, 2024
by
changxiangyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联动单位信息列表导入导出
parent
62c8ba04
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
384 additions
and
1 deletion
+384
-1
IYsEmergencyUnitService.java
...s/boot/module/ys/api/service/IYsEmergencyUnitService.java
+9
-0
ExportYsEmergencyUnitVo.java
...n/amos/boot/module/ys/api/vo/ExportYsEmergencyUnitVo.java
+124
-0
ImportYsEmergencyUnitVo.java
...n/amos/boot/module/ys/api/vo/ImportYsEmergencyUnitVo.java
+117
-0
YsEmergencyUnitController.java
...t/module/ys/biz/controller/YsEmergencyUnitController.java
+50
-1
YsEmergencyUnitServiceImpl.java
...odule/ys/biz/service/impl/YsEmergencyUnitServiceImpl.java
+84
-0
No files found.
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/service/IYsEmergencyUnitService.java
View file @
db3c2085
...
...
@@ -4,6 +4,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyUnitDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyUnit
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 应急联动单位管理接口类
...
...
@@ -22,4 +27,8 @@ public interface IYsEmergencyUnitService {
YsEmergencyUnitDto
querySafeUnitBySeq
(
Long
sequenceNbr
);
Page
<
YsEmergencyUnitDto
>
querySafeUnitsByPage
(
Page
<
YsEmergencyUnit
>
page
,
YsEmergencyUnitDto
ysEmergencyUnitDto
);
void
export
(
HttpServletResponse
response
,
List
<
String
>
asList
);
ResponseModel
<
Object
>
expertDataImport
(
MultipartFile
file
,
AgencyUserModel
userModel
);
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/ExportYsEmergencyUnitVo.java
0 → 100644
View file @
db3c2085
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* 应急联动单位管理
*
* @author system_generator
* @date 2024-09-24
*/
@Data
public
class
ExportYsEmergencyUnitVo
{
/**
* 名称
*/
@ExcelProperty
(
value
=
"名称"
,
index
=
0
)
private
String
name
;
/**
* 关联消防队
*/
@ExcelProperty
(
value
=
"关联消防队"
,
index
=
1
)
private
Integer
teamId
;
/**
* 地址
*/
@ExcelProperty
(
value
=
"地址"
,
index
=
2
)
private
String
address
;
/**
* 经纬度
*/
@ExcelProperty
(
value
=
"经纬度"
,
index
=
3
)
private
String
longitudeLatitude
;
/**
* 应急服务内容
*/
@ExcelProperty
(
value
=
"应急服务内容"
,
index
=
4
)
private
String
emergencyService
;
/**
* 单位传真
*/
@ExcelProperty
(
value
=
"单位传真"
,
index
=
5
)
private
String
fax
;
/**
* 保障能力
*/
@ExcelProperty
(
value
=
"保障能力"
,
index
=
6
)
private
String
guaranteeCapability
;
/**
* 保障类别
*/
@ExcelProperty
(
value
=
"保障类别"
,
index
=
7
)
private
String
guaranteeType
;
/**
* 联系人
*/
@ExcelProperty
(
value
=
"联系人"
,
index
=
8
)
private
String
linkman
;
/**
* 部门代码
*/
@ExcelProperty
(
value
=
"部门代码"
,
index
=
9
)
private
String
orgCode
;
/**
* 单位概述
*/
@ExcelProperty
(
value
=
"单位概述"
,
index
=
10
)
private
String
overview
;
/**
* 负责人
*/
@ExcelProperty
(
value
=
"负责人"
,
index
=
11
)
private
String
person
;
/**
* 联系电话
*/
@ExcelProperty
(
value
=
"联系电话"
,
index
=
12
)
private
String
phone
;
/**
* 单位编号
*/
@ExcelProperty
(
value
=
"单位编号"
,
index
=
13
)
private
String
unitNum
;
/**
* 单位类型
*/
@ExcelProperty
(
value
=
"单位类型"
,
index
=
14
)
private
String
unitType
;
/**
* 行政区划编号
*/
@ExcelProperty
(
value
=
"行政区划编号"
,
index
=
15
)
private
String
xzqhbh
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/ImportYsEmergencyUnitVo.java
0 → 100644
View file @
db3c2085
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.Data
;
/**
* @author chang xiangyu 2024/9/29
* }
*/
@Data
public
class
ImportYsEmergencyUnitVo
{
/**
* 名称 .
*/
@ExcelProperty
(
value
=
"名称"
,
index
=
0
)
private
String
name
;
/**
* 关联消防队 .
*/
@ExcelProperty
(
value
=
"关联消防队"
,
index
=
1
)
private
Integer
teamId
;
/**
* 地址 .
*/
@ExcelProperty
(
value
=
"地址"
,
index
=
2
)
private
String
address
;
/**
* 经纬度 .
*/
@ExcelProperty
(
value
=
"经纬度"
,
index
=
3
)
private
String
longitudeLatitude
;
/**
* 应急服务内容 .
*/
@ExcelProperty
(
value
=
"应急服务内容"
,
index
=
4
)
private
String
emergencyService
;
/**
* 单位传真 .
*/
@ExcelProperty
(
value
=
"单位传真"
,
index
=
5
)
private
String
fax
;
/**
* 保障能力 .
*/
@ExcelProperty
(
value
=
"保障能力"
,
index
=
6
)
private
String
guaranteeCapability
;
/**
* 保障类别 .
*/
@ExcelProperty
(
value
=
"保障类别"
,
index
=
7
)
private
String
guaranteeType
;
/**
* 联系人 .
*/
@ExcelProperty
(
value
=
"联系人"
,
index
=
8
)
private
String
linkman
;
/**
* 部门代码 .
*/
@ExcelProperty
(
value
=
"部门代码"
,
index
=
9
)
private
String
orgCode
;
/**
* 单位概述 .
*/
@ExcelProperty
(
value
=
"单位概述"
,
index
=
10
)
private
String
overview
;
/**
* 负责人 .
*/
@ExcelProperty
(
value
=
"负责人"
,
index
=
11
)
private
String
person
;
/**
* 联系电话 .
*/
@ExcelProperty
(
value
=
"联系电话"
,
index
=
12
)
private
String
phone
;
/**
* 单位编号 .
*/
@ExcelProperty
(
value
=
"单位编号"
,
index
=
13
)
private
String
unitNum
;
/**
* 单位类型 .
*/
@ExcelProperty
(
value
=
"单位类型"
,
index
=
14
)
private
String
unitType
;
/**
* 行政区划编号 .
*/
@ExcelProperty
(
value
=
"行政区划编号"
,
index
=
15
)
private
String
xzqhbh
;
/**
* 类型 .
*/
@ExcelProperty
(
value
=
"type"
,
index
=
16
)
private
String
type
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-biz/src/main/java/com/yeejoin/amos/boot/module/ys/biz/controller/YsEmergencyUnitController.java
View file @
db3c2085
...
...
@@ -10,14 +10,19 @@ import com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyUnitServiceIm
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.io.FilenameUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Arrays
;
import
java.util.List
;
/**
...
...
@@ -129,7 +134,7 @@ public class YsEmergencyUnitController extends BaseController {
/**
* 列表分页查询
*
*
@author chang xiangyu
* @param current 当前页
* @param current 每页大小
* @return
...
...
@@ -156,4 +161,48 @@ public class YsEmergencyUnitController extends BaseController {
public
ResponseModel
<
List
<
YsEmergencyUnitDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyUnitServiceImpl
.
queryForYsEmergencyUnitList
());
}
/**
* 单表导出excel
* @param response
* @param ids
*
* @author chang xiangyua
*/
//TODO
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/export"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"联动单元列表数据导出"
,
notes
=
"联动单元列表数据导出"
)
public
void
expertDataExport
(
HttpServletResponse
response
,
String
ids
)
{
Assert
.
hasText
(
ids
,
"未选择导出数据"
);
iYsEmergencyUnitService
.
export
(
response
,
Arrays
.
asList
(
ids
.
split
(
","
)));
}
/**
* @author chang xiangyu
* @param file
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/import"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"联动单元列表数据导入"
,
notes
=
"联动单元列表数据导入"
)
@CrossOrigin
(
"*"
)
public
ResponseModel
<
Object
>
expertDataImport
(
@RequestBody
MultipartFile
file
)
{
// 校验文件是否为空
if
(
file
.
isEmpty
())
{
return
ResponseHelper
.
buildResponse
(
"文件不能为空"
);
}
// 校验文件类型为 Excel
String
contentType
=
file
.
getContentType
();
String
fileExtension
=
FilenameUtils
.
getExtension
(
file
.
getOriginalFilename
());
// 校验 Excel 文件的 MIME type 和扩展名
if
(!(
"application/vnd.ms-excel"
.
equals
(
contentType
)
||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
.
equals
(
contentType
))
||
!(
"xls"
.
equalsIgnoreCase
(
fileExtension
)
||
"xlsx"
.
equalsIgnoreCase
(
fileExtension
)))
{
return
ResponseHelper
.
buildResponse
(
"文件类型必须是 Excel 文件"
);
}
AgencyUserModel
userModel
=
getSelectedOrgInfo
().
getUserModel
();
return
iYsEmergencyUnitService
.
expertDataImport
(
file
,
userModel
);
}
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-biz/src/main/java/com/yeejoin/amos/boot/module/ys/biz/service/impl/YsEmergencyUnitServiceImpl.java
View file @
db3c2085
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
biz
.
service
.
impl
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelReader
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.alibaba.excel.read.metadata.ReadSheet
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.excel.ExcelUtil
;
import
com.yeejoin.amos.boot.module.ys.api.common.StringUtil
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyUnitDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyRehearsal
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyUnit
;
import
com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyUnitMapper
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyUnitService
;
import
com.yeejoin.amos.boot.module.ys.api.vo.ExportYsEmergencyUnitVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.ImportYsEmergencyUnitVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.RehearsalImportVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.RehearsalVo
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -141,4 +159,69 @@ public class YsEmergencyUnitServiceImpl extends BaseService<YsEmergencyUnitDto,
BeanUtils
.
copyProperties
(
page
,
ysEmergencyUnitDtoPage
);
return
ysEmergencyUnitDtoPage
;
}
/**
* 列表数据导出
*
* @param response 响应
* @param ids 数据id
*/
@Override
public
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
)
{
LambdaQueryWrapper
<
YsEmergencyUnit
>
lambda
=
new
QueryWrapper
<
YsEmergencyUnit
>().
lambda
();
lambda
.
in
(
YsEmergencyUnit:
:
getSequenceNbr
,
ids
);
lambda
.
eq
(
YsEmergencyUnit:
:
getIsDelete
,
Boolean
.
FALSE
);
List
<
YsEmergencyUnit
>
experts
=
this
.
baseMapper
.
selectList
(
lambda
);
List
<
ExportYsEmergencyUnitVo
>
exportData
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
experts
),
ExportYsEmergencyUnitVo
.
class
);
ExcelUtil
.
createTemplate
(
response
,
"联动单位信息列表数据"
,
"联动单位信息列表"
,
exportData
,
ExportYsEmergencyUnitVo
.
class
,
null
,
false
);
}
/**
* 列表数据导入
*
* @param file excel 文件
* @return 导入结果
* @author chang xiangyu
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
ResponseModel
<
Object
>
expertDataImport
(
MultipartFile
file
,
AgencyUserModel
userModel
)
{
try
{
InputStream
inputStream
=
file
.
getInputStream
();
ExcelReader
excelReader
=
EasyExcel
.
read
(
inputStream
).
build
();
List
<
ReadSheet
>
sheetList
=
excelReader
.
excelExecutor
().
sheetList
();
ReadSheet
sheet
=
sheetList
.
get
(
0
);
if
(
ValidationUtil
.
isEmpty
(
sheet
))
{
throw
new
BadRequest
(
"Excel导入模板有误,请重写下载导入!"
);
}
ArrayList
<
YsEmergencyUnit
>
dataList
=
new
ArrayList
<>();
EasyExcel
.
read
(
file
.
getInputStream
(),
ImportYsEmergencyUnitVo
.
class
,
new
AnalysisEventListener
<
ImportYsEmergencyUnitVo
>()
{
@Override
public
void
invoke
(
ImportYsEmergencyUnitVo
data
,
AnalysisContext
context
)
{
YsEmergencyUnit
ysEmergencyUnit
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
YsEmergencyUnit
.
class
);
ysEmergencyUnit
.
setIsDelete
(
Boolean
.
FALSE
);
ysEmergencyUnit
.
setCreateDate
(
new
Date
());
ysEmergencyUnit
.
setCreateUserName
(
userModel
.
getUserName
());
ysEmergencyUnit
.
setCreateUserId
(
userModel
.
getUserId
());
dataList
.
add
(
ysEmergencyUnit
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
}
}).
headRowNumber
(
1
).
sheet
().
doRead
();
excelReader
.
finish
();
// 保存数据
this
.
saveOrUpdateBatch
(
dataList
);
return
ResponseHelper
.
buildResponse
(
"success"
);
}
catch
(
Exception
e
)
{
throw
new
BadRequest
(
e
.
getMessage
());
}
}
}
\ No newline at end of file
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