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
7b047300
Commit
7b047300
authored
Sep 26, 2024
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ys-应急):演练记录管理
parent
5fec5113
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
315 additions
and
57 deletions
+315
-57
YsEmergencyRehearsalDto.java
.../amos/boot/module/ys/api/dto/YsEmergencyRehearsalDto.java
+8
-5
YsEmergencyRehearsal.java
.../amos/boot/module/ys/api/entity/YsEmergencyRehearsal.java
+1
-1
YsEmergencyRehearsalMapper.java
...boot/module/ys/api/mapper/YsEmergencyRehearsalMapper.java
+7
-1
IYsEmergencyRehearsalService.java
...t/module/ys/api/service/IYsEmergencyRehearsalService.java
+23
-1
RehearsalImportVo.java
...yeejoin/amos/boot/module/ys/api/vo/RehearsalImportVo.java
+26
-0
RehearsalVo.java
...a/com/yeejoin/amos/boot/module/ys/api/vo/RehearsalVo.java
+23
-0
YsEmergencyRehearsalMapper.xml
.../src/main/resources/mapper/YsEmergencyRehearsalMapper.xml
+16
-0
YsEmergencyRehearsalController.java
...ule/ys/biz/controller/YsEmergencyRehearsalController.java
+86
-49
YsEmergencyRehearsalServiceImpl.java
.../ys/biz/service/impl/YsEmergencyRehearsalServiceImpl.java
+125
-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/dto/YsEmergencyRehearsalDto.java
View file @
7b047300
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
dto
;
import
com.alibaba.fastjson.JSONArray
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -16,14 +18,14 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"YsEmergencyRehearsalDto"
,
description
=
"应急演练记录管理"
)
public
class
YsEmergencyRehearsalDto
extends
BaseDto
{
@ApiModel
(
value
=
"YsEmergencyRehearsalDto"
,
description
=
"应急演练记录管理"
)
public
class
YsEmergencyRehearsalDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"关联对象id"
)
private
Integer
businessId
;
private
String
businessId
;
@ApiModelProperty
(
value
=
"关联对象类型"
)
private
String
type
;
...
...
@@ -35,10 +37,11 @@ public class YsEmergencyRehearsalDto extends BaseDto {
private
String
rehearsalContent
;
@ApiModelProperty
(
value
=
"演练时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
rehearsalTime
;
@ApiModelProperty
(
value
=
"演练文件"
)
private
String
rehearsalFile
;
private
JSONArray
rehearsalFile
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createDate
;
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/entity/YsEmergencyRehearsal.java
View file @
7b047300
...
...
@@ -27,7 +27,7 @@ public class YsEmergencyRehearsal extends BaseEntity {
* 关联对象id
*/
@TableField
(
"business_id"
)
private
Integer
businessId
;
private
String
businessId
;
/**
* 关联对象类型
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/mapper/YsEmergencyRehearsalMapper.java
View file @
7b047300
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyRehearsal
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyRehearsal
;
import
org.springframework.data.repository.query.Param
;
/**
* 应急演练记录管理 Mapper 接口
...
...
@@ -11,4 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public
interface
YsEmergencyRehearsalMapper
extends
BaseMapper
<
YsEmergencyRehearsal
>
{
Page
<
YsEmergencyRehearsalDto
>
queryForYsEmergencyRehearsalPage
(
@Param
(
value
=
"page"
)
Page
<
YsEmergencyRehearsalDto
>
page
,
@Param
(
value
=
"dto"
)
YsEmergencyRehearsalDto
dto
);
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/service/IYsEmergencyRehearsalService.java
View file @
7b047300
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto
;
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
;
/**
* 应急演练记录管理接口类
*
* @author system_generator
* @date 2024-09-24
*/
public
interface
IYsEmergencyRehearsalService
{}
public
interface
IYsEmergencyRehearsalService
{
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
);
Boolean
saveOrUpdate
(
YsEmergencyRehearsalDto
model
,
AgencyUserModel
userModel
);
Boolean
deleteBySeq
(
String
sequenceNbr
);
YsEmergencyRehearsalDto
detailBySeq
(
String
sequenceNbr
);
ResponseModel
<
Object
>
expertDataImport
(
MultipartFile
file
);
Page
<
YsEmergencyRehearsalDto
>
queryForYsEmergencyRehearsalPage
(
Page
<
YsEmergencyRehearsalDto
>
page
,
YsEmergencyRehearsalDto
dto
);
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/RehearsalImportVo.java
0 → 100644
View file @
7b047300
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
/**
* 演练记录
*/
@Data
public
class
RehearsalImportVo
{
@ExcelProperty
(
value
=
"演练地点"
)
String
rehearsalAddress
;
@ExcelProperty
(
value
=
"演练概述"
)
String
rehearsalContent
;
@ExcelProperty
(
value
=
"演练时间"
)
String
rehearsalTime
;
@ExcelProperty
(
value
=
"关联对象id"
)
String
businessId
;
@ExcelProperty
(
value
=
"关联对象类型"
)
String
type
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/RehearsalVo.java
0 → 100644
View file @
7b047300
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
/**
* 演练记录
*/
@Data
public
class
RehearsalVo
{
@ExcelProperty
(
value
=
"演练地点"
,
index
=
0
)
String
rehearsalAddress
;
@ExcelProperty
(
value
=
"演练时间"
,
index
=
1
)
String
rehearsalTime
;
@ExcelProperty
(
value
=
"关联对象id"
,
index
=
2
)
String
businessId
;
@ExcelProperty
(
value
=
"关联对象类型"
,
index
=
3
)
String
type
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/resources/mapper/YsEmergencyRehearsalMapper.xml
View file @
7b047300
...
...
@@ -2,4 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyRehearsalMapper"
>
<select
id=
"queryForYsEmergencyRehearsalPage"
resultType=
"com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto"
>
select
*
FROM tzs_ys_emergency_rehearsal tyer
<where>
tyer.is_delete = 0
<if
test=
"dto != null "
>
<if
test=
"dto.rehearsalAddress != null and dto.rehearsalAddress != ''"
>
AND tyer.rehearsal_address LIKE CONCAT('%', #{dto.rehearsalAddress}, '%')
</if>
</if>
</where>
ORDER BY
tyer.create_date DESC
</select>
</mapper>
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-biz/src/main/java/com/yeejoin/amos/boot/module/ys/biz/controller/YsEmergencyRehearsalController.java
View file @
7b047300
...
...
@@ -3,21 +3,26 @@ package com.yeejoin.amos.boot.module.ys.biz.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyRehearsalDto
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyRehearsalService
;
import
com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyRehearsalServiceImpl
;
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
;
/**
*
* @author system_generator
* @date 2024-09-24
*/
...
...
@@ -27,88 +32,120 @@ import java.util.List;
public
class
YsEmergencyRehearsalController
extends
BaseController
{
@Autowired
IYsEmergencyRehearsalService
iYsEmergencyRehearsalService
;
@Autowired
YsEmergencyRehearsalServiceImpl
ysEmergencyRehearsalServiceImpl
;
/**
* 新增
* 新增
或者更新
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/sav
e"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增
"
)
public
ResponseModel
<
YsEmergencyRehearsalDto
>
sav
e
(
@RequestBody
YsEmergencyRehearsalDto
model
)
{
model
=
ysEmergencyRehearsalServiceImpl
.
createWithModel
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
}
@PostMapping
(
value
=
"/saveOrUpdat
e"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增或者更新"
,
notes
=
"新增或者更新
"
)
public
ResponseModel
<
Boolean
>
saveOrUpdat
e
(
@RequestBody
YsEmergencyRehearsalDto
model
)
{
AgencyUserModel
userModel
=
getSelectedOrgInfo
().
getUserModel
(
);
return
ResponseHelper
.
buildResponse
(
iYsEmergencyRehearsalService
.
saveOrUpdate
(
model
,
userModel
)
);
}
/**
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
YsEmergencyRehearsalDto
>
updateBySequenceNbrYsEmergencyRehearsal
(
@RequestBody
YsEmergencyRehearsalDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
updateWithModel
(
model
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新"
,
notes
=
"根据sequenceNbr更新"
)
public
ResponseModel
<
YsEmergencyRehearsalDto
>
updateBySequenceNbrYsEmergencyRehearsal
(
@RequestBody
YsEmergencyRehearsalDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
updateWithModel
(
model
));
}
/**
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/
{sequenceNbr}
"
)
@DeleteMapping
(
value
=
"/
deleteBySeq
"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除"
,
notes
=
"根据sequenceNbr删除"
)
public
ResponseModel
<
Boolean
>
deleteBySeq
uenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
removeById
(
sequenceNbr
));
public
ResponseModel
<
Boolean
>
deleteBySeq
(
@RequestParam
(
value
=
"sequenceNbr"
)
String
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
iYsEmergencyRehearsalService
.
deleteBySeq
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr
主键
* @param sequenceNbr
主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}
"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
YsEmergencyRehearsalDto
>
selectOne
(
@PathVariable
Lo
ng
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
query
BySeq
(
sequenceNbr
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/detailBySeq
"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
YsEmergencyRehearsalDto
>
detailBySeq
(
@RequestParam
(
value
=
"sequenceNbr"
)
Stri
ng
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
iYsEmergencyRehearsalService
.
detail
BySeq
(
sequenceNbr
));
}
/**
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
YsEmergencyRehearsalDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
YsEmergencyRehearsalDto
>
page
=
new
Page
<
YsEmergencyRehearsalDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
queryForYsEmergencyRehearsalPage
(
page
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
YsEmergencyRehearsalDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
YsEmergencyRehearsalDto
dto
)
{
Page
<
YsEmergencyRehearsalDto
>
page
=
new
Page
<
YsEmergencyRehearsalDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
iYsEmergencyRehearsalService
.
queryForYsEmergencyRehearsalPage
(
page
,
dto
));
}
/**
* 列表全部数据查询
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
YsEmergencyRehearsalDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
queryForYsEmergencyRehearsalList
());
}
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
YsEmergencyRehearsalDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyRehearsalServiceImpl
.
queryForYsEmergencyRehearsalList
());
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/import"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"专家库列表数据导入"
,
notes
=
"专家库列表数据导入"
)
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 文件"
);
}
return
ysEmergencyRehearsalServiceImpl
.
expertDataImport
(
file
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/export"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表数据导出"
,
notes
=
"列表数据导出"
)
public
void
expertDataExport
(
HttpServletResponse
response
,
String
ids
)
{
Assert
.
hasText
(
ids
,
"未选择导出数据"
);
ysEmergencyRehearsalServiceImpl
.
export
(
response
,
Arrays
.
asList
(
ids
.
split
(
","
)));
}
}
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/YsEmergencyRehearsalServiceImpl.java
View file @
7b047300
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
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
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.dto.YsEmergencyRehearsalDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyRehearsal
;
import
com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyRehearsalMapper
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyRehearsalService
;
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.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
;
/**
...
...
@@ -18,6 +44,10 @@ import java.util.List;
*/
@Service
public
class
YsEmergencyRehearsalServiceImpl
extends
BaseService
<
YsEmergencyRehearsalDto
,
YsEmergencyRehearsal
,
YsEmergencyRehearsalMapper
>
implements
IYsEmergencyRehearsalService
{
@Autowired
YsEmergencyRehearsalMapper
ysEmergencyRehearsalMapper
;
/**
* 分页查询
*/
...
...
@@ -31,4 +61,98 @@ public class YsEmergencyRehearsalServiceImpl extends BaseService<YsEmergencyRehe
public
List
<
YsEmergencyRehearsalDto
>
queryForYsEmergencyRehearsalList
()
{
return
this
.
queryForList
(
""
,
false
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
saveOrUpdate
(
YsEmergencyRehearsalDto
dto
,
AgencyUserModel
userModel
)
{
YsEmergencyRehearsal
emergencyRehearsal
=
new
YsEmergencyRehearsal
();
if
(
ValidationUtil
.
isEmpty
(
dto
.
getSequenceNbr
()))
{
//新增
dto
.
setCreateDate
(
new
Date
());
dto
.
setCreateUserId
(
userModel
.
getUserId
());
dto
.
setCreateUserName
(
userModel
.
getUserName
());
}
emergencyRehearsal
.
setRehearsalFile
(
JSON
.
toJSONString
(
dto
.
getRehearsalFile
()));
BeanUtils
.
copyProperties
(
dto
,
emergencyRehearsal
);
return
this
.
saveOrUpdate
(
emergencyRehearsal
);
}
@Override
public
Boolean
deleteBySeq
(
String
sequenceNbr
)
{
LambdaUpdateWrapper
<
YsEmergencyRehearsal
>
lambda
=
new
UpdateWrapper
<
YsEmergencyRehearsal
>().
lambda
();
lambda
.
eq
(
YsEmergencyRehearsal:
:
getSequenceNbr
,
sequenceNbr
);
lambda
.
set
(
YsEmergencyRehearsal:
:
getIsDelete
,
Boolean
.
TRUE
);
return
this
.
update
(
lambda
);
}
@Override
public
YsEmergencyRehearsalDto
detailBySeq
(
String
sequenceNbr
)
{
YsEmergencyRehearsalDto
emergencyRehearsalDto
=
new
YsEmergencyRehearsalDto
();
YsEmergencyRehearsal
emergencyRehearsal
=
this
.
baseMapper
.
selectById
(
sequenceNbr
);
BeanUtils
.
copyProperties
(
emergencyRehearsal
,
emergencyRehearsalDto
);
emergencyRehearsalDto
.
setRehearsalFile
(
JSON
.
parseArray
(
emergencyRehearsal
.
getRehearsalFile
()));
return
emergencyRehearsalDto
;
}
@Override
public
Page
<
YsEmergencyRehearsalDto
>
queryForYsEmergencyRehearsalPage
(
Page
<
YsEmergencyRehearsalDto
>
page
,
YsEmergencyRehearsalDto
dto
)
{
return
ysEmergencyRehearsalMapper
.
queryForYsEmergencyRehearsalPage
(
page
,
dto
);
}
/**
* 列表数据导出
*
* @param response 响应
* @param ids 数据id
*/
@Override
public
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
)
{
LambdaQueryWrapper
<
YsEmergencyRehearsal
>
lambda
=
new
QueryWrapper
<
YsEmergencyRehearsal
>().
lambda
();
lambda
.
in
(
YsEmergencyRehearsal:
:
getSequenceNbr
,
ids
);
List
<
YsEmergencyRehearsal
>
experts
=
this
.
baseMapper
.
selectList
(
lambda
);
List
<
RehearsalVo
>
exportData
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
experts
),
RehearsalVo
.
class
);
ExcelUtil
.
createTemplate
(
response
,
"演练记录列表数据"
,
"演练记录列表"
,
exportData
,
RehearsalVo
.
class
,
null
,
false
);
}
/**
* 列表数据导入
*
* @param file excel 文件
* @return 导入结果
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
ResponseModel
<
Object
>
expertDataImport
(
MultipartFile
file
)
{
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
<
YsEmergencyRehearsal
>
dataList
=
new
ArrayList
<>();
EasyExcel
.
read
(
file
.
getInputStream
(),
RehearsalImportVo
.
class
,
new
AnalysisEventListener
<
RehearsalImportVo
>()
{
@Override
public
void
invoke
(
RehearsalImportVo
data
,
AnalysisContext
context
)
{
dataList
.
add
(
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
YsEmergencyRehearsal
.
class
));
}
@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