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
5e8fe742
Commit
5e8fe742
authored
Sep 25, 2024
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ys-应急):专家列表crud导入导出模板下载
parent
99e8d6c3
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
505 additions
and
27 deletions
+505
-27
CommonConverter.java
...in/amos/boot/module/ys/api/converter/CommonConverter.java
+45
-0
YsEmergencyExpertsDto.java
...in/amos/boot/module/ys/api/dto/YsEmergencyExpertsDto.java
+4
-1
YsEmergencyCase.java
...ejoin/amos/boot/module/ys/api/entity/YsEmergencyCase.java
+1
-1
YsEmergencyExperts.java
...in/amos/boot/module/ys/api/entity/YsEmergencyExperts.java
+1
-1
YsEmergencyPlan.java
...ejoin/amos/boot/module/ys/api/entity/YsEmergencyPlan.java
+1
-1
YsEmergencyRehearsal.java
.../amos/boot/module/ys/api/entity/YsEmergencyRehearsal.java
+1
-1
YsEmergencyUnit.java
...ejoin/amos/boot/module/ys/api/entity/YsEmergencyUnit.java
+1
-1
YsEmergencyExpertsMapper.java
...s/boot/module/ys/api/mapper/YsEmergencyExpertsMapper.java
+16
-1
IYsEmergencyExpertsService.java
...oot/module/ys/api/service/IYsEmergencyExpertsService.java
+19
-1
ExpertImportVo.java
...om/yeejoin/amos/boot/module/ys/api/vo/ExpertImportVo.java
+66
-0
ExpertVo.java
...java/com/yeejoin/amos/boot/module/ys/api/vo/ExpertVo.java
+39
-0
YsEmergencyExpertsMapper.xml
...pi/src/main/resources/mapper/YsEmergencyExpertsMapper.xml
+62
-0
CommonController.java
.../amos/boot/module/ys/biz/controller/CommonController.java
+36
-0
YsEmergencyExpertsController.java
...odule/ys/biz/controller/YsEmergencyExpertsController.java
+56
-14
CommonService.java
...eejoin/amos/boot/module/ys/biz/service/CommonService.java
+9
-0
CommonServiceImpl.java
...os/boot/module/ys/biz/service/impl/CommonServiceImpl.java
+30
-0
YsEmergencyExpertsServiceImpl.java
...le/ys/biz/service/impl/YsEmergencyExpertsServiceImpl.java
+118
-5
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/converter/CommonConverter.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
converter
;
import
com.alibaba.excel.converters.Converter
;
import
com.alibaba.excel.enums.CellDataTypeEnum
;
import
com.alibaba.excel.metadata.CellData
;
import
com.alibaba.excel.metadata.GlobalConfiguration
;
import
com.alibaba.excel.metadata.property.ExcelContentProperty
;
import
java.util.HashMap
;
import
java.util.Map
;
public
class
CommonConverter
implements
Converter
<
String
>
{
private
static
final
Map
<
String
,
String
>
map
=
new
HashMap
<>();
static
{
map
.
put
(
"男"
,
"1"
);
map
.
put
(
"女"
,
"0"
);
}
@Override
public
Class
<?>
supportJavaTypeKey
()
{
// 实体类中对象属性类型
return
String
.
class
;
}
@Override
public
CellDataTypeEnum
supportExcelTypeKey
()
{
return
CellDataTypeEnum
.
STRING
;
}
@Override
public
String
convertToJavaData
(
CellData
cellData
,
ExcelContentProperty
excelContentProperty
,
GlobalConfiguration
globalConfiguration
)
{
// 从Cell中读取数据
String
cellValue
=
cellData
.
getStringValue
();
// 判断Excel中的值,将其转换为预期的数值
return
map
.
getOrDefault
(
cellValue
,
null
);
}
@Override
public
CellData
convertToExcelData
(
String
o
,
ExcelContentProperty
excelContentProperty
,
GlobalConfiguration
globalConfiguration
)
throws
Exception
{
return
new
CellData
(
""
);
}
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/dto/YsEmergencyExpertsDto.java
View file @
5e8fe742
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
;
...
...
@@ -35,7 +37,7 @@ public class YsEmergencyExpertsDto extends BaseDto {
private
String
phone
;
@ApiModelProperty
(
value
=
"照片"
)
private
String
photo
;
private
JSONArray
photo
;
@ApiModelProperty
(
value
=
"移动电话"
)
private
String
mobilePhone
;
...
...
@@ -44,6 +46,7 @@ public class YsEmergencyExpertsDto extends BaseDto {
private
String
address
;
@ApiModelProperty
(
value
=
"出生日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
birthdate
;
@ApiModelProperty
(
value
=
"籍贯"
)
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/entity/YsEmergencyCase.java
View file @
5e8fe742
...
...
@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.ys.api.entity;
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
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/entity/YsEmergencyExperts.java
View file @
5e8fe742
...
...
@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.ys.api.entity;
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
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/entity/YsEmergencyPlan.java
View file @
5e8fe742
...
...
@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.ys.api.entity;
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
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
...
...
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 @
5e8fe742
...
...
@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.ys.api.entity;
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
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/entity/YsEmergencyUnit.java
View file @
5e8fe742
...
...
@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.ys.api.entity;
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
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
java.util.Date
;
...
...
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/mapper/YsEmergencyExpertsMapper.java
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyExperts
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyExperts
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Map
;
/**
* 应急专家库 Mapper 接口
...
...
@@ -11,4 +16,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public
interface
YsEmergencyExpertsMapper
extends
BaseMapper
<
YsEmergencyExperts
>
{
/**
* 分页查询
*
* @param page 分页对象
* @param dto 查询参数
* @return
*/
Page
<
Map
<
String
,
Object
>>
pageList
(
@Param
(
"page"
)
Page
<
Map
<
String
,
Object
>>
page
,
@Param
(
"dto"
)
YsEmergencyExpertsDto
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/IYsEmergencyExpertsService.java
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
service
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto
;
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
;
import
java.util.Map
;
/**
* 应急专家库接口类
*
* @author system_generator
* @date 2024-09-24
*/
public
interface
IYsEmergencyExpertsService
{}
public
interface
IYsEmergencyExpertsService
{
Boolean
saveOrUpdate
(
Map
<
String
,
Object
>
model
,
AgencyUserModel
userModel
);
YsEmergencyExpertsDto
queryBySequenceNbr
(
String
sequenceNbr
);
ResponseModel
<
Object
>
expertDataImport
(
MultipartFile
file
);
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
);
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/ExpertImportVo.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yeejoin.amos.boot.module.ys.api.converter.CommonConverter
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 专家库
*/
@Data
public
class
ExpertImportVo
{
@ExcelProperty
(
value
=
"姓名"
)
private
String
name
;
@ExcelProperty
(
value
=
"性别"
,
converter
=
CommonConverter
.
class
)
private
String
gender
;
@ExcelProperty
(
value
=
"身份证号"
)
private
String
identity
;
@ExcelProperty
(
value
=
"办公电话"
)
private
String
phone
;
@ExcelProperty
(
value
=
"移动电话"
)
private
String
mobilePhone
;
@ExcelProperty
(
value
=
"住址"
)
private
String
address
;
@ExcelProperty
(
value
=
"出生日期"
)
private
Date
birthdate
;
@ExcelProperty
(
value
=
"籍贯"
)
private
String
birthPlace
;
@ExcelProperty
(
value
=
"所在单位"
)
private
String
company
;
@ExcelProperty
(
value
=
"通讯地址"
)
private
String
contactAddress
;
@ExcelProperty
(
value
=
"学历"
)
private
String
education
;
@ExcelProperty
(
value
=
"专家领域"
)
private
String
field
;
@ExcelProperty
(
value
=
"家庭电话"
)
private
String
homePhone
;
@ExcelProperty
(
value
=
"部门代码"
)
private
String
orgCode
;
@ExcelProperty
(
value
=
"职务"
)
private
String
position
;
@ExcelProperty
(
value
=
"邮政编码"
)
private
String
postcode
;
@ExcelProperty
(
value
=
"消防单位id"
)
private
Integer
xfdwid
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/java/com/yeejoin/amos/boot/module/ys/api/vo/ExpertVo.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Data
;
/**
* 专家库
*/
@Data
public
class
ExpertVo
{
@ExcelProperty
(
value
=
"姓名"
,
index
=
0
)
String
name
;
@ExcelProperty
(
value
=
"性别"
,
index
=
1
)
String
gender
;
@ExcelProperty
(
value
=
"身份证号"
,
index
=
2
)
String
identity
;
@ExcelProperty
(
value
=
"办公电话"
,
index
=
3
)
String
phone
;
@ExcelProperty
(
value
=
"出生日期"
,
index
=
4
)
String
birthdate
;
@ExcelProperty
(
value
=
"所在单位"
,
index
=
5
)
String
company
;
@ExcelProperty
(
value
=
"专家领域"
,
index
=
6
)
String
field
;
@ExcelProperty
(
value
=
"职务"
,
index
=
7
)
String
position
;
@ExcelProperty
(
value
=
"通讯地址"
,
index
=
8
)
String
contact_address
;
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-api/src/main/resources/mapper/YsEmergencyExpertsMapper.xml
View file @
5e8fe742
...
...
@@ -2,4 +2,66 @@
<!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.YsEmergencyExpertsMapper"
>
<select
id=
"pageList"
resultType=
"java.util.Map"
>
select
tyee."birthdate" as birthdate,
tyee."education" as education,
tyee."gender" as gender,
tyee."create_user_name" as createUserName,
tyee."rec_date" as recDate,
tyee."rec_user_name" as recUserName,
tyee."xfdwid" as xfdwid,
tyee."identity" as identity,
tyee."mobile_phone" as mobilePhone,
tyee."company" as company,
tyee."create_date" as createDate,
tyee."contact_address" as contactAddress,
tyee."home_phone" as homePhone,
tyee."create_user_id" as createUserId,
tyee."address" as address,
tyee."postcode" as postcode,
tyee."sequence_nbr" as sequenceNbr,
tyee."photo" as photo,
tyee."birth_place" as birthPlace,
tyee."is_delete" as isDelete,
tyee."rec_user_id" as recUserId,
tyee."field" as field,
tyee."phone" as phone,
tyee."name" as name,
tyee."position" as position,
tyee."org_code" as orgCode
FROM tzs_ys_emergency_experts tyee
<where>
tyee.is_delete = 0
<if
test=
"dto != null "
>
<if
test=
"dto.name != null and dto.name != ''"
>
AND tyee.name LIKE CONCAT('%', #{dto.name}, '%')
</if>
<if
test=
"dto.identity != null and dto.identity != ''"
>
AND tyee.identity = #{dto.identity}
</if>
<if
test=
"dto.phone != null and dto.phone != ''"
>
AND tyee.phone = #{dto.phone}
</if>
<if
test=
"dto.mobilePhone != null and dto.mobilePhone != ''"
>
AND tyee.mobile_phone LIKE CONCAT('%', #{dto.mobilePhone}, '%')
</if>
<if
test=
"dto.address != null and dto.address != ''"
>
AND tyee.address LIKE CONCAT('%', #{dto.address}, '%')
</if>
<if
test=
"dto.company != null and dto.company != ''"
>
AND tyee.company LIKE CONCAT('%', #{dto.company}, '%')
</if>
<if
test=
"dto.field != null and dto.field != ''"
>
AND tyee.field LIKE CONCAT('%', #{dto.field}, '%')
</if>
<if
test=
"dto.birthdate != null"
>
AND tyee.birthdate LIKE concat(DATE_FORMAT(#{dto.birthdate},'%Y-%m-%d'),'%')
</if>
</if>
</where>
ORDER BY
tyee.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/CommonController.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
biz
.
controller
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
com.yeejoin.amos.boot.module.ys.biz.service.CommonService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
javax.servlet.http.HttpServletResponse
;
/**
*
* @author system_generator
* @date 2024-09-24
*/
@RestController
@Api
(
tags
=
"公共接口"
)
@RequestMapping
(
value
=
"/common"
)
public
class
CommonController
extends
BaseController
{
@Autowired
private
CommonService
commonService
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"模板下载"
,
notes
=
"模板下载"
)
@RequestMapping
(
value
=
"/templateDownload"
,
method
=
RequestMethod
.
GET
)
public
void
queryForPage
(
HttpServletResponse
response
,
@RequestParam
(
value
=
"path"
)
String
path
)
{
commonService
.
templateDownload
(
response
,
path
);
}
}
amos-boot-system-tzs/amos-boot-module-ys/amos-boot-module-ys-biz/src/main/java/com/yeejoin/amos/boot/module/ys/biz/controller/YsEmergencyExpertsController.java
View file @
5e8fe742
...
...
@@ -3,18 +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.YsEmergencyExpertsDto
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyExpertsService
;
import
com.yeejoin.amos.boot.module.ys.biz.service.impl.YsEmergencyExpertsServiceImpl
;
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
;
import
java.util.Map
;
/**
*
...
...
@@ -26,6 +34,9 @@ import java.util.List;
@RequestMapping
(
value
=
"/ys-emergency-experts"
)
public
class
YsEmergencyExpertsController
extends
BaseController
{
@Autowired
private
IYsEmergencyExpertsService
iYsEmergencyExpertsService
;
@Autowired
YsEmergencyExpertsServiceImpl
ysEmergencyExpertsServiceImpl
;
...
...
@@ -35,11 +46,11 @@ public class YsEmergencyExpertsController extends BaseController {
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增
"
,
notes
=
"新增
"
)
public
ResponseModel
<
YsEmergencyExpertsDto
>
save
(
@RequestBody
YsEmergencyExpertsDto
model
)
{
model
=
ysEmergencyExpertsServiceImpl
.
createWithModel
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
@PostMapping
(
value
=
"/save
OrUpdate
"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增
or更新"
,
notes
=
"新增or更新
"
)
public
ResponseModel
<
Boolean
>
saveOrUpdate
(
@RequestBody
Map
<
String
,
Object
>
model
)
{
AgencyUserModel
userModel
=
getSelectedOrgInfo
().
getUserModel
(
);
return
ResponseHelper
.
buildResponse
(
iYsEmergencyExpertsService
.
saveOrUpdate
(
model
,
userModel
)
);
}
/**
...
...
@@ -76,10 +87,10 @@ public class YsEmergencyExpertsController extends BaseController {
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/
{sequenceNbr}
"
)
@GetMapping
(
value
=
"/
detail
"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
YsEmergencyExpertsDto
>
selectOne
(
@
PathVariable
Lo
ng
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyExpertsServiceImpl
.
queryBySeq
(
sequenceNbr
));
public
ResponseModel
<
YsEmergencyExpertsDto
>
selectOne
(
@
RequestParam
Stri
ng
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
iYsEmergencyExpertsService
.
queryBySequenceNbr
(
sequenceNbr
));
}
/**
...
...
@@ -90,14 +101,15 @@ public class YsEmergencyExpertsController extends BaseController {
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
YsEmergencyExpertsDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
YsEmergencyExpertsDto
>
page
=
new
Page
<
YsEmergencyExpertsDto
>();
@PostMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
Map
<
String
,
Object
>>>
queryForPage
(
YsEmergencyExpertsDto
dto
,
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
ysEmergencyExpertsServiceImpl
.
queryForYsEmergencyExpertsPage
(
page
));
return
ResponseHelper
.
buildResponse
(
ysEmergencyExpertsServiceImpl
.
queryForYsEmergencyExpertsPage
(
dto
,
page
));
}
/**
...
...
@@ -111,4 +123,34 @@ public class YsEmergencyExpertsController extends BaseController {
public
ResponseModel
<
List
<
YsEmergencyExpertsDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
ysEmergencyExpertsServiceImpl
.
queryForYsEmergencyExpertsList
());
}
@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
ysEmergencyExpertsServiceImpl
.
expertDataImport
(
file
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/export"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"专家库列表数据导出"
,
notes
=
"专家库列表数据导出"
)
public
void
expertDataExport
(
HttpServletResponse
response
,
String
ids
)
{
Assert
.
hasText
(
ids
,
"未选择导出数据"
);
ysEmergencyExpertsServiceImpl
.
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/CommonService.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
biz
.
service
;
import
javax.servlet.http.HttpServletResponse
;
public
interface
CommonService
{
void
templateDownload
(
HttpServletResponse
response
,
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/service/impl/CommonServiceImpl.java
0 → 100644
View file @
5e8fe742
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ys
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.ys.biz.service.CommonService
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 公共服务实现类
*
* @author system_generator
* @date 2024-09-24
*/
@Service
public
class
CommonServiceImpl
implements
CommonService
{
/**
* 模板下载
* @param response 响应
* @param type 类型
* @return 模板文件
*/
@Override
public
void
templateDownload
(
HttpServletResponse
response
,
String
path
)
{
// TODO 调用异常
// Systemctl.fileStorageClient.downloadFile(response, "upload/tzs/common/fileTemplate/专家库数据导入模板.xlsx", null);
Systemctl
.
fileStorageClient
.
downloadFile
(
response
,
path
,
null
);
}
}
\ No newline at end of file
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/YsEmergencyExpertsServiceImpl.java
View file @
5e8fe742
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.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.excel.ExcelUtil
;
import
com.yeejoin.amos.boot.module.ys.api.dto.YsEmergencyExpertsDto
;
import
com.yeejoin.amos.boot.module.ys.api.entity.YsEmergencyExperts
;
import
com.yeejoin.amos.boot.module.ys.api.mapper.YsEmergencyExpertsMapper
;
import
com.yeejoin.amos.boot.module.ys.api.service.IYsEmergencyExpertsService
;
import
com.yeejoin.amos.boot.module.ys.api.vo.ExpertImportVo
;
import
com.yeejoin.amos.boot.module.ys.api.vo.ExpertVo
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
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
;
/**
* 应急专家库服务实现类
...
...
@@ -17,18 +42,105 @@ import java.util.List;
* @date 2024-09-24
*/
@Service
public
class
YsEmergencyExpertsServiceImpl
extends
BaseService
<
YsEmergencyExpertsDto
,
YsEmergencyExperts
,
YsEmergencyExpertsMapper
>
implements
IYsEmergencyExpertsService
{
public
class
YsEmergencyExpertsServiceImpl
extends
BaseService
<
YsEmergencyExpertsDto
,
YsEmergencyExperts
,
YsEmergencyExpertsMapper
>
implements
IYsEmergencyExpertsService
{
/**
* 分页查询
*/
public
Page
<
YsEmergencyExpertsDto
>
queryForYsEmergencyExpertsPage
(
Page
<
YsEmergencyExpertsDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
public
Page
<
Map
<
String
,
Object
>>
queryForYsEmergencyExpertsPage
(
YsEmergencyExpertsDto
dto
,
Page
<
Map
<
String
,
Object
>>
page
)
{
return
this
.
baseMapper
.
pageList
(
page
,
dto
);
}
/**
* 列表查询 示例
*/
public
List
<
YsEmergencyExpertsDto
>
queryForYsEmergencyExpertsList
()
{
return
this
.
queryForList
(
""
,
false
);
public
List
<
YsEmergencyExpertsDto
>
queryForYsEmergencyExpertsList
()
{
return
this
.
queryForList
(
""
,
false
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
saveOrUpdate
(
Map
<
String
,
Object
>
model
,
AgencyUserModel
userModel
)
{
YsEmergencyExperts
experts
=
JSON
.
parseObject
(
JSONObject
.
toJSONString
(
model
),
YsEmergencyExperts
.
class
);
experts
.
setIsDelete
(
Boolean
.
FALSE
);
if
(
ValidationUtil
.
isEmpty
(
experts
.
getSequenceNbr
())){
//新增
experts
.
setCreateDate
(
new
Date
());
experts
.
setCreateUserId
(
userModel
.
getUserId
());
experts
.
setCreateUserName
(
userModel
.
getUserName
());
}
experts
.
setPhoto
(
experts
.
getPhoto
());
return
this
.
saveOrUpdate
(
experts
);
}
@Override
public
YsEmergencyExpertsDto
queryBySequenceNbr
(
String
sequenceNbr
)
{
YsEmergencyExpertsDto
expertsDto
=
new
YsEmergencyExpertsDto
();
LambdaQueryWrapper
<
YsEmergencyExperts
>
lambda
=
new
QueryWrapper
<
YsEmergencyExperts
>().
lambda
();
lambda
.
eq
(
YsEmergencyExperts:
:
getSequenceNbr
,
sequenceNbr
);
YsEmergencyExperts
experts
=
this
.
baseMapper
.
selectOne
(
lambda
);
BeanUtils
.
copyProperties
(
experts
,
expertsDto
);
if
(!
ValidationUtil
.
isEmpty
(
experts
.
getPhoto
())){
expertsDto
.
setPhoto
(
JSON
.
parseArray
((
experts
.
getPhoto
())));
}
return
expertsDto
;
}
/**
* 专家库列表数据导入
*
* @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
<
YsEmergencyExperts
>
dataList
=
new
ArrayList
<>();
EasyExcel
.
read
(
file
.
getInputStream
(),
ExpertImportVo
.
class
,
new
AnalysisEventListener
<
ExpertImportVo
>()
{
@Override
public
void
invoke
(
ExpertImportVo
data
,
AnalysisContext
context
)
{
dataList
.
add
(
JSON
.
parseObject
(
JSON
.
toJSONString
(
data
),
YsEmergencyExperts
.
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
());
}
}
/**
* 专家库列表数据导出
*
* @param response 响应
* @param ids 数据id
*/
@Override
public
void
export
(
HttpServletResponse
response
,
List
<
String
>
ids
)
{
LambdaQueryWrapper
<
YsEmergencyExperts
>
lambda
=
new
QueryWrapper
<
YsEmergencyExperts
>().
lambda
();
lambda
.
in
(
YsEmergencyExperts:
:
getSequenceNbr
,
ids
);
List
<
YsEmergencyExperts
>
experts
=
this
.
baseMapper
.
selectList
(
lambda
);
List
<
ExpertVo
>
exportData
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
experts
),
ExpertVo
.
class
);
ExcelUtil
.
createTemplate
(
response
,
"专家库列表数据"
,
"专家库列表"
,
exportData
,
ExpertVo
.
class
,
null
,
false
);
}
}
\ 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