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
7a364282
Commit
7a364282
authored
Jul 04, 2025
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计分析导出接口开发
parent
5a3ba5c7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
516 additions
and
6 deletions
+516
-6
CommonCustomConverter.java
...ot/module/common/api/converter/CommonCustomConverter.java
+50
-0
CompanyFieldCustomConverter.java
...ule/common/api/converter/CompanyFieldCustomConverter.java
+0
-0
EquipFieldCustomConverter.java
...odule/common/api/converter/EquipFieldCustomConverter.java
+0
-0
PersonFieldCustomConverter.java
...dule/common/api/converter/PersonFieldCustomConverter.java
+186
-0
ESEquipmentInfo.java
...n/amos/boot/module/common/api/entity/ESEquipmentInfo.java
+7
-2
StatisticalAnalysisEnum.java
.../module/statistics/api/enums/StatisticalAnalysisEnum.java
+20
-0
CompanyInfoVo.java
...oin/amos/boot/module/statistics/api/vo/CompanyInfoVo.java
+97
-0
EquipInfoVo.java
...ejoin/amos/boot/module/statistics/api/vo/EquipInfoVo.java
+0
-0
PersonVo.java
.../yeejoin/amos/boot/module/statistics/api/vo/PersonVo.java
+116
-0
ComprehensiveStatisticalAnalysisController.java
...ontroller/ComprehensiveStatisticalAnalysisController.java
+1
-4
ComprehensiveStatisticalAnalysisServiceImpl.java
...ice/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
+0
-0
TechParamUtil.java
...n/amos/boot/module/statistcs/biz/utils/TechParamUtil.java
+39
-0
No files found.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/converter/CommonCustomConverter.java
0 → 100644
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
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
org.springframework.stereotype.Component
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* 通用的自定义字段转换器
* 用于处理Excel导入导出时的字段转换逻辑
*/
@Component
public
class
CommonCustomConverter
{
/**
* 年月日格式转换器
*/
public
static
class
Y_M_D_DateConverter
implements
Converter
<
Date
>
{
@Override
public
Class
supportJavaTypeKey
()
{
return
null
;
}
@Override
public
CellDataTypeEnum
supportExcelTypeKey
()
{
return
null
;
}
@Override
public
Date
convertToJavaData
(
CellData
cellData
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
throws
Exception
{
return
null
;
}
@Override
public
CellData
convertToExcelData
(
Date
value
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
throws
Exception
{
if
(
value
==
null
)
{
return
new
CellData
(
""
);
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy年MM月dd日"
);
return
new
CellData
(
sdf
.
format
(
value
));
}
}
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/converter/CompanyFieldCustomConverter.java
0 → 100644
View file @
7a364282
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/converter/EquipFieldCustomConverter.java
0 → 100644
View file @
7a364282
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/converter/PersonFieldCustomConverter.java
0 → 100644
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
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
com.yeejoin.amos.boot.biz.common.entity.DataDictionary
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* 人员信息自定义字段转换器
* 用于处理Excel导入导出时的字段转换逻辑
*/
@Component
public
class
PersonFieldCustomConverter
{
private
static
DataDictionaryServiceImpl
dataDictionaryService
;
@Autowired
public
void
setDataDictionaryService
(
DataDictionaryServiceImpl
dataDictionaryService
)
{
PersonFieldCustomConverter
.
dataDictionaryService
=
dataDictionaryService
;
}
/**
* 【证件类型】转换器
*/
public
static
class
CertificateTypeConverter
implements
Converter
<
String
>
{
private
static
final
Map
<
String
,
String
>
CODE_TO_NAME_MAP
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
String
>
NAME_TO_CODE_MAP
=
new
ConcurrentHashMap
<>();
// 使用静态初始化块加载数据字典
static
{
refreshDictionaryCache
();
}
/**
* 刷新数据字典缓存
*/
public
static
void
refreshDictionaryCache
()
{
List
<
DataDictionary
>
dictionaries
=
dataDictionaryService
.
getByType
(
"ZJLX"
);
CODE_TO_NAME_MAP
.
clear
();
NAME_TO_CODE_MAP
.
clear
();
dictionaries
.
forEach
(
dictionary
->
{
CODE_TO_NAME_MAP
.
put
(
dictionary
.
getCode
(),
dictionary
.
getName
());
NAME_TO_CODE_MAP
.
put
(
dictionary
.
getName
(),
dictionary
.
getCode
());
});
}
@Override
public
Class
<?>
supportJavaTypeKey
()
{
return
String
.
class
;
}
@Override
public
CellDataTypeEnum
supportExcelTypeKey
()
{
return
CellDataTypeEnum
.
STRING
;
}
@Override
public
String
convertToJavaData
(
CellData
cellData
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
cellValue
=
cellData
.
getStringValue
();
return
NAME_TO_CODE_MAP
.
getOrDefault
(
cellValue
,
cellValue
);
}
@Override
public
CellData
convertToExcelData
(
String
value
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
displayValue
=
CODE_TO_NAME_MAP
.
getOrDefault
(
value
,
value
);
return
new
CellData
(
displayValue
);
}
}
/**
* 【性别】类型转换器
*/
public
static
class
GenderConverter
implements
Converter
<
String
>
{
private
static
final
Map
<
String
,
String
>
CODE_TO_NAME_MAP
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
String
>
NAME_TO_CODE_MAP
=
new
ConcurrentHashMap
<>();
// 使用静态初始化块加载数据字典
static
{
refreshDictionaryCache
();
}
/**
* 刷新数据字典缓存
*/
public
static
void
refreshDictionaryCache
()
{
CODE_TO_NAME_MAP
.
clear
();
NAME_TO_CODE_MAP
.
clear
();
CODE_TO_NAME_MAP
.
put
(
"1"
,
"男"
);
CODE_TO_NAME_MAP
.
put
(
"0"
,
"女"
);
NAME_TO_CODE_MAP
.
put
(
"男"
,
"1"
);
NAME_TO_CODE_MAP
.
put
(
"女"
,
"0"
);
}
@Override
public
Class
<?>
supportJavaTypeKey
()
{
return
String
.
class
;
}
@Override
public
CellDataTypeEnum
supportExcelTypeKey
()
{
return
CellDataTypeEnum
.
STRING
;
}
@Override
public
String
convertToJavaData
(
CellData
cellData
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
cellValue
=
cellData
.
getStringValue
();
return
NAME_TO_CODE_MAP
.
getOrDefault
(
cellValue
,
"未知"
);
}
@Override
public
CellData
convertToExcelData
(
String
value
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
displayValue
=
CODE_TO_NAME_MAP
.
getOrDefault
(
value
,
"未知"
);
return
new
CellData
(
displayValue
);
}
}
/**
* 【学历】类型转换器
*/
public
static
class
EducationConverter
implements
Converter
<
String
>
{
private
static
final
Map
<
String
,
String
>
CODE_TO_NAME_MAP
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
String
>
NAME_TO_CODE_MAP
=
new
ConcurrentHashMap
<>();
// 使用静态初始化块加载数据字典
static
{
refreshDictionaryCache
();
}
/**
* 刷新数据字典缓存
*/
public
static
void
refreshDictionaryCache
()
{
List
<
DataDictionary
>
dictionaries
=
dataDictionaryService
.
getByType
(
"QYRYXL"
);
CODE_TO_NAME_MAP
.
clear
();
NAME_TO_CODE_MAP
.
clear
();
dictionaries
.
forEach
(
dictionary
->
{
CODE_TO_NAME_MAP
.
put
(
dictionary
.
getCode
(),
dictionary
.
getName
());
NAME_TO_CODE_MAP
.
put
(
dictionary
.
getName
(),
dictionary
.
getCode
());
});
}
@Override
public
Class
<?>
supportJavaTypeKey
()
{
return
String
.
class
;
}
@Override
public
CellDataTypeEnum
supportExcelTypeKey
()
{
return
CellDataTypeEnum
.
STRING
;
}
@Override
public
String
convertToJavaData
(
CellData
cellData
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
cellValue
=
cellData
.
getStringValue
();
return
NAME_TO_CODE_MAP
.
getOrDefault
(
cellValue
,
cellValue
);
}
@Override
public
CellData
convertToExcelData
(
String
value
,
ExcelContentProperty
contentProperty
,
GlobalConfiguration
globalConfiguration
)
{
String
displayValue
=
CODE_TO_NAME_MAP
.
getOrDefault
(
value
,
value
);
return
new
CellData
(
displayValue
);
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/entity/ESEquipmentInfo.java
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter
;
import
com.yeejoin.amos.boot.module.common.api.dto.TechParamItem
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.annotation.Id
;
import
org.springframework.data.elasticsearch.annotations.*
;
import
org.springframework.data.elasticsearch.annotations.DateFormat
;
import
org.springframework.data.elasticsearch.annotations.Document
;
import
org.springframework.data.elasticsearch.annotations.Field
;
import
org.springframework.data.elasticsearch.annotations.FieldType
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
...
...
@@ -389,6 +391,9 @@ public class ESEquipmentInfo {
@Field
(
type
=
FieldType
.
Date
,
format
=
DateFormat
.
date
)
private
LocalDate
dateValue
;
public
TechParam
()
{
}
public
TechParam
(
TechParamItem
paramItem
,
Object
rawValue
)
{
this
.
paramKey
=
paramItem
.
getParamKey
();
this
.
paramLabel
=
paramItem
.
getParamLabel
();
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/enums/StatisticalAnalysisEnum.java
View file @
7a364282
...
...
@@ -3,6 +3,9 @@ package com.yeejoin.amos.boot.module.statistics.api.enums;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.HashMap
;
import
java.util.Map
;
@AllArgsConstructor
@Getter
public
enum
StatisticalAnalysisEnum
{
...
...
@@ -22,4 +25,21 @@ public enum StatisticalAnalysisEnum {
private
String
code
;
private
String
key
;
private
static
final
Map
<
String
,
StatisticalAnalysisEnum
>
CODE_MAP
=
new
HashMap
<>();
static
{
for
(
StatisticalAnalysisEnum
value
:
values
())
{
CODE_MAP
.
put
(
value
.
code
,
value
);
}
}
/**
* 根据code获取枚举实例(优化版)
* @param code 枚举编码
* @return 对应的枚举实例,未找到时返回null
*/
public
static
StatisticalAnalysisEnum
getEnumByCode
(
String
code
)
{
return
CODE_MAP
.
get
(
code
);
}
}
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/vo/CompanyInfoVo.java
0 → 100644
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.alibaba.excel.annotation.write.style.ContentRowHeight
;
import
com.alibaba.excel.annotation.write.style.HeadRowHeight
;
import
com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter
;
import
com.yeejoin.amos.boot.module.common.api.converter.CompanyFieldCustomConverter
;
import
lombok.*
;
import
java.util.Date
;
/**
* 企业
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@HeadRowHeight
(
35
)
// 标题行高度
@ContentRowHeight
(
15
)
// 内容行高度
@ColumnWidth
(
30
)
// 默认列宽
public
class
CompanyInfoVo
{
// -------------------------- 基本信息 -------------------------------
@ExcelProperty
(
"企业名称"
)
private
String
useUnit
;
@ExcelProperty
(
"企业统一信用代码"
)
private
String
useCode
;
@ExcelProperty
(
"单位类型"
)
private
String
unitType
;
@ExcelProperty
(
"管辖机构名称"
)
private
String
superviseOrgName
;
@ExcelProperty
(
"监管系统唯一编码"
)
private
String
superviseCode
;
@ExcelProperty
(
"联系人"
)
private
String
contactUser
;
@ExcelProperty
(
"联系人电话"
)
private
String
contactPhone
;
@ExcelProperty
(
"企业详情地址"
)
private
String
address
;
@ExcelProperty
(
"监管标签"
)
private
String
regulatoryLabels
;
@ExcelProperty
(
value
=
"行业主管部门"
,
converter
=
CompanyFieldCustomConverter
.
HYZGBMTypeConverter
.
class
)
private
String
industrySupervisor
;
@ExcelProperty
(
"经营状态"
)
private
String
operatingStatus
;
@ExcelProperty
(
value
=
"涉及设备类型"
,
converter
=
CompanyFieldCustomConverter
.
InvolvedEquipTypeConverter
.
class
)
@ColumnWidth
(
50
)
private
String
equipCategory
;
@ExcelProperty
(
"办公区域"
)
private
String
officeRegion
;
// ------------------------------------- 资质 ------------------------------------
@ExcelProperty
(
value
=
{
"资质信息"
,
"证书编号"
})
private
String
certNo
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"证书类型名称"
})
private
String
certType
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"发证机关"
},
converter
=
CompanyFieldCustomConverter
.
ApprovedOrganCodeConverter
.
class
)
private
String
approvedOrganCode
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"许可到期日期"
},
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
expiryDate
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"许可项目/检验类型/设备品种(核准项目名称)"
},
converter
=
CompanyFieldCustomConverter
.
ItemCodeConverter
.
class
)
@ColumnWidth
(
80
)
private
String
itemCode
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"机构类别枚举"
},
converter
=
CompanyFieldCustomConverter
.
AgencyTypeConverter
.
class
)
private
String
agencyType
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"资质类型编码(检验检测、其他)"
},
converter
=
CompanyFieldCustomConverter
.
LicenceTypeConverter
.
class
)
private
String
licenceType
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"发证日期"
},
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
issueDate
;
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/vo/EquipInfoVo.java
View file @
7a364282
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-api/src/main/java/com/yeejoin/amos/boot/module/statistics/api/vo/PersonVo.java
0 → 100644
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistics
.
api
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.alibaba.excel.annotation.write.style.ContentRowHeight
;
import
com.alibaba.excel.annotation.write.style.HeadRowHeight
;
import
com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter
;
import
com.yeejoin.amos.boot.module.common.api.converter.PersonFieldCustomConverter
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 人员
*/
@Data
@HeadRowHeight
(
35
)
// 标题行高度
@ContentRowHeight
(
15
)
// 内容行高度
@ColumnWidth
(
30
)
// 默认列宽
public
class
PersonVo
implements
Serializable
{
// -------------------------- 基本信息 -------------------------------
@ExcelProperty
(
"姓名"
)
private
String
name
;
@ExcelProperty
(
value
=
"证件类型"
,
converter
=
PersonFieldCustomConverter
.
CertificateTypeConverter
.
class
)
private
String
certificateType
;
@ExcelProperty
(
"证件编号"
)
private
String
certificateNum
;
@ExcelProperty
(
value
=
"性别"
,
converter
=
PersonFieldCustomConverter
.
GenderConverter
.
class
)
private
String
gender
;
@ExcelProperty
(
"单位名称"
)
private
String
unitName
;
@ExcelProperty
(
"企业编码"
)
private
String
unitCode
;
@ExcelProperty
(
"岗位名称"
)
private
String
postName
;
@ExcelProperty
(
"联系电话"
)
private
String
phone
;
@ExcelProperty
(
value
=
"出生日期"
,
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
birthday
;
@ExcelProperty
(
value
=
"学历"
,
converter
=
PersonFieldCustomConverter
.
EducationConverter
.
class
)
private
String
education
;
@ExcelProperty
(
"专业"
)
private
String
speciality
;
@ExcelProperty
(
"邮箱"
)
private
String
email
;
@ExcelProperty
(
"住址"
)
private
String
address
;
@ExcelProperty
(
"人员所属企业单位类型"
)
@ColumnWidth
(
60
)
private
String
unitType
;
@ExcelProperty
(
"设备类型"
)
private
String
equipType
;
@ExcelProperty
(
"职称"
)
private
String
jobTitle
;
@ExcelProperty
(
"岗位子类型"
)
private
String
subPostName
;
@ExcelProperty
(
"管辖机构名称"
)
private
String
superviseOrgName
;
@ExcelProperty
(
value
=
"创建时间"
,
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
createDate
;
// ------------------------------------- 资质 ------------------------------------
@ExcelProperty
(
value
=
{
"资质信息"
,
"检验检测-级别"
})
private
String
permissionLevel
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"检验检测-资质项目"
})
private
String
permissionItem
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"证书编号"
})
private
String
certNo
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"有效期至"
},
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
expiryDate
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"发证机关"
})
private
String
approvedOrgan
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"发证日期"
},
converter
=
CommonCustomConverter
.
Y_M_D_DateConverter
.
class
)
private
Date
issueDate
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"证书类型"
})
private
String
certType
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"作业项目"
})
private
String
jobItem
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"项目代号"
})
private
String
itemCode
;
@ExcelProperty
(
value
=
{
"资质信息"
,
"其他作业项目"
})
private
String
otherItem
;
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/controller/ComprehensiveStatisticalAnalysisController.java
View file @
7a364282
...
...
@@ -16,7 +16,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
/**
* 综合统计分析API
...
...
@@ -170,12 +169,10 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
@PostMapping
(
value
=
"/export"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"综合统计分析接口-导出"
,
notes
=
"综合统计分析接口-导出"
)
public
ResponseModel
<
String
>
export
(
@RequestBody
Map
<
String
,
Object
>
map
)
{
String
uuid
=
UUID
.
randomUUID
().
toString
();
statisticalAnalysisService
.
startDownLoadMsg
(
"综合统计分析设备列表"
,
uuid
);
RequestContextWrapper
contextWrapper
=
RequestContextWrapper
.
capture
();
new
Thread
(()
->
{
contextWrapper
.
apply
();
statisticalAnalysisService
.
export
(
uuid
,
new
JSONObject
(
map
));
statisticalAnalysisService
.
export
(
new
JSONObject
(
map
));
}).
start
();
return
ResponseHelper
.
buildResponse
(
"后台处理中,请注意下载!"
);
}
...
...
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/service/impl/ComprehensiveStatisticalAnalysisServiceImpl.java
View file @
7a364282
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-statistics/amos-boot-module-statistics-biz/src/main/java/com/yeejoin/amos/boot/module/statistcs/biz/utils/TechParamUtil.java
0 → 100644
View file @
7a364282
package
com
.
yeejoin
.
amos
.
boot
.
module
.
statistcs
.
biz
.
utils
;
import
com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter
;
import
com.yeejoin.amos.boot.module.common.api.dto.ITechParamDefine
;
import
org.reflections.Reflections
;
import
java.lang.reflect.Field
;
import
java.util.AbstractMap
;
import
java.util.Set
;
import
java.util.concurrent.ConcurrentHashMap
;
public
class
TechParamUtil
{
private
static
final
Set
<
Class
<?
extends
ITechParamDefine
>>
subClasses
;
private
static
final
ConcurrentHashMap
<
String
,
String
>
allTechParamsMap
=
new
ConcurrentHashMap
<>();
static
{
//▼ 指定扫描包路径(根据实际项目调整)
Reflections
reflections
=
new
Reflections
(
"com.yeejoin.amos.boot.module.common.api.dto"
);
//▼ 获取所有继承ITechParamsMeta的类
subClasses
=
reflections
.
getSubTypesOf
(
ITechParamDefine
.
class
);
for
(
Class
<?
extends
ITechParamDefine
>
subClass
:
subClasses
)
{
Field
[]
fields
=
subClass
.
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
TechnicalParameter
technicalParameter
=
field
.
getAnnotation
(
TechnicalParameter
.
class
);
allTechParamsMap
.
put
(
technicalParameter
.
key
(),
technicalParameter
.
label
());
}
}
}
/**
* 获取所有设备类型的技术参数
*
* @return result
*/
public
static
AbstractMap
<
String
,
String
>
getAllTechParams
()
{
return
allTechParamsMap
;
}
}
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