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
487f93b9
Commit
487f93b9
authored
Mar 17, 2025
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.西安数据编辑接口
parent
54049fde
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
272 additions
and
152 deletions
+272
-152
EquipUseInfoChangeDataDto.java
...mos/boot/module/jg/api/dto/EquipUseInfoChangeDataDto.java
+11
-1
ChangeItemFactory.java
...in/amos/boot/module/jg/biz/factory/ChangeItemFactory.java
+2
-2
BatchDataChangeProcessStrategy.java
...e/jg/biz/service/impl/BatchDataChangeProcessStrategy.java
+0
-2
CommonEquipDataProcessService.java
...le/jg/biz/service/impl/CommonEquipDataProcessService.java
+132
-18
EquipChangeDataUpdateService.java
...ule/jg/biz/service/impl/EquipChangeDataUpdateService.java
+28
-13
SingleDataChangeProcessStrategy.java
.../jg/biz/service/impl/SingleDataChangeProcessStrategy.java
+6
-116
SingleManageEquipEditHandleImpl.java
.../jg/biz/service/impl/SingleManageEquipEditHandleImpl.java
+93
-0
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/dto/
UseRegister
ChangeDataDto.java
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/
EquipUseInfo
ChangeDataDto.java
View file @
487f93b9
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Data
public
class
UseRegisterChangeDataDto
extends
BaseChangeDataDto
{
@Group
(
value
=
"equip_use_info"
)
public
class
EquipUseInfoChangeDataDto
extends
BaseChangeDataDto
{
@FieldDisplayDefine
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCreditCode
;
@FieldDisplayDefine
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
@FieldDisplayDefine
(
value
=
"单位内部编号"
)
private
String
useInnerCode
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/factory/ChangeItemFactory.java
View file @
487f93b9
...
@@ -10,8 +10,8 @@ public class ChangeItemFactory {
...
@@ -10,8 +10,8 @@ public class ChangeItemFactory {
private
static
final
Map
<
String
,
Class
<?
extends
BaseChangeDataDto
>>
ITEM_FACTORY
=
new
HashMap
<>();
private
static
final
Map
<
String
,
Class
<?
extends
BaseChangeDataDto
>>
ITEM_FACTORY
=
new
HashMap
<>();
static
{
static
{
// 使用
登记
信息
// 使用信息
ITEM_FACTORY
.
put
(
"
biz_use_register_info"
,
UseRegister
ChangeDataDto
.
class
);
ITEM_FACTORY
.
put
(
"
equip_use_info"
,
EquipUseInfo
ChangeDataDto
.
class
);
// 设备-注册登记信息
// 设备-注册登记信息
ITEM_FACTORY
.
put
(
"equip_register_info"
,
EquipRegisterChangeDataDto
.
class
);
ITEM_FACTORY
.
put
(
"equip_register_info"
,
EquipRegisterChangeDataDto
.
class
);
// 设备-制造信息
// 设备-制造信息
...
...
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/BatchDataChangeProcessStrategy.java
View file @
487f93b9
...
@@ -8,11 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -8,11 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.utils.NameUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
...
...
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/CommonEquipDataProcessService.java
View file @
487f93b9
...
@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
...
@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.text.CharSequenceUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
...
@@ -15,18 +16,18 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
...
@@ -15,18 +16,18 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Component
@Component
@RequiredArgsConstructor
public
class
CommonEquipDataProcessService
{
public
class
CommonEquipDataProcessService
{
private
final
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
;
private
final
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
;
...
@@ -53,19 +54,56 @@ public class CommonEquipDataProcessService {
...
@@ -53,19 +54,56 @@ public class CommonEquipDataProcessService {
private
final
EquipChangeDataUpdateService
equipChangeDataUpdateService
;
private
final
EquipChangeDataUpdateService
equipChangeDataUpdateService
;
public
CommonEquipDataProcessService
(
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
,
IdxBizJgFactoryInfoMapper
jgFactoryInfoMapper
,
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
,
IIdxBizJgTechParamsElevatorService
iIdxBizJgTechParamsElevatorService
,
IIdxBizJgTechParamsVehicleService
iIdxBizJgTechParamsVehicleService
,
IIdxBizJgTechParamsRopewayService
iIdxBizJgTechParamsRopewayService
,
IIdxBizJgTechParamsRidesService
iIdxBizJgTechParamsRidesService
,
IIdxBizJgTechParamsBoilerService
iIdxBizJgTechParamsBoilerService
,
IIdxBizJgTechParamsVesselService
iIdxBizJgTechParamsVesselService
,
IIdxBizJgTechParamsPipelineService
iIdxBizJgTechParamsPipelineService
,
IIdxBizJgTechParamsLiftingService
iIdxBizJgTechParamsLiftingService
,
EquipChangeDataUpdateService
equipChangeDataUpdateService
)
{
private
final
IdxBizJgUseInfoServiceImpl
idxBizJgUseInfoService
;
this
.
idxBizJgDesignInfoMapper
=
idxBizJgDesignInfoMapper
;
this
.
jgFactoryInfoMapper
=
jgFactoryInfoMapper
;
private
final
List
<
String
>
jsonFields
=
new
ArrayList
<>();
this
.
idxBizJgRegisterInfoMapper
=
idxBizJgRegisterInfoMapper
;
this
.
iIdxBizJgTechParamsElevatorService
=
iIdxBizJgTechParamsElevatorService
;
this
.
iIdxBizJgTechParamsVehicleService
=
iIdxBizJgTechParamsVehicleService
;
@PostConstruct
this
.
iIdxBizJgTechParamsRopewayService
=
iIdxBizJgTechParamsRopewayService
;
public
void
init
()
{
this
.
iIdxBizJgTechParamsRidesService
=
iIdxBizJgTechParamsRidesService
;
Field
[]
fields1
=
EquipRegisterChangeDataDto
.
class
.
getDeclaredFields
();
this
.
iIdxBizJgTechParamsBoilerService
=
iIdxBizJgTechParamsBoilerService
;
for
(
Field
field
:
fields1
)
{
this
.
iIdxBizJgTechParamsVesselService
=
iIdxBizJgTechParamsVesselService
;
field
.
setAccessible
(
true
);
this
.
iIdxBizJgTechParamsPipelineService
=
iIdxBizJgTechParamsPipelineService
;
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
this
.
iIdxBizJgTechParamsLiftingService
=
iIdxBizJgTechParamsLiftingService
;
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
this
.
equipChangeDataUpdateService
=
equipChangeDataUpdateService
;
jsonFields
.
add
(
field
.
getName
());
}
}
Field
[]
fields2
=
EquipFactoryChangeDataDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields2
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
// 设计信息构建
Field
[]
fields3
=
EquipDesignChangeDataDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields3
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
// 技术参数附件
Field
[]
fields4
=
TechParamsLiftingChangeFieldDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields4
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
Field
[]
fields5
=
TechParamsPipelineChangeFieldDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields5
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
}
}
public
<
T
extends
BaseChangeDataDto
>
T
castMap2Bean
(
Map
<
String
,
Object
>
map
,
Class
<
T
>
clazz
)
{
public
<
T
extends
BaseChangeDataDto
>
T
castMap2Bean
(
Map
<
String
,
Object
>
map
,
Class
<
T
>
clazz
)
{
...
@@ -112,6 +150,23 @@ public class CommonEquipDataProcessService {
...
@@ -112,6 +150,23 @@ public class CommonEquipDataProcessService {
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
registerInfoNew
,
registerInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
registerInfoNew
,
registerInfoOld
));
}
}
void
buildChangeFields
(
String
record
,
EquipDesignChangeDataDto
equipDesignChangeDataDto
,
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
,
EquipRegisterChangeDataDto
registerChangeDataDto
,
EquipUseInfoChangeDataDto
useInfoChangeDataDto
,
List
<
ChangeDataDto
>
allChangeColumns
)
{
// 构造新对象行转列
List
<
ChangeDataDto
>
designInfoNew
=
this
.
buildDesignInfoNew
(
equipDesignChangeDataDto
,
record
);
List
<
ChangeDataDto
>
factoryInfoNew
=
this
.
buildFactoryInfoNew
(
equipFactoryChangeDataDto
,
record
);
List
<
ChangeDataDto
>
registerInfoNew
=
this
.
buildRegisterInfoNew
(
registerChangeDataDto
,
record
);
List
<
ChangeDataDto
>
useInfoChangeNew
=
this
.
convertBeanField2Column2
(
useInfoChangeDataDto
,
record
);
// 老数据查询行转列
List
<
ChangeDataDto
>
designInfoOld
=
this
.
buildDesignInfoOld
(
record
);
List
<
ChangeDataDto
>
factoryInfoOld
=
this
.
buildFactoryInfoOld
(
record
);
List
<
ChangeDataDto
>
registerInfoOld
=
this
.
buildRegisterInfoOld
(
record
);
List
<
ChangeDataDto
>
useInfoOld
=
this
.
buildUseInfoOld
(
record
);
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
designInfoNew
,
designInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
factoryInfoNew
,
factoryInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
registerInfoNew
,
registerInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
useInfoChangeNew
,
useInfoOld
));
}
/**
/**
* 业务处理-业务对象
* 业务处理-业务对象
*
*
...
@@ -134,6 +189,11 @@ public class CommonEquipDataProcessService {
...
@@ -134,6 +189,11 @@ public class CommonEquipDataProcessService {
EquipDesignChangeDataDto
equipDesignChangeDataDto
=
(
EquipDesignChangeDataDto
)
changeDataDto
;
EquipDesignChangeDataDto
equipDesignChangeDataDto
=
(
EquipDesignChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateDesignChangeData
(
record
,
equipDesignChangeDataDto
);
equipChangeDataUpdateService
.
updateDesignChangeData
(
record
,
equipDesignChangeDataDto
);
}
}
// 使用信息
if
(
changeDataDto
instanceof
EquipUseInfoChangeDataDto
)
{
EquipUseInfoChangeDataDto
equipUseInfoChangeDataDto
=
(
EquipUseInfoChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateUseInfoChangeData
(
record
,
equipUseInfoChangeDataDto
);
}
}
}
private
String
buildTableName
(
Class
<?>
clazz
)
{
private
String
buildTableName
(
Class
<?>
clazz
)
{
...
@@ -397,7 +457,6 @@ public class CommonEquipDataProcessService {
...
@@ -397,7 +457,6 @@ public class CommonEquipDataProcessService {
return
changeData
;
return
changeData
;
}
}
public
List
<
ChangeDataDto
>
buildDesignInfoNew
(
Object
changeDataDto
,
String
record
)
{
public
List
<
ChangeDataDto
>
buildDesignInfoNew
(
Object
changeDataDto
,
String
record
)
{
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
}
...
@@ -432,4 +491,59 @@ public class CommonEquipDataProcessService {
...
@@ -432,4 +491,59 @@ public class CommonEquipDataProcessService {
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
}
private
List
<
ChangeDataDto
>
buildUseInfoOld
(
String
record
)
{
EquipUseInfoChangeDataDto
changeDataDto
=
new
EquipUseInfoChangeDataDto
();
IdxBizJgUseInfo
useInfo
=
idxBizJgUseInfoService
.
getOneData
(
record
);
BeanUtil
.
copyProperties
(
useInfo
,
changeDataDto
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
Map
<
String
,
Object
>
cast2UnderCase
(
Map
<
String
,
Object
>
re
)
{
// 由于历史遗留问题,和前端保存统一,要转成大写下滑线驼峰
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
re
.
forEach
((
k
,
v
)
->
{
result
.
put
(
CharSequenceUtil
.
toUnderlineCase
(
k
).
toUpperCase
(),
v
);
});
return
result
;
}
void
castJsonFields
(
Map
<
String
,
Object
>
re
)
{
jsonFields
.
forEach
(
field
->
{
if
(
re
.
containsKey
(
field
)
&&
re
.
get
(
field
)
instanceof
String
)
{
re
.
put
(
field
,
JSON
.
parse
((
String
)
re
.
get
(
field
)));
}
});
}
EquipDesignChangeDataDto
buildDesignInfo
(
String
record
)
{
EquipDesignChangeDataDto
changeDataDto
=
new
EquipDesignChangeDataDto
();
IdxBizJgDesignInfo
designInfo
=
idxBizJgDesignInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>().
eq
(
IdxBizJgDesignInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
designInfo
,
changeDataDto
);
changeDataDto
.
setDesignDate
(
DateUtil
.
formatDate
(
designInfo
.
getDesignDate
()));
return
changeDataDto
;
}
EquipFactoryChangeDataDto
buildFactoryInfo
(
String
record
)
{
EquipFactoryChangeDataDto
changeDataDto
=
new
EquipFactoryChangeDataDto
();
IdxBizJgFactoryInfo
factoryInfo
=
jgFactoryInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
factoryInfo
,
changeDataDto
);
changeDataDto
.
setProduceDate
(
DateUtil
.
formatDate
(
factoryInfo
.
getProduceDate
()));
return
changeDataDto
;
}
EquipRegisterChangeDataDto
buildRegisterInfo
(
String
record
)
{
EquipRegisterChangeDataDto
changeDataDto
=
new
EquipRegisterChangeDataDto
();
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
return
changeDataDto
;
}
EquipUseInfoChangeDataDto
buildUseInfo
(
String
record
)
{
EquipUseInfoChangeDataDto
changeDataDto
=
new
EquipUseInfoChangeDataDto
();
IdxBizJgUseInfo
useInfo
=
idxBizJgUseInfoService
.
getOneData
(
record
);
BeanUtil
.
copyProperties
(
useInfo
,
changeDataDto
);
return
changeDataDto
;
}
}
}
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/EquipChangeDataUpdateService.java
View file @
487f93b9
...
@@ -9,15 +9,13 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
...
@@ -9,15 +9,13 @@ import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
...
@@ -28,6 +26,7 @@ import java.util.Optional;
...
@@ -28,6 +26,7 @@ import java.util.Optional;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
@RequiredArgsConstructor
public
class
EquipChangeDataUpdateService
{
public
class
EquipChangeDataUpdateService
{
private
final
ESEquipmentCategory
esEquipmentCategory
;
private
final
ESEquipmentCategory
esEquipmentCategory
;
...
@@ -42,14 +41,7 @@ public class EquipChangeDataUpdateService {
...
@@ -42,14 +41,7 @@ public class EquipChangeDataUpdateService {
private
final
EquipmentCategoryMapper
equipmentCategoryMapper
;
private
final
EquipmentCategoryMapper
equipmentCategoryMapper
;
public
EquipChangeDataUpdateService
(
ESEquipmentCategory
esEquipmentCategory
,
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
,
IdxBizJgFactoryInfoMapper
jgFactoryInfoMapper
,
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
,
CommonMapper
commonMapper
,
EquipmentCategoryMapper
equipmentCategoryMapper
)
{
private
final
IdxBizJgUseInfoServiceImpl
idxBizJgUseInfoService
;
this
.
esEquipmentCategory
=
esEquipmentCategory
;
this
.
idxBizJgDesignInfoMapper
=
idxBizJgDesignInfoMapper
;
this
.
jgFactoryInfoMapper
=
jgFactoryInfoMapper
;
this
.
idxBizJgRegisterInfoMapper
=
idxBizJgRegisterInfoMapper
;
this
.
commonMapper
=
commonMapper
;
this
.
equipmentCategoryMapper
=
equipmentCategoryMapper
;
}
public
void
updateRegisterChangeData
(
String
record
,
EquipRegisterChangeDataDto
registerChangeDataDto
)
{
public
void
updateRegisterChangeData
(
String
record
,
EquipRegisterChangeDataDto
registerChangeDataDto
)
{
LambdaUpdateWrapper
<
IdxBizJgRegisterInfo
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
IdxBizJgRegisterInfo
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
...
@@ -116,6 +108,7 @@ public class EquipChangeDataUpdateService {
...
@@ -116,6 +108,7 @@ public class EquipChangeDataUpdateService {
}
}
}
}
private
void
updateRegisterEsData
(
String
record
,
EquipRegisterChangeDataDto
registerChangeDataDto
)
{
private
void
updateRegisterEsData
(
String
record
,
EquipRegisterChangeDataDto
registerChangeDataDto
)
{
// es 数据更新
// es 数据更新
Optional
<
ESEquipmentCategoryDto
>
optional
=
esEquipmentCategory
.
findById
(
record
);
Optional
<
ESEquipmentCategoryDto
>
optional
=
esEquipmentCategory
.
findById
(
record
);
...
@@ -165,7 +158,7 @@ public class EquipChangeDataUpdateService {
...
@@ -165,7 +158,7 @@ public class EquipChangeDataUpdateService {
public
void
checkFactoryChangeData
(
String
record
,
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
,
String
equList
,
String
equCategory
,
String
equDefine
)
{
public
void
checkFactoryChangeData
(
String
record
,
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
,
String
equList
,
String
equCategory
,
String
equDefine
)
{
// 气瓶时检验出厂编号-普通气瓶,车用气瓶不再此范围内
// 气瓶时检验出厂编号-普通气瓶,车用气瓶不再此范围内
if
(
CylinderTypeEnum
.
CYLINDER
.
getCode
().
equals
(
equCategory
))
{
if
(
CylinderTypeEnum
.
CYLINDER
.
getCode
().
equals
(
equCategory
)
&&
StringUtils
.
isNotEmpty
(
equipFactoryChangeDataDto
.
getFactoryNum
())
)
{
boolean
isUsed
=
this
.
checkFactoryNumUnique
(
equipFactoryChangeDataDto
.
getFactoryNum
(),
record
,
equipFactoryChangeDataDto
.
getProduceUnitCreditCode
());
boolean
isUsed
=
this
.
checkFactoryNumUnique
(
equipFactoryChangeDataDto
.
getFactoryNum
(),
record
,
equipFactoryChangeDataDto
.
getProduceUnitCreditCode
());
if
(
isUsed
)
{
if
(
isUsed
)
{
throw
new
BadRequest
(
"出厂编号/产品编码在该企业中已存在!"
);
throw
new
BadRequest
(
"出厂编号/产品编码在该企业中已存在!"
);
...
@@ -211,4 +204,26 @@ public class EquipChangeDataUpdateService {
...
@@ -211,4 +204,26 @@ public class EquipChangeDataUpdateService {
updateWrapper
.
set
(
IdxBizJgDesignInfo:
:
getRecDate
,
new
Date
());
updateWrapper
.
set
(
IdxBizJgDesignInfo:
:
getRecDate
,
new
Date
());
idxBizJgDesignInfoMapper
.
update
(
null
,
updateWrapper
);
idxBizJgDesignInfoMapper
.
update
(
null
,
updateWrapper
);
}
}
public
void
updateUseInfoChangeData
(
String
record
,
EquipUseInfoChangeDataDto
equipUseInfoChangeDataDto
)
{
LambdaUpdateWrapper
<
IdxBizJgUseInfo
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
IdxBizJgUseInfo:
:
getRecord
,
record
);
updateWrapper
.
set
(
IdxBizJgUseInfo:
:
getUseUnitCreditCode
,
equipUseInfoChangeDataDto
.
getUseUnitCreditCode
());
updateWrapper
.
set
(
IdxBizJgUseInfo:
:
getUseUnitName
,
equipUseInfoChangeDataDto
.
getUseUnitName
());
updateWrapper
.
set
(
IdxBizJgUseInfo:
:
getUseInnerCode
,
equipUseInfoChangeDataDto
.
getUseInnerCode
());
idxBizJgUseInfoService
.
update
(
updateWrapper
);
this
.
updateUseInfoEsData
(
record
,
equipUseInfoChangeDataDto
);
}
private
void
updateUseInfoEsData
(
String
record
,
EquipUseInfoChangeDataDto
equipUseInfoChangeDataDto
)
{
// es 数据更新
Optional
<
ESEquipmentCategoryDto
>
optional
=
esEquipmentCategory
.
findById
(
record
);
if
(
optional
.
isPresent
())
{
ESEquipmentCategoryDto
esEquipmentCategoryDto
=
optional
.
get
();
esEquipmentCategoryDto
.
setUSE_UNIT_CREDIT_CODE
(
equipUseInfoChangeDataDto
.
getUseUnitCreditCode
());
esEquipmentCategoryDto
.
setUSC_UNIT_NAME
(
equipUseInfoChangeDataDto
.
getUseUnitName
());
esEquipmentCategoryDto
.
setUSE_INNER_CODE
(
equipUseInfoChangeDataDto
.
getUseInnerCode
());
esEquipmentCategory
.
save
(
esEquipmentCategoryDto
);
}
}
}
}
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/SingleDataChangeProcessStrategy.java
View file @
487f93b9
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.text.CharSequenceUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
...
@@ -18,20 +14,12 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationManageMapper;
...
@@ -18,20 +14,12 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationManageMapper;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.*
;
import
com.yeejoin.amos.boot.module.jg.biz.service.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
javax.annotation.PostConstruct
;
import
java.lang.reflect.Field
;
import
java.util.*
;
import
java.util.*
;
/**
/**
...
@@ -40,11 +28,6 @@ import java.util.*;
...
@@ -40,11 +28,6 @@ import java.util.*;
@Component
@Component
public
class
SingleDataChangeProcessStrategy
implements
IChangeDataProcessStrategy
{
public
class
SingleDataChangeProcessStrategy
implements
IChangeDataProcessStrategy
{
private
final
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
;
private
final
IdxBizJgFactoryInfoMapper
jgFactoryInfoMapper
;
private
final
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
;
private
final
JgUseRegistrationServiceImpl
useRegistrationService
;
private
final
JgUseRegistrationServiceImpl
useRegistrationService
;
...
@@ -56,13 +39,8 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -56,13 +39,8 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
private
final
EquipmentCategoryMapper
equipmentCategoryMapper
;
private
final
EquipmentCategoryMapper
equipmentCategoryMapper
;
private
final
List
<
String
>
jsonFields
=
new
ArrayList
<>();
public
SingleDataChangeProcessStrategy
(
JgUseRegistrationServiceImpl
useRegistrationService
,
JgUseRegistrationEqMapper
jgRelationEquipMapper
,
CommonEquipDataProcessService
commonEquipDataProcessService
,
JgUseRegistrationManageMapper
registrationManageMapper
,
EquipmentCategoryMapper
equipmentCategoryMapper
)
{
public
SingleDataChangeProcessStrategy
(
IdxBizJgDesignInfoMapper
idxBizJgDesignInfoMapper
,
IdxBizJgFactoryInfoMapper
jgFactoryInfoMapper
,
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
,
JgUseRegistrationServiceImpl
useRegistrationService
,
JgUseRegistrationEqMapper
jgRelationEquipMapper
,
IIdxBizJgTechParamsElevatorService
iIdxBizJgTechParamsElevatorService
,
IIdxBizJgTechParamsVehicleService
iIdxBizJgTechParamsVehicleService
,
IIdxBizJgTechParamsRopewayService
iIdxBizJgTechParamsRopewayService
,
IIdxBizJgTechParamsRidesService
iIdxBizJgTechParamsRidesService
,
IIdxBizJgTechParamsBoilerService
iIdxBizJgTechParamsBoilerService
,
IIdxBizJgTechParamsVesselService
iIdxBizJgTechParamsVesselService
,
IIdxBizJgTechParamsPipelineService
iIdxBizJgTechParamsPipelineService
,
IIdxBizJgTechParamsLiftingService
iIdxBizJgTechParamsLiftingService
,
EquipChangeDataUpdateService
equipChangeDataUpdateService
,
CommonEquipDataProcessService
commonEquipDataProcessService
,
JgUseRegistrationManageMapper
registrationManageMapper
,
EquipmentCategoryMapper
equipmentCategoryMapper
)
{
this
.
idxBizJgDesignInfoMapper
=
idxBizJgDesignInfoMapper
;
this
.
jgFactoryInfoMapper
=
jgFactoryInfoMapper
;
this
.
idxBizJgRegisterInfoMapper
=
idxBizJgRegisterInfoMapper
;
this
.
useRegistrationService
=
useRegistrationService
;
this
.
useRegistrationService
=
useRegistrationService
;
this
.
jgRelationEquipMapper
=
jgRelationEquipMapper
;
this
.
jgRelationEquipMapper
=
jgRelationEquipMapper
;
this
.
commonEquipDataProcessService
=
commonEquipDataProcessService
;
this
.
commonEquipDataProcessService
=
commonEquipDataProcessService
;
...
@@ -70,53 +48,6 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -70,53 +48,6 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
this
.
equipmentCategoryMapper
=
equipmentCategoryMapper
;
this
.
equipmentCategoryMapper
=
equipmentCategoryMapper
;
}
}
@PostConstruct
public
void
init
()
{
Field
[]
fields1
=
EquipRegisterChangeDataDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields1
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
Field
[]
fields2
=
EquipFactoryChangeDataDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields2
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
// 设计信息构建
Field
[]
fields3
=
EquipDesignChangeDataDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields3
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
// 技术参数附件
Field
[]
fields4
=
TechParamsLiftingChangeFieldDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields4
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
Field
[]
fields5
=
TechParamsPipelineChangeFieldDto
.
class
.
getDeclaredFields
();
for
(
Field
field
:
fields5
)
{
field
.
setAccessible
(
true
);
FieldDisplayDefine
fieldDisplayDefine
=
field
.
getAnnotation
(
FieldDisplayDefine
.
class
);
if
(
fieldDisplayDefine
!=
null
&&
fieldDisplayDefine
.
type
()
==
JSON
.
class
)
{
jsonFields
.
add
(
field
.
getName
());
}
}
}
@Override
@Override
public
List
<
ChangeDataDto
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
)
{
public
List
<
ChangeDataDto
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
)
{
...
@@ -189,60 +120,19 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -189,60 +120,19 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
private
Map
<
String
,
Object
>
getDetailByBizId
(
String
record
)
{
private
Map
<
String
,
Object
>
getDetailByBizId
(
String
record
)
{
Map
<
String
,
Object
>
re
=
new
HashMap
<>();
Map
<
String
,
Object
>
re
=
new
HashMap
<>();
// 注册信息(基本信息)构建
// 注册信息(基本信息)构建
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
=
this
.
buildRegisterInfo
(
record
);
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
=
commonEquipDataProcessService
.
buildRegisterInfo
(
record
);
// 制造信息构建
// 制造信息构建
EquipFactoryChangeDataDto
factoryChangeDataDto
=
this
.
buildFactoryInfo
(
record
);
EquipFactoryChangeDataDto
factoryChangeDataDto
=
commonEquipDataProcessService
.
buildFactoryInfo
(
record
);
// 设计信息构建
// 设计信息构建
EquipDesignChangeDataDto
designChangeDataDto
=
this
.
buildDesignInfo
(
record
);
EquipDesignChangeDataDto
designChangeDataDto
=
commonEquipDataProcessService
.
buildDesignInfo
(
record
);
// 技术参数构建
// 技术参数构建
BaseTechParamsFieldDto
techParamsFieldDto
=
commonEquipDataProcessService
.
buildTechParamInfo
(
equipRegisterChangeDataDto
,
record
);
BaseTechParamsFieldDto
techParamsFieldDto
=
commonEquipDataProcessService
.
buildTechParamInfo
(
equipRegisterChangeDataDto
,
record
);
re
.
putAll
(
BeanUtil
.
beanToMap
(
equipRegisterChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
equipRegisterChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
factoryChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
factoryChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
designChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
designChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
techParamsFieldDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
techParamsFieldDto
));
this
.
castJsonFields
(
re
);
commonEquipDataProcessService
.
castJsonFields
(
re
);
return
this
.
cast2UnderCase
(
re
);
return
commonEquipDataProcessService
.
cast2UnderCase
(
re
);
}
private
Map
<
String
,
Object
>
cast2UnderCase
(
Map
<
String
,
Object
>
re
)
{
// 由于历史遗留问题,和前端保存统一,要转成大写下滑线驼峰
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
re
.
forEach
((
k
,
v
)
->
{
result
.
put
(
CharSequenceUtil
.
toUnderlineCase
(
k
).
toUpperCase
(),
v
);
});
return
result
;
}
private
void
castJsonFields
(
Map
<
String
,
Object
>
re
)
{
jsonFields
.
forEach
(
field
->
{
if
(
re
.
containsKey
(
field
)
&&
re
.
get
(
field
)
instanceof
String
)
{
re
.
put
(
field
,
JSON
.
parse
((
String
)
re
.
get
(
field
)));
}
});
}
private
EquipDesignChangeDataDto
buildDesignInfo
(
String
record
)
{
EquipDesignChangeDataDto
changeDataDto
=
new
EquipDesignChangeDataDto
();
IdxBizJgDesignInfo
designInfo
=
idxBizJgDesignInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>().
eq
(
IdxBizJgDesignInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
designInfo
,
changeDataDto
);
changeDataDto
.
setDesignDate
(
DateUtil
.
formatDate
(
designInfo
.
getDesignDate
()));
return
changeDataDto
;
}
private
EquipFactoryChangeDataDto
buildFactoryInfo
(
String
record
)
{
EquipFactoryChangeDataDto
changeDataDto
=
new
EquipFactoryChangeDataDto
();
IdxBizJgFactoryInfo
factoryInfo
=
jgFactoryInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
factoryInfo
,
changeDataDto
);
changeDataDto
.
setProduceDate
(
DateUtil
.
formatDate
(
factoryInfo
.
getProduceDate
()));
return
changeDataDto
;
}
private
EquipRegisterChangeDataDto
buildRegisterInfo
(
String
record
)
{
EquipRegisterChangeDataDto
changeDataDto
=
new
EquipRegisterChangeDataDto
();
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
return
changeDataDto
;
}
}
...
...
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/SingleManageEquipEditHandleImpl.java
0 → 100644
View file @
487f93b9
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Component
@RequiredArgsConstructor
public
class
SingleManageEquipEditHandleImpl
implements
IBizDataChangeHandleStrategy
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
private
final
EventPublisher
publisher
;
@Override
public
String
canHandleBizType
()
{
return
"singleManageEquipEdit"
;
}
@Override
public
Map
<
String
,
?>
getDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
)
{
return
this
.
getDetailByBizId
(
bizId
);
}
public
Map
<
String
,
Object
>
getDetailByBizId
(
String
record
)
{
Map
<
String
,
Object
>
re
=
new
HashMap
<>();
// 注册信息(基本信息)构建
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
=
commonEquipDataProcessService
.
buildRegisterInfo
(
record
);
// 制造信息构建
EquipFactoryChangeDataDto
factoryChangeDataDto
=
commonEquipDataProcessService
.
buildFactoryInfo
(
record
);
// 设计信息构建
EquipDesignChangeDataDto
designChangeDataDto
=
commonEquipDataProcessService
.
buildDesignInfo
(
record
);
// 使用信息
EquipUseInfoChangeDataDto
equipUseInfoChangeDataDto
=
commonEquipDataProcessService
.
buildUseInfo
(
record
);
re
.
putAll
(
BeanUtil
.
beanToMap
(
equipRegisterChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
factoryChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
designChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
equipUseInfoChangeDataDto
));
commonEquipDataProcessService
.
castJsonFields
(
re
);
return
commonEquipDataProcessService
.
cast2UnderCase
(
re
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
doSave
(
String
record
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
this
.
update
(
record
,
changeData
);
// 记录流水
if
(!
allChangeColumns
.
isEmpty
())
{
// 更新历史的JSON的数据
this
.
buildLogData
(
allChangeColumns
);
// 异步记录日志
publisher
.
publish
(
new
ChangeDataEvent
(
this
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
}
}
private
List
<
ChangeDataDto
>
update
(
String
record
,
Map
<
String
,
Object
>
changeData
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
new
ArrayList
<>();
// 新数据解析
EquipRegisterChangeDataDto
registerChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipRegisterChangeDataDto
.
class
);
EquipFactoryChangeDataDto
factoryChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipFactoryChangeDataDto
.
class
);
EquipDesignChangeDataDto
designChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipDesignChangeDataDto
.
class
);
EquipUseInfoChangeDataDto
useInfoChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipUseInfoChangeDataDto
.
class
);
commonEquipDataProcessService
.
buildChangeFields
(
record
,
designChangeDataDto
,
factoryChangeDataDto
,
registerChangeDataDto
,
useInfoChangeDataDto
,
allChangeColumns
);
// 前置校验
commonEquipDataProcessService
.
checkValidField
(
record
,
registerChangeDataDto
,
registerChangeDataDto
.
getEquList
(),
registerChangeDataDto
.
getEquCategory
(),
registerChangeDataDto
.
getEquDefine
());
commonEquipDataProcessService
.
checkValidField
(
record
,
factoryChangeDataDto
,
registerChangeDataDto
.
getEquList
(),
registerChangeDataDto
.
getEquCategory
(),
registerChangeDataDto
.
getEquDefine
());
commonEquipDataProcessService
.
checkValidField
(
record
,
designChangeDataDto
,
registerChangeDataDto
.
getEquList
(),
registerChangeDataDto
.
getEquCategory
(),
registerChangeDataDto
.
getEquDefine
());
// 设备制造、设计、注册、使用信息业务处理落库
commonEquipDataProcessService
.
dealBizDataForEquip
(
record
,
registerChangeDataDto
);
commonEquipDataProcessService
.
dealBizDataForEquip
(
record
,
factoryChangeDataDto
);
commonEquipDataProcessService
.
dealBizDataForEquip
(
record
,
designChangeDataDto
);
commonEquipDataProcessService
.
dealBizDataForEquip
(
record
,
useInfoChangeDataDto
);
return
allChangeColumns
;
}
private
void
buildLogData
(
List
<
ChangeDataDto
>
allChangeColumns
)
{
allChangeColumns
.
forEach
(
column
->
{
column
.
setBizType
(
"监管端编辑设备信息"
);
});
}
}
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