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
a4d2a5b3
Commit
a4d2a5b3
authored
Jan 06, 2025
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(jg):延炼八大类设备导入
parent
af793dfb
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
199 additions
and
61 deletions
+199
-61
EquCategoryConverter.java
...os/boot/module/jg/api/converter/EquCategoryConverter.java
+10
-1
EquDefineConverter.java
...amos/boot/module/jg/api/converter/EquDefineConverter.java
+9
-0
DataDockController.java
...mos/boot/module/jg/biz/controller/DataDockController.java
+8
-0
DataDockServiceImpl.java
.../boot/module/jg/biz/service/impl/DataDockServiceImpl.java
+172
-60
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/converter/EquCategoryConverter.java
View file @
a4d2a5b3
...
...
@@ -11,7 +11,7 @@ import java.util.Map;
public
class
EquCategoryConverter
implements
Converter
<
String
>
{
p
rivate
static
final
Map
<
String
,
String
>
equipmentMap
=
new
HashMap
<>();
p
ublic
static
final
Map
<
String
,
String
>
equipmentMap
=
new
HashMap
<>();
static
{
// 填充映射关系
...
...
@@ -80,4 +80,13 @@ public class EquCategoryConverter implements Converter<String> {
public
CellData
convertToExcelData
(
String
o
,
ExcelContentProperty
excelContentProperty
,
GlobalConfiguration
globalConfiguration
)
throws
Exception
{
return
new
CellData
(
""
);
}
public
static
String
getKeyByValue
(
String
value
)
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
equipmentMap
.
entrySet
())
{
if
(
entry
.
getValue
().
equals
(
value
))
{
return
entry
.
getKey
();
}
}
return
null
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/converter/EquDefineConverter.java
View file @
a4d2a5b3
...
...
@@ -108,4 +108,13 @@ public class EquDefineConverter implements Converter<String> {
public
CellData
convertToExcelData
(
String
o
,
ExcelContentProperty
excelContentProperty
,
GlobalConfiguration
globalConfiguration
)
throws
Exception
{
return
new
CellData
(
""
);
}
public
static
String
getKeyByValue
(
String
value
)
{
for
(
Map
.
Entry
<
String
,
String
>
entry
:
equipmentMap
.
entrySet
())
{
if
(
entry
.
getValue
().
equals
(
value
))
{
return
entry
.
getKey
();
}
}
return
null
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/DataDockController.java
View file @
a4d2a5b3
...
...
@@ -58,5 +58,13 @@ public class DataDockController {
}
return
ResponseHelper
.
buildResponse
(
dataDockService
.
dataCheckAndImportEquipmentData
(
remark
,
file
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/delete"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"八大类历史设备导入shanchu"
,
notes
=
"八大类历史设备导入shachu"
)
public
Object
importData
()
{
dataDockService
.
delete
();
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/DataDockServiceImpl.java
View file @
a4d2a5b3
...
...
@@ -12,6 +12,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil
;
import
com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory
;
import
com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.jg.api.converter.EquCategoryConverter
;
import
com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter
;
import
com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoExcelDto
;
import
com.yeejoin.amos.boot.module.jg.biz.service.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
...
...
@@ -86,9 +88,9 @@ public class DataDockServiceImpl {
return
Boolean
.
TRUE
;
}
p
rivate
void
saveEquipmentDataInTransaction
(
Map
<
String
,
Object
>
equ
,
String
dataSource
,
String
remark
)
{
p
ublic
void
saveEquipmentDataInTransaction
(
Map
<
String
,
Object
>
equ
,
String
dataSource
,
String
remark
)
{
try
{
transactionTemplate
.
execute
(
status
->
{
//
transactionTemplate.execute(status -> {
String
record
=
UUID
.
randomUUID
().
toString
();
String
equList
=
String
.
valueOf
(
equ
.
get
(
"equList"
));
// 压力管道保存 工程装置表信息 必须在saveUseInfo之前进行,需要提前生成工程装置id
...
...
@@ -104,15 +106,39 @@ public class DataDockServiceImpl {
saveTechParams
(
equ
,
record
,
equList
);
// 保存到ES
saveEquInfoToEs
(
record
);
return
null
;
});
//
return null;
//
});
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
error
(
"{}数据:保存时出现异常,对应数据:{}"
,
dataSource
,
JSONObject
.
toJSONString
(
equ
));
log
.
error
(
"异常信息:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
e
);
}
}
public
void
delete
()
{
List
<
String
>
records
=
idxBizJgUseInfoService
.
lambdaQuery
().
select
(
IdxBizJgUseInfo:
:
getRecord
).
likeRight
(
IdxBizJgUseInfo:
:
getRemark
,
"延炼"
).
list
()
.
stream
().
map
(
IdxBizJgUseInfo:
:
getRecord
).
collect
(
Collectors
.
toList
());
// saveProjectContraption(equ, equList);
idxBizJgUseInfoService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgUseInfo
>().
in
(
IdxBizJgUseInfo:
:
getRecord
,
records
));
idxBizJgDesignInfoService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>().
in
(
IdxBizJgDesignInfo:
:
getRecord
,
records
));
idxBizJgFactoryInfoService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
in
(
IdxBizJgFactoryInfo:
:
getRecord
,
records
));
idxBizJgRegisterInfoServiceImpl
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>().
in
(
IdxBizJgRegisterInfo:
:
getRecord
,
records
));
idxBizJgSupervisionInfoService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgSupervisionInfo
>().
in
(
IdxBizJgSupervisionInfo:
:
getRecord
,
records
));
iIdxBizJgTechParamsLiftingService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsLifting
>().
in
(
IdxBizJgTechParamsLifting:
:
getRecord
,
records
));
iIdxBizJgTechParamsVehicleService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsVehicle
>().
in
(
IdxBizJgTechParamsVehicle:
:
getRecord
,
records
));
iIdxBizJgTechParamsBoilerService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsBoiler
>().
in
(
IdxBizJgTechParamsBoiler:
:
getRecord
,
records
));
iIdxBizJgTechParamsVesselService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsVessel
>().
in
(
IdxBizJgTechParamsVessel:
:
getRecord
,
records
));
iIdxBizJgTechParamsPipelineService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsPipeline
>().
in
(
IdxBizJgTechParamsPipeline:
:
getRecord
,
records
));
iIdxBizJgTechParamsRidesService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsRides
>().
in
(
IdxBizJgTechParamsRides:
:
getRecord
,
records
));
iIdxBizJgTechParamsRopewayService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsRopeway
>().
in
(
IdxBizJgTechParamsRopeway:
:
getRecord
,
records
));
iIdxBizJgTechParamsElevatorService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
IdxBizJgTechParamsElevator
>().
in
(
IdxBizJgTechParamsElevator:
:
getRecord
,
records
));
records
.
forEach
(
record
->
this
.
saveEquInfoToEs
(
record
));
}
/**
* 保存工程装置表信息
*/
...
...
@@ -129,7 +155,7 @@ public class DataDockServiceImpl {
.
eq
(
IdxBizJgProjectContraption:
:
getUseUnitCreditCode
,
useUnitCode
)
.
eq
(
IdxBizJgProjectContraption:
:
getUseUnitName
,
useUnit
)
.
eq
(
IdxBizJgProjectContraption:
:
getProjectContraption
,
proConName
)
.
one
(
);
.
list
().
stream
().
findFirst
().
orElse
(
null
);
projectContraption
.
setRecDate
(
new
Date
());
...
...
@@ -141,9 +167,9 @@ public class DataDockServiceImpl {
projectContraption
.
setEquList
(
equList
);
projectContraption
.
setEquListName
(
EquipmentClassifityEnum
.
getNameByCode
(
equList
));
projectContraption
.
setEquCategory
((
String
)
equ
.
get
(
"equCategory"
));
projectContraption
.
setEquCategoryName
(
Equ
ipmentClassifityEnum
.
getNameByCod
e
((
String
)
equ
.
get
(
"equCategory"
)));
projectContraption
.
setEquCategoryName
(
Equ
CategoryConverter
.
getKeyByValu
e
((
String
)
equ
.
get
(
"equCategory"
)));
projectContraption
.
setEquDefine
((
String
)
equ
.
get
(
"equDefine"
));
projectContraption
.
setEquDefineName
(
Equ
ipmentClassifityEnum
.
getNameByCod
e
((
String
)
equ
.
get
(
"equDefine"
)));
projectContraption
.
setEquDefineName
(
Equ
DefineConverter
.
getKeyByValu
e
((
String
)
equ
.
get
(
"equDefine"
)));
projectContraption
.
setPipelineLength
(
Double
.
parseDouble
((
String
)
equ
.
get
(
"pipeLength"
)));
projectContraption
.
setUseRegistrationCode
((
String
)
equ
.
get
(
"useOrgCode"
));
projectContraption
.
setIsIntoManagement
(
Boolean
.
FALSE
);
...
...
@@ -168,6 +194,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveUseInfo
(
Map
<
String
,
Object
>
equ
,
String
record
,
String
dataSource
,
String
remark
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgUseInfo
useInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgUseInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
useInfo
))
{
useInfo
.
setRecDate
(
new
Date
());
...
...
@@ -190,6 +217,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveDesignInfo
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgDesignInfo
designInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgDesignInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
designInfo
))
{
designInfo
.
setRecord
(
record
);
...
...
@@ -205,6 +233,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveFactoryInfo
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgFactoryInfo
factoryInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgFactoryInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
factoryInfo
))
{
factoryInfo
.
setRecord
(
record
);
...
...
@@ -220,6 +249,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveRegisterInfo
(
Map
<
String
,
Object
>
equ
,
String
record
,
String
equList
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgRegisterInfo
registerInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgRegisterInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
registerInfo
))
{
registerInfo
.
setRecord
(
record
);
...
...
@@ -239,8 +269,10 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveSupervisionInfo
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgSupervisionInfo
supervisionInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgSupervisionInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
supervisionInfo
))
{
log
.
error
(
"数据===hou>{}"
,
JSONObject
.
toJSONString
(
supervisionInfo
));
if
(!
ObjectUtils
.
isEmpty
(
supervisionInfo
))
{
supervisionInfo
.
setRecord
(
record
);
supervisionInfo
.
setRecDate
(
new
Date
());
idxBizJgSupervisionInfoService
.
save
(
supervisionInfo
);
...
...
@@ -254,6 +286,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveOtherInfo
(
Map
<
String
,
Object
>
equ
,
String
record
,
String
equList
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgOtherInfo
otherInfo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgOtherInfo
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
otherInfo
))
{
otherInfo
.
setRecord
(
record
);
...
...
@@ -300,6 +333,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveLiftingParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsLifting
equipTechParamLifting
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsLifting
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamLifting
))
{
equipTechParamLifting
.
setRecord
(
record
);
...
...
@@ -315,6 +349,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveVehicleParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsVehicle
equipTechParamVehicle
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsVehicle
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamVehicle
))
{
equipTechParamVehicle
.
setRecord
(
record
);
...
...
@@ -330,6 +365,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveBoilerParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsBoiler
equipTechParamBoiler
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsBoiler
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamBoiler
))
{
equipTechParamBoiler
.
setRecord
(
record
);
...
...
@@ -345,6 +381,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveVesselParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsVessel
equipTechParamVessel
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsVessel
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamVessel
))
{
equipTechParamVessel
.
setRecord
(
record
);
...
...
@@ -360,6 +397,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
savePipelineParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsPipeline
equipTechParamPipeline
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsPipeline
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamPipeline
))
{
equipTechParamPipeline
.
setWallThickness
(
String
.
valueOf
(
equ
.
get
(
"wallThickness_YLGD"
)));
...
...
@@ -380,6 +418,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveRidesParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsRides
equipTechParamRides
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsRides
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamRides
))
{
equipTechParamRides
.
setRecord
(
record
);
...
...
@@ -398,6 +437,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveRopewayParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsRopeway
equipTechParamRopeway
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsRopeway
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamRopeway
))
{
equipTechParamRopeway
.
setRecord
(
record
);
...
...
@@ -413,6 +453,7 @@ public class DataDockServiceImpl {
* @param record
*/
private
void
saveElevatorParams
(
Map
<
String
,
Object
>
equ
,
String
record
)
{
log
.
error
(
"数据===>{}"
,
JSONObject
.
toJSONString
(
equ
));
IdxBizJgTechParamsElevator
equipTechParamElevator
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
IdxBizJgTechParamsElevator
.
class
);
if
(!
ValidationUtil
.
isEmpty
(
equipTechParamElevator
))
{
equipTechParamElevator
.
setRecord
(
record
);
...
...
@@ -444,7 +485,7 @@ public class DataDockServiceImpl {
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
//
@GlobalTransactional(rollbackFor = Exception.class)
public
Object
dataCheckAndImportEquipmentData
(
String
remark
,
MultipartFile
file
)
{
List
<
EquipInfoExcelDto
>
equipInfoExcelDtos
;
...
...
@@ -496,7 +537,9 @@ public class DataDockServiceImpl {
public
void
invoke
(
EquipInfoExcelDto
data
,
AnalysisContext
context
)
{
// 数据检查
checkExcelData
(
sheetName
,
data
,
context
,
sheetError
);
useInnerCodeList
.
add
(
data
.
getUseInnerCode
());
// if (!ValidationUtil.isEmpty(data.getUseInnerCode())) {
// useInnerCodeList.add(data.getUseInnerCode());
// }
equCodeList
.
add
(
data
.
getEquCode
());
useOrgCodeList
.
add
(
data
.
getUseOrgCode
());
dataList
.
add
(
data
);
...
...
@@ -627,27 +670,29 @@ public class DataDockServiceImpl {
// 基本信息
checkNotBlank
(
data
.
getEquList
(),
"设备种类不能为空;"
,
rowError
);
checkNotBlank
(
data
.
getEquCategory
(),
"设备类别不能为空;"
,
rowError
);
checkNotBlank
(
data
.
getUseInnerCode
(),
"单位内编号不能为空;"
,
rowError
);
if
(
useInnerCodeList
.
contains
(
data
.
getUseInnerCode
()))
{
rowError
.
append
(
"单位内编号不能重复;"
);
}
checkNotBlank
(
data
.
getEquType
(),
"设备型号不能为空;"
,
rowError
);
//
checkNotBlank(data.getUseInnerCode(), "单位内编号不能为空;", rowError);
//
if (useInnerCodeList.contains(data.getUseInnerCode())) {
//
rowError.append("单位内编号不能重复;");
//
}
//
checkNotBlank(data.getEquType(), "设备型号不能为空;", rowError);
if
(!
isYLGD
)
{
checkNotBlank
(
data
.
getProductName
(),
"产品名称不能为空;"
,
rowError
);
checkNotBlank
(
data
.
getEquCodeType
(),
"有无设备代码不能为空;"
,
rowError
);
if
(
"1"
.
equals
(
data
.
getEquCodeType
()))
{
checkNotBlank
(
data
.
getEquCode
(),
"设备代码不能为空;"
,
rowError
);
String
equCode
=
data
.
getEquCode
();
if
(!
StringUtils
.
isEmpty
(
equCode
))
{
if
(
equCode
.
matches
(
"[a-zA-Z0-9]+"
))
{
if
(
equCode
.
length
()
<=
17
)
{
rowError
.
append
(
"设备代码不能小于17位;"
);
}
if
(
equCode
.
length
()
>=
20
)
{
rowError
.
append
(
"设备代码不能大于20位;"
);
}
// if (equCode.length() <
17) {
//
rowError.append("设备代码不能小于17位;");
//
}
// if (equCode.length() >
20) {
//
rowError.append("设备代码不能大于20位;");
//
}
}
else
{
rowError
.
append
(
"设备代码不能包含特殊字符;"
);
}
}
if
(
equCodeList
.
contains
(
data
.
getEquCode
()))
{
rowError
.
append
(
"设备代码不能重复;"
);
}
...
...
@@ -681,7 +726,7 @@ public class DataDockServiceImpl {
.
eq
(
IdxBizJgProjectContraption:
:
getUseUnitCreditCode
,
useUnitCode
)
.
eq
(
IdxBizJgProjectContraption:
:
getUseUnitName
,
useUnit
)
.
eq
(
IdxBizJgProjectContraption:
:
getProjectContraption
,
proConName
)
.
one
(
);
.
list
().
stream
().
findFirst
().
orElse
(
null
);
Optional
.
ofNullable
(
oldContraption
).
ifPresent
(
old
->
{
List
<
String
>
pipelineNumberList
=
idxBizJgProjectContraptionServiceImpl
.
getBaseMapper
()
.
selectEquipList
(
String
.
valueOf
(
old
.
getSequenceNbr
()))
...
...
@@ -766,7 +811,7 @@ public class DataDockServiceImpl {
if
(!
this
.
useOrgCodeRegularMatching
(
data
))
{
rowError
.
append
(
"使用登记证编号格式不正确;"
);
}
if
(
useOrgCodeList
.
contains
(
data
.
getUseOrgCode
()))
{
if
(
!
isYLGD
&&
useOrgCodeList
.
contains
(
data
.
getUseOrgCode
()))
{
rowError
.
append
(
"使用登记证编号不能重复;"
);
}
try
{
...
...
@@ -784,49 +829,102 @@ public class DataDockServiceImpl {
checkNotBlank
(
data
.
getUseUnit
(),
"使用单位名称不能为空;"
,
rowError
);
// 设计信息 电梯、场车、起重机械无"设计信息"
if
(!
isDT
&&
!
isCC
&&
!
isQZJX
)
{
if
(
ValidationUtil
.
isEmpty
(
data
.
getDesignUnitCreditCode
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesignUnitName
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesignUseDate
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesignDate
()))
{
data
.
setDesignIsComplete
(
"2"
);
}
else
{
data
.
setDesignIsComplete
(
"1"
);
}
// checkNotBlank(data.getDesignUnitCreditCode(), "设计单位统一社会信用代码不能为空;", rowError);
Optional
.
ofNullable
(
data
.
getDesignUnitCreditCode
()).
ifPresent
(
v
->
checkCreditCode
(
v
,
"设计单位统一社会信用代码格式不正确;"
,
rowError
));
// checkNotBlank(data.getDesignUnitName(), "设计单位名称不能为空;", rowError);
// checkNotBlank(data.getDesignUseDate(), "设计使用年限不能为空;", rowError);
Optional
.
ofNullable
(
data
.
getDesignUseDate
()).
ifPresent
(
v
->
checkDateFormatNumber
(
v
,
"设计使用年限不能为数字以外的其他类型;"
,
rowError
));
// Optional.ofNullable(data.getDesignUseDate()).ifPresent(v -> checkDateFormatNumber(v, "设计使用年限不能为数字以外的其他类型;", rowError));
if
(!
ValidationUtil
.
isEmpty
(
data
.
getDesignUseDate
()))
{
data
.
setDesignUseDate
(
data
.
getDesignUseDate
().
replace
(
"年"
,
""
).
replace
(
"/"
,
""
));
}
// checkNotBlank(data.getDesignDate(), "设计日期不能为空;", rowError);
Optional
.
ofNullable
(
data
.
getDesignDate
()).
ifPresent
(
v
->
checkDateFormatCorrect
(
v
,
"设计日期格式不正确;"
,
rowError
));
Optional
.
ofNullable
(
data
.
getAppraisalDate
()).
ifPresent
(
v
->
checkDateFormatCorrect
(
v
,
"设计文件鉴定日期格式不正确;"
,
rowError
));
if
(!
ValidationUtil
.
isEmpty
(
data
.
getDesignDate
()))
{
if
(
"—"
.
equals
(
data
.
getDesignDate
().
trim
())
||
"/"
.
equals
(
data
.
getDesignDate
().
trim
()))
{
data
.
setDesignDate
(
null
);
return
;
}
data
.
setDesignDate
(
data
.
getDesignDate
().
trim
().
replace
(
"—"
,
""
));
String
formattedDate
=
checkDateFormatCorrect
(
data
.
getDesignDate
().
trim
(),
"设计日期格式不正确;"
,
rowError
);
if
(
formattedDate
!=
null
)
{
data
.
setDesignDate
(
formattedDate
);
}
}
if
(!
ValidationUtil
.
isEmpty
(
data
.
getAppraisalDate
()))
{
data
.
setAppraisalDate
(
data
.
getAppraisalDate
().
trim
().
replace
(
"—"
,
""
));
String
formattedDate
=
checkDateFormatCorrect
(
data
.
getAppraisalDate
().
trim
(),
"设计文件鉴定日期格式不正确;"
,
rowError
);
if
(
formattedDate
!=
null
)
{
data
.
setAppraisalDate
(
formattedDate
);
}
// 制造信息
if
(!
isYLGD
)
{
if
(
ValidationUtil
.
isEmpty
(
data
.
get
ProduceUnitCreditCode
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduceUnitName
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduceLicenseNum
())
||
ValidationUtil
.
isEmpty
(
data
.
getFactoryNum
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduce
Date
()))
{
data
.
set
Factory
IsComplete
(
"2"
);
}
if
(
ValidationUtil
.
isEmpty
(
data
.
get
DesignUnitCreditCode
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesignUnitName
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesignUseDate
())
||
ValidationUtil
.
isEmpty
(
data
.
getDesign
Date
()))
{
data
.
set
Design
IsComplete
(
"2"
);
}
else
{
data
.
set
Factory
IsComplete
(
"1"
);
data
.
set
Design
IsComplete
(
"1"
);
}
}
// 制造信息
if
(!
isYLGD
)
{
// checkNotBlank(data.getProduceUnitCreditCode(), "制造单位统一社会信用代码不能为空;", rowError);
Optional
.
ofNullable
(
data
.
getProduceUnitCreditCode
()).
ifPresent
(
v
->
checkCreditCode
(
v
,
"制造单位统一社会信用代码格式不正确;"
,
rowError
));
// checkNotBlank(data.getProduceUnitName(), "制造单位名称不能为空;", rowError);
// checkNotBlank(data.getProduceLicenseNum(), "制造许可编号不能为空;", rowError);
// checkNotBlank(data.getFactoryNum(), "出厂编号/产品编码不能为空;", rowError);
// checkNotBlank(data.getProduceDate(), "制造日期不能为空;", rowError);
Optional
.
ofNullable
(
data
.
getProduceDate
()).
ifPresent
(
v
->
checkDateFormatCorrect
(
v
,
"制造日期格式不正确;"
,
rowError
));
if
(!
ValidationUtil
.
isEmpty
(
data
.
getProduceDate
()))
{
data
.
setProduceDate
(
data
.
getProduceDate
().
trim
().
replace
(
"—"
,
""
));
String
formattedDate
=
checkDateFormatCorrect
(
data
.
getProduceDate
().
trim
(),
"制造日期格式不正确;"
,
rowError
);
if
(
formattedDate
!=
null
)
{
data
.
setProduceDate
(
formattedDate
);
}
}
if
(
ValidationUtil
.
isEmpty
(
data
.
getProduceUnitCreditCode
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduceUnitName
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduceLicenseNum
())
||
ValidationUtil
.
isEmpty
(
data
.
getFactoryNum
())
||
ValidationUtil
.
isEmpty
(
data
.
getProduceDate
()))
{
data
.
setFactoryIsComplete
(
"2"
);
}
else
{
data
.
setFactoryIsComplete
(
"1"
);
}
}
}
/**
* 检查
上传Excel中的日期格式是否正确
* 检查
并格式化上传Excel中的日期格式
*
* @param date 待检查数据
* @param errorMessage 错误内容
* @param rowError 错误集
* @return 格式化后的日期字符串,如果格式不正确则返回null
*/
private
void
checkDateFormatCorrect
(
String
date
,
String
errorMessage
,
StringBuffer
rowError
)
{
if
(!
date
.
matches
(
"\\d{4}-\\d{2}-\\d{2}"
))
{
private
String
checkDateFormatCorrect
(
String
date
,
String
errorMessage
,
StringBuffer
rowError
)
{
String
res
=
date
.
trim
().
replace
(
"/"
,
"-"
).
replace
(
"."
,
"-"
)
.
replace
(
"年"
,
"-"
).
replace
(
"月"
,
"-"
).
replace
(
"日"
,
""
);
// 处理不同格式的日期
// 2017-12
if
(
res
.
matches
(
"\\d{4}\\-\\d{2}"
))
{
res
=
res
+
"-01"
;
}
// 2017-1
if
(
res
.
matches
(
"\\d{4}\\-\\d{1}"
))
{
res
=
res
.
substring
(
0
,
res
.
length
()
-
1
)
+
"0"
+
res
.
substring
(
res
.
length
()
-
1
)
+
"-01"
;
}
// 2023-5-5
if
(
res
.
matches
(
"\\d{4}\\-\\d{1}\\-\\d{1}"
))
{
res
=
res
.
substring
(
0
,
res
.
length
()
-
3
)
+
"0"
+
res
.
substring
(
res
.
length
()
-
3
,
res
.
length
()
-
1
)
+
"0"
+
res
.
substring
(
res
.
length
()
-
1
);
}
// 2023-5-15
if
(
res
.
matches
(
"\\d{4}\\-\\d{1}\\-\\d{2}"
))
{
res
=
res
.
substring
(
0
,
res
.
length
()
-
4
)
+
"0"
+
res
.
substring
(
res
.
length
()
-
4
);
}
if
(!
res
.
matches
(
"\\d{4}-\\d{2}-\\d{2}"
))
{
rowError
.
append
(
errorMessage
);
return
null
;
}
return
res
;
}
/**
...
...
@@ -915,9 +1013,9 @@ public class DataDockServiceImpl {
* @param rowError
*/
private
void
YLRQTechnicalParamsCheck
(
EquipInfoExcelDto
data
,
StringBuffer
rowError
)
{
checkNotBlank
(
data
.
getSingleBottleVolume
(),
"单瓶容积不能为空;"
,
rowError
);
checkNotBlank
(
data
.
getChargingMedium
(),
"充装介质不能为空;"
,
rowError
);
checkNotBlank
(
data
.
getNominalWorkingPressure
(),
"公称工作压力不能为空;"
,
rowError
);
//
checkNotBlank(data.getSingleBottleVolume(), "单瓶容积不能为空;", rowError);
//
checkNotBlank(data.getChargingMedium(), "充装介质不能为空;", rowError);
//
checkNotBlank(data.getNominalWorkingPressure(), "公称工作压力不能为空;", rowError);
}
/**
...
...
@@ -984,8 +1082,8 @@ public class DataDockServiceImpl {
* @return 匹配通过true,反之false
*/
private
Boolean
useOrgCodeRegularMatching
(
EquipInfoExcelDto
data
)
{
String
useOrgCode
=
data
.
getUseOrgCode
();
String
useOrgCode
=
data
.
getUseOrgCode
()
.
replace
(
"("
,
"("
).
replace
(
")"
,
")"
)
;
data
.
setUseOrgCode
(
useOrgCode
);
// 梯00陕A00000(24) 起11陕K0127(15)
String
rule01
=
"^[\\u4e00-\\u9fa5][0-9A-Z]{2}陕[A-Z0-9]{4,}\\(\\d{2}\\)$"
;
boolean
flage01
=
Pattern
.
matches
(
rule01
,
useOrgCode
);
...
...
@@ -1102,8 +1200,20 @@ public class DataDockServiceImpl {
String
rule29
=
"^[\\u4e00-\\u9fa5]{1}[0-9]{1}[A-Z]{1,2}[0-9]{4}$"
;
boolean
flage29
=
Pattern
.
matches
(
rule29
,
useOrgCode
);
// T20090311
String
rule30
=
"^[A-Za-z]\\d{4}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])$"
;
boolean
flage30
=
Pattern
.
matches
(
rule30
,
useOrgCode
);
// 容2MS陕JI0487
String
rule31
=
"^容\\d[A-Z]{2}陕[A-Z]{2}\\d{4}$"
;
boolean
flage31
=
Pattern
.
matches
(
rule31
,
useOrgCode
);
return
flage01
||
flage02
||
flage03
||
flage04
||
flage05
||
flage06
||
flage07
||
flage08
||
flage09
||
flage10
||
flage11
||
flage12
||
flage13
||
flage14
||
flage15
||
flage16
||
flage17
||
flage18
||
flage19
||
flage20
||
flage21
||
flage22
||
flage23
||
flage24
||
flage25
||
flage26
||
flage27
||
flage28
||
flage29
;
// 3MR陕J0032
String
rule32
=
"^\\d[A-Z]{2}陕[A-Z]\\d{4}$"
;
boolean
flage32
=
Pattern
.
matches
(
rule32
,
useOrgCode
);
return
flage01
||
flage02
||
flage03
||
flage04
||
flage05
||
flage06
||
flage07
||
flage08
||
flage09
||
flage10
||
flage11
||
flage12
||
flage13
||
flage14
||
flage15
||
flage16
||
flage17
||
flage18
||
flage19
||
flage20
||
flage21
||
flage22
||
flage23
||
flage24
||
flage25
||
flage26
||
flage27
||
flage28
||
flage29
||
flage30
||
flage31
||
flage32
;
}
...
...
@@ -1122,19 +1232,21 @@ public class DataDockServiceImpl {
* @param equipInfoExcelDtos
*/
public
void
batchSaveEquipmentData
(
String
remark
,
List
<
EquipInfoExcelDto
>
equipInfoExcelDtos
)
{
int
batchSize
=
1000
;
int
totalSize
=
equipInfoExcelDtos
.
size
();
for
(
int
i
=
0
;
i
<
totalSize
;
i
+=
batchSize
)
{
List
<
EquipInfoExcelDto
>
batch
=
equipInfoExcelDtos
.
subList
(
i
,
Math
.
min
(
totalSize
,
i
+
batchSize
));
try
{
CompletableFuture
.
allOf
(
batch
.
stream
().
map
(
equ
->
CompletableFuture
.
runAsync
(
()
->
this
.
saveEquipmentDataInTransaction
((
Map
<
String
,
Object
>)
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
Map
.
class
),
"jg_his"
,
remark
)
)
).
toArray
(
CompletableFuture
[]::
new
)).
join
();
}
catch
(
Exception
e
)
{
log
.
error
(
"数据上传,保存设备数据失败: {}"
,
e
.
getMessage
());
throw
new
BadRequest
(
"数据上传,保存设备数据失败!"
);
}
}
equipInfoExcelDtos
.
forEach
(
equ
->
this
.
saveEquipmentDataInTransaction
((
Map
<
String
,
Object
>)
JSON
.
parseObject
(
JSON
.
toJSONString
(
equ
),
Map
.
class
),
"jg_his"
,
remark
));
// int batchSize = 1000;
// int totalSize = equipInfoExcelDtos.size();
// for (int i = 0; i < totalSize; i += batchSize) {
// List<EquipInfoExcelDto> batch = equipInfoExcelDtos.subList(i, Math.min(totalSize, i + batchSize));
// try {
// CompletableFuture.allOf(batch.stream().map(equ -> CompletableFuture.runAsync(
// () -> this.saveEquipmentDataInTransaction((Map<String, Object>) JSON.parseObject(JSON.toJSONString(equ), Map.class), "jg_his", remark)
// )
// ).toArray(CompletableFuture[]::new)).join();
// } catch (Exception e) {
// log.error("数据上传,保存设备数据失败: {}", e.getMessage());
// throw new BadRequest("数据上传,保存设备数据失败!");
// }
// }
}
}
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