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
8f6e6682
Commit
8f6e6682
authored
Sep 30, 2024
by
hekaiwen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加导入接口
parent
57d36fb5
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
148 additions
and
1 deletion
+148
-1
IYsEmergencyCaseService.java
...s/boot/module/ys/api/service/IYsEmergencyCaseService.java
+5
-0
CaseImportVo.java
.../com/yeejoin/amos/boot/module/ys/api/vo/CaseImportVo.java
+57
-0
YsEmergencyCaseController.java
...t/module/ys/biz/controller/YsEmergencyCaseController.java
+26
-0
YsEmergencyCaseServiceImpl.java
...odule/ys/biz/service/impl/YsEmergencyCaseServiceImpl.java
+60
-1
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/IYsEmergencyCaseService.java
View file @
8f6e6682
...
...
@@ -6,6 +6,8 @@ import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
...
...
@@ -28,4 +30,7 @@ public interface IYsEmergencyCaseService {
YsEmergencyCaseDto
queryBySequenceNbr
(
String
sequenceNbr
);
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
);
@Transactional
(
rollbackFor
=
Exception
.
class
)
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/CaseImportVo.java
0 → 100644
View file @
8f6e6682
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.format.DateTimeFormat
;
import
lombok.Data
;
import
java.util.Date
;
/**
*案例列表
*/
@Data
public
class
CaseImportVo
{
@ExcelProperty
(
value
=
"案例名称"
)
String
caseName
;
@ExcelProperty
(
value
=
"处置对象"
)
String
handleObject
;
@ExcelProperty
(
value
=
"灾情省"
)
String
provinceDisaster
;
@ExcelProperty
(
value
=
"灾情市"
)
String
cityDisaster
;
@ExcelProperty
(
value
=
"灾情发生地点"
)
String
locationDisaster
;
@ExcelProperty
(
value
=
"群众伤亡"
)
String
personCasualties
;
@ExcelProperty
(
value
=
"灾情等级"
)
String
disasterLevelId
;
@ExcelProperty
(
value
=
"灾情大类型"
)
String
disasterTypeId
;
@ExcelProperty
(
value
=
"灾情类型"
)
String
disasterType
;
@ExcelProperty
(
value
=
"灾情细分类型id"
)
Integer
disasterSubdivideId
;
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelProperty
(
value
=
"结束时间"
)
Date
disasterEndTime
;
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelProperty
(
value
=
"开始时间"
)
Date
disasterStartTime
;
@DateTimeFormat
(
"yyyy-MM-dd"
)
@ExcelProperty
(
value
=
"立案时间"
)
Date
filingTime
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-biz/src/main/java/com/yeejoin/amos/boot/module/ys/biz/controller/YsEmergencyCaseController.java
View file @
8f6e6682
...
...
@@ -13,9 +13,11 @@ import com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyCaseServiceIm
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
;
...
...
@@ -153,4 +155,28 @@ public class YsEmergencyCaseController extends BaseController {
Assert
.
hasText
(
ids
,
"未选择导出数据"
);
ysEmergencyCaseServiceImpl
.
export
(
response
,
Arrays
.
asList
(
ids
.
split
(
","
)));
}
/**
*数据导入
*/
@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
ysEmergencyCaseServiceImpl
.
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/YsEmergencyCaseServiceImpl.java
View file @
8f6e6682
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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -11,17 +16,23 @@ import com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyCaseDto;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyCase
;
import
com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyCaseMapper
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyCaseService
;
import
com.yeejoin.amos.boot.module.ys.api.vo.CaseImportVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.CaseVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.RehearsalVo
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
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
;
...
...
@@ -122,4 +133,51 @@ public class YsEmergencyCaseServiceImpl extends BaseService<YsEmergencyCaseDto,Y
ExcelUtil
.
createTemplate
(
response
,
"案例列表数据"
,
"案例列表列表"
,
exportData
,
CaseVo
.
class
,
null
,
false
);
}
/**
* 列表数据导入
*
* @param file excel 文件
* @return 导入结果
*/
@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
<
YsEmergencyCase
>
dataList
=
new
ArrayList
<>();
EasyExcel
.
read
(
file
.
getInputStream
(),
CaseImportVo
.
class
,
new
AnalysisEventListener
<
CaseImportVo
>()
{
@Override
public
void
invoke
(
CaseImportVo
data
,
AnalysisContext
context
)
{
YsEmergencyCase
emergencyCase
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
YsEmergencyCase
.
class
);
emergencyCase
.
setIsDelete
(
Boolean
.
FALSE
);
emergencyCase
.
setCreateDate
(
new
Date
());
emergencyCase
.
setCreateUserName
(
userModel
.
getUserName
());
emergencyCase
.
setCreateUserId
(
userModel
.
getUserId
());
dataList
.
add
(
emergencyCase
);
}
@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