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
0636fa70
Commit
0636fa70
authored
Nov 21, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.使用登记单据变更功能
parent
b2b4b1fd
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
446 additions
and
227 deletions
+446
-227
BaseChangeDataDto.java
...eejoin/amos/boot/module/jg/api/dto/BaseChangeDataDto.java
+2
-0
BaseTechParamsFieldDto.java
...n/amos/boot/module/jg/api/dto/BaseTechParamsFieldDto.java
+6
-0
EquipRegisterChangeDataDto.java
...os/boot/module/jg/api/dto/EquipRegisterChangeDataDto.java
+3
-0
MultiChangeItemData.java
...join/amos/boot/module/jg/api/dto/MultiChangeItemData.java
+13
-0
RequestChangeData.java
...eejoin/amos/boot/module/jg/api/dto/RequestChangeData.java
+20
-0
TechParamsBoilerChangeFieldDto.java
...oot/module/jg/api/dto/TechParamsBoilerChangeFieldDto.java
+3
-1
TechParamsElevatorChangeFieldDto.java
...t/module/jg/api/dto/TechParamsElevatorChangeFieldDto.java
+1
-1
TechParamsLiftingChangeFieldDto.java
...ot/module/jg/api/dto/TechParamsLiftingChangeFieldDto.java
+1
-1
TechParamsPipelineChangeFieldDto.java
...t/module/jg/api/dto/TechParamsPipelineChangeFieldDto.java
+1
-1
TechParamsRidesChangeFieldDto.java
...boot/module/jg/api/dto/TechParamsRidesChangeFieldDto.java
+1
-1
TechParamsRopewayChangeFieldDto.java
...ot/module/jg/api/dto/TechParamsRopewayChangeFieldDto.java
+1
-1
TechParamsVehicleChangeFieldDto.java
...ot/module/jg/api/dto/TechParamsVehicleChangeFieldDto.java
+1
-1
TechParamsVesselChangeFieldDto.java
...oot/module/jg/api/dto/TechParamsVesselChangeFieldDto.java
+1
-1
IBizDataChangeHandleStrategy.java
...t/module/jg/api/service/IBizDataChangeHandleStrategy.java
+4
-4
BizDataHandleStrategyContext.java
...t/module/jg/biz/context/BizDataHandleStrategyContext.java
+1
-1
DataProcessStrategyContext.java
...oot/module/jg/biz/context/DataProcessStrategyContext.java
+1
-1
BizDataChangeController.java
...oot/module/jg/biz/controller/BizDataChangeController.java
+7
-9
IChangeDataProcessStrategy.java
...oot/module/jg/biz/service/IChangeDataProcessStrategy.java
+3
-2
BatchDataChangeProcessStrategy.java
...e/jg/biz/service/impl/BatchDataChangeProcessStrategy.java
+21
-8
BizDataChangeServiceImpl.java
.../module/jg/biz/service/impl/BizDataChangeServiceImpl.java
+5
-5
EquipChangeDataUpdateService.java
...ule/jg/biz/service/impl/EquipChangeDataUpdateService.java
+1
-4
SingleDataChangeProcessStrategy.java
.../jg/biz/service/impl/SingleDataChangeProcessStrategy.java
+335
-60
UseRegisterDataChangeHandleImpl.java
.../jg/biz/service/impl/UseRegisterDataChangeHandleImpl.java
+14
-125
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/BaseChangeDataDto.java
View file @
0636fa70
...
@@ -6,4 +6,6 @@ import java.io.Serializable;
...
@@ -6,4 +6,6 @@ import java.io.Serializable;
@Data
@Data
public
class
BaseChangeDataDto
implements
Serializable
{
public
class
BaseChangeDataDto
implements
Serializable
{
private
String
changeId
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/BaseTechParamsFieldDto.java
0 → 100644
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
java.io.Serializable
;
public
class
BaseTechParamsFieldDto
implements
Serializable
{
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/EquipRegisterChangeDataDto.java
View file @
0636fa70
...
@@ -14,6 +14,9 @@ public class EquipRegisterChangeDataDto extends BaseChangeDataDto {
...
@@ -14,6 +14,9 @@ public class EquipRegisterChangeDataDto extends BaseChangeDataDto {
@FieldDisplayDefine
(
value
=
"设备种类"
,
isExist
=
false
)
@FieldDisplayDefine
(
value
=
"设备种类"
,
isExist
=
false
)
private
String
equList
;
private
String
equList
;
@FieldDisplayDefine
(
value
=
"设备类别"
,
isExist
=
false
)
private
String
equCategory
;
@FieldDisplayDefine
(
value
=
"设备代码"
)
@FieldDisplayDefine
(
value
=
"设备代码"
)
private
String
equCode
;
private
String
equCode
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/MultiChangeItemData.java
0 → 100644
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
lombok.Data
;
import
java.util.Map
;
@Data
public
class
MultiChangeItemData
{
String
record
;
Map
<
String
,
Object
>
data
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/RequestChangeData.java
0 → 100644
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
java.util.HashMap
;
public
class
RequestChangeData
extends
JSONObject
{
public
static
final
String
multiDataKey
=
"tableData"
;
public
IBizDataChangeHandleStrategy
.
ModelType
getModelType
()
{
if
(!
this
.
containsKey
(
multiDataKey
))
{
return
IBizDataChangeHandleStrategy
.
ModelType
.
single
;
}
return
IBizDataChangeHandleStrategy
.
ModelType
.
batch
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsBoilerChangeFieldDto.java
View file @
0636fa70
...
@@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModel;
...
@@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModel;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
/**
* 安全追溯-锅炉
* 安全追溯-锅炉
*
*
...
@@ -16,7 +18,7 @@ import lombok.experimental.Accessors;
...
@@ -16,7 +18,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_boiler"
)
@Group
(
value
=
"tech_params_boiler"
)
public
class
TechParamsBoilerChangeFieldDto
{
public
class
TechParamsBoilerChangeFieldDto
extends
BaseTechParamsFieldDto
{
@FieldDisplayDefine
(
value
=
"设备级别"
)
@FieldDisplayDefine
(
value
=
"设备级别"
)
private
String
deviceLevel
;
private
String
deviceLevel
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsElevatorChangeFieldDto.java
View file @
0636fa70
...
@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
...
@@ -14,7 +14,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_elevator"
)
@Group
(
value
=
"tech_params_elevator"
)
public
class
TechParamsElevatorChangeFieldDto
{
public
class
TechParamsElevatorChangeFieldDto
extends
BaseTechParamsFieldDto
{
@FieldDisplayDefine
(
value
=
"设备级别"
)
@FieldDisplayDefine
(
value
=
"设备级别"
)
private
String
ratedSpeedUp
;
private
String
ratedSpeedUp
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsLiftingChangeFieldDto.java
View file @
0636fa70
...
@@ -16,7 +16,7 @@ import java.util.Date;
...
@@ -16,7 +16,7 @@ import java.util.Date;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_lifting"
)
@Group
(
value
=
"tech_params_lifting"
)
public
class
TechParamsLiftingChangeFieldDto
{
public
class
TechParamsLiftingChangeFieldDto
extends
BaseTechParamsFieldDto
{
private
String
jurisdictionalAgency
;
private
String
jurisdictionalAgency
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsPipelineChangeFieldDto.java
View file @
0636fa70
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_pipeline"
)
@Group
(
value
=
"tech_params_pipeline"
)
public
class
TechParamsPipelineChangeFieldDto
{
public
class
TechParamsPipelineChangeFieldDto
extends
BaseTechParamsFieldDto
{
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsRidesChangeFieldDto.java
View file @
0636fa70
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_rides"
)
@Group
(
value
=
"tech_params_rides"
)
public
class
TechParamsRidesChangeFieldDto
{
public
class
TechParamsRidesChangeFieldDto
extends
BaseTechParamsFieldDto
{
/**
/**
*
*
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsRopewayChangeFieldDto.java
View file @
0636fa70
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_ropeway"
)
@Group
(
value
=
"tech_params_ropeway"
)
public
class
TechParamsRopewayChangeFieldDto
{
public
class
TechParamsRopewayChangeFieldDto
extends
BaseTechParamsFieldDto
{
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsVehicleChangeFieldDto.java
View file @
0636fa70
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
...
@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_vehicle"
)
@Group
(
value
=
"tech_params_vehicle"
)
public
class
TechParamsVehicleChangeFieldDto
{
public
class
TechParamsVehicleChangeFieldDto
extends
BaseTechParamsFieldDto
{
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/TechParamsVesselChangeFieldDto.java
View file @
0636fa70
...
@@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
...
@@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@Group
(
value
=
"tech_params_vessel"
)
@Group
(
value
=
"tech_params_vessel"
)
public
class
TechParamsVesselChangeFieldDto
{
public
class
TechParamsVesselChangeFieldDto
extends
BaseTechParamsFieldDto
{
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-
biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz
/service/IBizDataChangeHandleStrategy.java
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-
api/src/main/java/com/yeejoin/amos/boot/module/jg/api
/service/IBizDataChangeHandleStrategy.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -17,10 +17,10 @@ public interface IBizDataChangeHandleStrategy {
...
@@ -17,10 +17,10 @@ public interface IBizDataChangeHandleStrategy {
*
*
* @param applyNo 单据编号
* @param applyNo 单据编号
* @param model single, batch
* @param model single, batch
* @param bizId
* @param bizId
设备record
* @return 变更信息详情
* @return 变更信息详情
*/
*/
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
getChangeDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
);
Map
<
String
,
?
>
getChangeDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
);
/**
/**
* 保存
* 保存
...
@@ -29,7 +29,7 @@ public interface IBizDataChangeHandleStrategy {
...
@@ -29,7 +29,7 @@ public interface IBizDataChangeHandleStrategy {
* @param model single, batch
* @param model single, batch
* @param changeData 变更数据
* @param changeData 变更数据
*/
*/
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
changeData
);
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
/**
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/context/BizDataHandleStrategyContext.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
context
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
context
;
import
com.yeejoin.amos.boot.module.jg.
biz
.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.
api
.service.IBizDataChangeHandleStrategy
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.ApplicationContextAware
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/context/DataProcessStrategyContext.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
context
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
context
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
com.yeejoin.amos.boot.module.jg.
biz
.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.
api
.service.IBizDataChangeHandleStrategy
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.ApplicationContextAware
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/BizDataChangeController.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
controller
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
controller
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.BizDataChangeServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.BizDataChangeServiceImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -10,7 +11,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
...
@@ -10,7 +11,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@RestController
@RestController
...
@@ -19,7 +19,7 @@ import java.util.Map;
...
@@ -19,7 +19,7 @@ import java.util.Map;
public
class
BizDataChangeController
{
public
class
BizDataChangeController
{
private
BizDataChangeServiceImpl
bizDataChangeService
;
private
final
BizDataChangeServiceImpl
bizDataChangeService
;
public
BizDataChangeController
(
BizDataChangeServiceImpl
bizDataChangeService
)
{
public
BizDataChangeController
(
BizDataChangeServiceImpl
bizDataChangeService
)
{
this
.
bizDataChangeService
=
bizDataChangeService
;
this
.
bizDataChangeService
=
bizDataChangeService
;
...
@@ -30,9 +30,8 @@ public class BizDataChangeController {
...
@@ -30,9 +30,8 @@ public class BizDataChangeController {
@ApiOperation
(
value
=
"业务数据变更保存"
,
httpMethod
=
"POST"
)
@ApiOperation
(
value
=
"业务数据变更保存"
,
httpMethod
=
"POST"
)
public
ResponseModel
<
String
>
save
(
String
applyNo
,
public
ResponseModel
<
String
>
save
(
String
applyNo
,
@PathVariable
String
bizType
,
@PathVariable
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
@RequestBody
RequestChangeData
changeData
)
{
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
changeData
)
{
bizDataChangeService
.
save
(
applyNo
,
bizType
,
changeData
);
bizDataChangeService
.
save
(
applyNo
,
bizType
,
model
,
changeData
);
return
ResponseHelper
.
buildResponse
(
"success"
);
return
ResponseHelper
.
buildResponse
(
"success"
);
}
}
...
@@ -40,12 +39,11 @@ public class BizDataChangeController {
...
@@ -40,12 +39,11 @@ public class BizDataChangeController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{bizType}/detail"
)
@GetMapping
(
value
=
"/{bizType}/detail"
)
@ApiOperation
(
value
=
"查询可业务变更的字段及默认值"
,
httpMethod
=
"GET"
)
@ApiOperation
(
value
=
"查询可业务变更的字段及默认值"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>>
getDetail
(
@RequestParam
(
required
=
false
)
String
applyNo
,
public
ResponseModel
<
Map
<
String
,
?
>>
getDetail
(
@RequestParam
(
required
=
false
)
String
applyNo
,
@PathVariable
String
bizType
,
@PathVariable
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
@RequestParam
(
required
=
false
)
String
bizId
)
{
@RequestParam
(
required
=
false
)
String
bizId
)
{
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
=
bizDataChangeService
.
queryDetail
(
applyNo
,
bizType
,
model
,
bizId
);
return
ResponseHelper
.
buildResponse
(
bizDataChangeService
.
queryDetail
(
applyNo
,
bizType
,
model
,
bizId
));
return
ResponseHelper
.
buildResponse
(
re
);
}
}
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/IChangeDataProcessStrategy.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -13,10 +14,10 @@ public interface IChangeDataProcessStrategy {
...
@@ -13,10 +14,10 @@ public interface IChangeDataProcessStrategy {
/**
/**
* 事件处理
* 事件处理
*/
*/
Map
<
String
,
List
<
ChangeDataDto
>>
handle
(
List
<
Map
<
String
,
Object
>
>
changeData
,
String
defaultChangeId
);
List
<
ChangeDataDto
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
);
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
getDetail
(
String
applyNo
,
String
bizId
);
Map
<
String
,
?
>
getDetail
(
String
applyNo
,
String
bizId
);
/**
/**
* 可处理类型
* 可处理类型
...
...
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 @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
c
n.hutool.core.bean.BeanUtil
;
import
c
om.alibaba.fastjson.JSONArray
;
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
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.MultiChangeItemData
;
import
com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory
;
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.enums.CylinderTypeEnum
;
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.
biz
.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
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel
;
import
com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -36,17 +38,28 @@ public class BatchDataChangeProcessStrategy implements IChangeDataProcessStrateg
...
@@ -36,17 +38,28 @@ public class BatchDataChangeProcessStrategy implements IChangeDataProcessStrateg
private
final
JgUseRegistrationMapper
jgUseRegistrationMapper
;
private
final
JgUseRegistrationMapper
jgUseRegistrationMapper
;
public
BatchDataChangeProcessStrategy
(
JgUseRegistrationServiceImpl
useRegistrationService
,
JgRegistrationHistoryServiceImpl
jgRegistrationHistoryService
,
JgUseRegistrationMapper
jgUseRegistrationMapper
)
{
private
final
SingleDataChangeProcessStrategy
singleDataChangeProcessStrategy
;
public
BatchDataChangeProcessStrategy
(
JgUseRegistrationServiceImpl
useRegistrationService
,
JgRegistrationHistoryServiceImpl
jgRegistrationHistoryService
,
JgUseRegistrationMapper
jgUseRegistrationMapper
,
SingleDataChangeProcessStrategy
singleDataChangeProcessStrategy
)
{
this
.
useRegistrationService
=
useRegistrationService
;
this
.
useRegistrationService
=
useRegistrationService
;
this
.
jgRegistrationHistoryService
=
jgRegistrationHistoryService
;
this
.
jgRegistrationHistoryService
=
jgRegistrationHistoryService
;
this
.
jgUseRegistrationMapper
=
jgUseRegistrationMapper
;
this
.
jgUseRegistrationMapper
=
jgUseRegistrationMapper
;
this
.
singleDataChangeProcessStrategy
=
singleDataChangeProcessStrategy
;
}
}
@Override
@Override
public
Map
<
String
,
List
<
ChangeDataDto
>>
handle
(
List
<
Map
<
String
,
Object
>>
changeData
,
String
defaultChangeId
)
{
public
List
<
ChangeDataDto
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
)
{
List
<
ChangeDataDto
>
changeDataDtos
=
BeanUtil
.
copyToList
(
changeData
,
ChangeDataDto
.
class
);
JSONObject
data
=
(
JSONObject
)
changeData
.
get
(
"data"
);
changeDataDtos
=
changeDataDtos
.
stream
().
filter
(
c
->
!
StringUtils
.
equals
(
c
.
getColumnNewValue
(),
c
.
getColumnOldValue
())).
collect
(
Collectors
.
toList
());
JSONArray
equips
=
data
.
getJSONArray
(
RequestChangeData
.
multiDataKey
);
return
changeDataDtos
.
stream
().
collect
(
Collectors
.
groupingBy
(
ChangeDataDto:
:
getChangeId
));
List
<
MultiChangeItemData
>
items
=
equips
.
toJavaList
(
MultiChangeItemData
.
class
);
List
<
ChangeDataDto
>
allChangeColumns
=
new
ArrayList
<>();
items
.
forEach
(
item
->
{
String
record
=
item
.
getRecord
();
Map
<
String
,
Object
>
itemData
=
item
.
getData
();
List
<
ChangeDataDto
>
oneEquipChangeColumns
=
singleDataChangeProcessStrategy
.
handle
(
itemData
,
record
);
allChangeColumns
.
addAll
(
oneEquipChangeColumns
);
});
return
allChangeColumns
;
}
}
@Override
@Override
...
...
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/BizDataChangeServiceImpl.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData
;
import
com.yeejoin.amos.boot.module.jg.biz.context.BizDataHandleStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.context.BizDataHandleStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.
biz
.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.
api
.service.IBizDataChangeHandleStrategy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
...
@@ -15,18 +16,17 @@ public class BizDataChangeServiceImpl {
...
@@ -15,18 +16,17 @@ public class BizDataChangeServiceImpl {
*
*
* @param applyNo 单据编号
* @param applyNo 单据编号
* @param bizType 业务类型
* @param bizType 业务类型
* @param model 单个维护、批量维护
* @param changeData 变化后的数据
* @param changeData 变化后的数据
*/
*/
public
void
save
(
String
applyNo
,
public
void
save
(
String
applyNo
,
String
bizType
,
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
RequestChangeData
changeData
)
{
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
changeData
)
{
IBizDataChangeHandleStrategy
.
ModelType
model
=
changeData
.
getModelType
();
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
handleStrategy
.
doSave
(
applyNo
,
model
,
changeData
);
handleStrategy
.
doSave
(
applyNo
,
model
,
changeData
);
}
}
public
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
queryDetail
(
String
applyNo
,
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
String
bizId
)
{
public
Map
<
String
,
?
>
queryDetail
(
String
applyNo
,
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
String
bizId
)
{
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
return
handleStrategy
.
getChangeDetail
(
applyNo
,
model
,
bizId
);
return
handleStrategy
.
getChangeDetail
(
applyNo
,
model
,
bizId
);
}
}
...
...
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 @
0636fa70
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.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.druid.support.jconsole.util.TableDataProcessor
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory
;
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.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.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.jg.
biz
.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.
api
.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo
;
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.IdxBizJgFactoryInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo
;
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
net.sf.jsqlparser.schema.Column
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
...
...
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 @
0636fa70
...
@@ -13,6 +13,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.*;
...
@@ -13,6 +13,7 @@ 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.mapper.JgUseRegistrationEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.api.vo.ChangeDataVo
;
import
com.yeejoin.amos.boot.module.jg.api.vo.ChangeDataVo
;
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.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
...
@@ -24,6 +25,7 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -24,6 +25,7 @@ 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.lang.reflect.Field
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -60,8 +62,12 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -60,8 +62,12 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
private
final
IIdxBizJgTechParamsLiftingService
iIdxBizJgTechParamsLiftingService
;
private
final
IIdxBizJgTechParamsLiftingService
iIdxBizJgTechParamsLiftingService
;
private
final
EquipChangeDataUpdateService
equipChangeDataUpdateService
;
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
)
{
private
final
List
<
String
>
jsonFields
=
new
ArrayList
<>();
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
)
{
this
.
idxBizJgDesignInfoMapper
=
idxBizJgDesignInfoMapper
;
this
.
idxBizJgDesignInfoMapper
=
idxBizJgDesignInfoMapper
;
this
.
jgFactoryInfoMapper
=
jgFactoryInfoMapper
;
this
.
jgFactoryInfoMapper
=
jgFactoryInfoMapper
;
this
.
idxBizJgRegisterInfoMapper
=
idxBizJgRegisterInfoMapper
;
this
.
idxBizJgRegisterInfoMapper
=
idxBizJgRegisterInfoMapper
;
...
@@ -75,18 +81,105 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -75,18 +81,105 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
this
.
iIdxBizJgTechParamsVesselService
=
iIdxBizJgTechParamsVesselService
;
this
.
iIdxBizJgTechParamsVesselService
=
iIdxBizJgTechParamsVesselService
;
this
.
iIdxBizJgTechParamsPipelineService
=
iIdxBizJgTechParamsPipelineService
;
this
.
iIdxBizJgTechParamsPipelineService
=
iIdxBizJgTechParamsPipelineService
;
this
.
iIdxBizJgTechParamsLiftingService
=
iIdxBizJgTechParamsLiftingService
;
this
.
iIdxBizJgTechParamsLiftingService
=
iIdxBizJgTechParamsLiftingService
;
this
.
equipChangeDataUpdateService
=
equipChangeDataUpdateService
;
}
}
@Override
@Override
public
Map
<
String
,
List
<
ChangeDataDto
>>
handle
(
List
<
Map
<
String
,
Object
>>
changeData
,
String
defaultChangeId
)
{
public
List
<
ChangeDataDto
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
)
{
List
<
ChangeDataDto
>
changeDataDtos
=
BeanUtil
.
copyToList
(
changeData
,
ChangeDataDto
.
class
);
String
record
=
this
.
getRecord
(
defaultChangeId
);
changeDataDtos
=
changeDataDtos
.
stream
().
filter
(
c
->
!
StringUtils
.
equals
(
c
.
getColumnNewValue
(),
c
.
getColumnOldValue
())).
collect
(
Collectors
.
toList
());
return
handleOne
(
changeData
,
record
);
return
changeDataDtos
.
stream
().
collect
(
Collectors
.
groupingBy
(
ChangeDataDto:
:
getChangeId
));
}
}
@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
());
}
}
}
public
List
<
ChangeDataDto
>
handleOne
(
Map
<
String
,
Object
>
changeData
,
String
record
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
new
ArrayList
<>();
// 新数据解析
EquipRegisterChangeDataDto
registerChangeDataDto
=
new
EquipRegisterChangeDataDto
();
EquipDesignChangeDataDto
equipDesignChangeDataDto
=
new
EquipDesignChangeDataDto
();
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
=
new
EquipFactoryChangeDataDto
();
BeanUtil
.
copyProperties
(
changeData
,
registerChangeDataDto
);
BeanUtil
.
copyProperties
(
changeData
,
equipFactoryChangeDataDto
);
BeanUtil
.
copyProperties
(
changeData
,
equipDesignChangeDataDto
);
buildChangeFields
(
record
,
equipDesignChangeDataDto
,
equipFactoryChangeDataDto
,
registerChangeDataDto
,
allChangeColumns
);
// 设备制造、设计、注册信息业务处理落库
this
.
dealBizDataForEquip
(
record
,
registerChangeDataDto
);
this
.
dealBizDataForEquip
(
record
,
equipFactoryChangeDataDto
);
this
.
dealBizDataForEquip
(
record
,
equipDesignChangeDataDto
);
// 设备技术参数入库处理
this
.
updateTechParamInfo
(
registerChangeDataDto
,
record
,
changeData
,
allChangeColumns
);
return
allChangeColumns
;
}
private
void
buildChangeFields
(
String
record
,
EquipDesignChangeDataDto
equipDesignChangeDataDto
,
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
,
EquipRegisterChangeDataDto
registerChangeDataDto
,
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
>
designInfoOld
=
this
.
buildDesignInfoOld
(
record
);
List
<
ChangeDataDto
>
factoryInfoOld
=
this
.
buildFactoryInfoOld
(
record
);
List
<
ChangeDataDto
>
registerInfoOld
=
this
.
buildRegisterInfoOld
(
record
);
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
designInfoNew
,
designInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
factoryInfoNew
,
factoryInfoOld
));
allChangeColumns
.
addAll
(
this
.
mergeChangeFields
(
registerInfoNew
,
registerInfoOld
));
}
/**
* 业务处理-业务对象
*
* @param record 设备主键
* @param changeDataDto 变更后数据
*/
private
void
dealBizDataForEquip
(
String
record
,
BaseChangeDataDto
changeDataDto
)
{
// 制造信息
if
(
changeDataDto
instanceof
EquipFactoryChangeDataDto
)
{
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
=
(
EquipFactoryChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateFactoryChangeData
(
record
,
equipFactoryChangeDataDto
);
}
// 设计信息
if
(
changeDataDto
instanceof
EquipDesignChangeDataDto
)
{
EquipDesignChangeDataDto
equipDesignChangeDataDto
=
(
EquipDesignChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateDesignChangeData
(
record
,
equipDesignChangeDataDto
);
}
// 注册信息
if
(
changeDataDto
instanceof
EquipRegisterChangeDataDto
)
{
EquipRegisterChangeDataDto
registerChangeDataDto
=
(
EquipRegisterChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateRegisterChangeData
(
record
,
registerChangeDataDto
);
}
}
@Override
@Override
public
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
getDetail
(
String
applyNo
,
String
bizId
)
{
public
Map
<
String
,
Object
>
getDetail
(
String
applyNo
,
String
bizId
)
{
if
(
StringUtils
.
isEmpty
(
applyNo
)
&&
StringUtils
.
isEmpty
(
bizId
))
{
if
(
StringUtils
.
isEmpty
(
applyNo
)
&&
StringUtils
.
isEmpty
(
bizId
))
{
throw
new
BadRequest
(
"applyNo and bizId can't be empty"
);
throw
new
BadRequest
(
"applyNo and bizId can't be empty"
);
}
}
if
(
StringUtils
.
isNotEmpty
(
applyNo
))
{
if
(
StringUtils
.
isNotEmpty
(
applyNo
))
{
...
@@ -96,52 +189,96 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -96,52 +189,96 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
}
}
}
}
private
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
getDetailByBizId
(
String
record
)
{
private
Map
<
String
,
Object
>
getDetailByBizId
(
String
record
)
{
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
re
=
new
HashMap
<>();
Map
<
String
,
Object
>
re
=
new
HashMap
<>();
// 注册信息(基本信息)构建
// 注册信息(基本信息)构建
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
=
this
.
buildRegisterInfo
(
record
,
re
);
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
=
this
.
buildRegisterInfo
(
record
);
// 制造信息构建
// 制造信息构建
this
.
buildFactoryInfo
(
record
,
re
);
EquipFactoryChangeDataDto
factoryChangeDataDto
=
this
.
buildFactoryInfo
(
record
);
// 设计信息构建
// 设计信息构建
this
.
buildDesignInfo
(
record
,
re
);
EquipDesignChangeDataDto
designChangeDataDto
=
this
.
buildDesignInfo
(
record
);
// 技术参数构建
// 技术参数构建
this
.
buildTechParamInfo
(
equipRegisterChangeDataDto
,
record
,
re
);
BaseTechParamsFieldDto
techParamsFieldDto
=
this
.
buildTechParamInfo
(
equipRegisterChangeDataDto
,
record
);
re
.
putAll
(
BeanUtil
.
beanToMap
(
equipRegisterChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
factoryChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
designChangeDataDto
));
re
.
putAll
(
BeanUtil
.
beanToMap
(
techParamsFieldDto
));
this
.
castJsonFields
(
re
);
return
re
;
return
re
;
}
}
private
void
buildDesignInfo
(
String
record
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
)
{
private
void
castJsonFields
(
Map
<
String
,
Object
>
re
)
{
jsonFields
.
forEach
(
field
->
{
if
(
re
.
containsKey
(
field
))
{
re
.
put
(
field
,
JSON
.
parse
((
String
)
re
.
get
(
field
)));
}
});
}
private
List
<
ChangeDataDto
>
buildDesignInfoNew
(
EquipDesignChangeDataDto
changeDataDto
,
String
record
)
{
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
private
List
<
ChangeDataDto
>
buildFactoryInfoNew
(
EquipFactoryChangeDataDto
changeDataDto
,
String
record
)
{
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
private
List
<
ChangeDataDto
>
buildRegisterInfoNew
(
EquipRegisterChangeDataDto
changeDataDto
,
String
record
)
{
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
private
List
<
ChangeDataDto
>
buildDesignInfoOld
(
String
record
)
{
EquipDesignChangeDataDto
changeDataDto
=
new
EquipDesignChangeDataDto
();
EquipDesignChangeDataDto
changeDataDto
=
new
EquipDesignChangeDataDto
();
IdxBizJgDesignInfo
designInfo
=
idxBizJgDesignInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>().
eq
(
IdxBizJgDesignInfo:
:
getRecord
,
record
));
IdxBizJgDesignInfo
designInfo
=
idxBizJgDesignInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgDesignInfo
>().
eq
(
IdxBizJgDesignInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
designInfo
,
changeDataDto
);
BeanUtil
.
copyProperties
(
designInfo
,
changeDataDto
);
changeDataDto
.
setDesignDate
(
DateUtil
.
formatDate
(
designInfo
.
getDesignDate
()));
changeDataDto
.
setDesignDate
(
DateUtil
.
formatDate
(
designInfo
.
getDesignDate
()));
buildColumns
(
record
,
re
,
changeDataDto
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
}
private
void
buildFactoryInfo
(
String
record
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
)
{
private
List
<
ChangeDataDto
>
buildFactoryInfoOld
(
String
record
)
{
EquipFactoryChangeDataDto
changeDataDto
=
new
EquipFactoryChangeDataDto
();
EquipFactoryChangeDataDto
changeDataDto
=
new
EquipFactoryChangeDataDto
();
IdxBizJgFactoryInfo
factoryInfo
=
jgFactoryInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
));
IdxBizJgFactoryInfo
factoryInfo
=
jgFactoryInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
factoryInfo
,
changeDataDto
);
BeanUtil
.
copyProperties
(
factoryInfo
,
changeDataDto
);
changeDataDto
.
setProduceDate
(
DateUtil
.
formatDate
(
factoryInfo
.
getProduceDate
()));
changeDataDto
.
setProduceDate
(
DateUtil
.
formatDate
(
factoryInfo
.
getProduceDate
()));
buildColumns
(
record
,
re
,
changeDataDto
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
}
private
EquipRegisterChangeDataDto
buildRegisterInfo
(
String
record
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
)
{
private
List
<
ChangeDataDto
>
buildRegisterInfoOld
(
String
record
)
{
EquipRegisterChangeDataDto
changeDataDto
=
new
EquipRegisterChangeDataDto
();
EquipRegisterChangeDataDto
changeDataDto
=
new
EquipRegisterChangeDataDto
();
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
record
));
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
record
));
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
BeanUtil
.
copyProperties
(
registerInfo
,
changeDataDto
);
buildColumns
(
record
,
re
,
changeDataDto
);
return
this
.
convertBeanField2Column2
(
changeDataDto
,
record
);
}
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
;
return
changeDataDto
;
}
}
private
void
buildColumns
(
String
record
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
,
Object
beanData
)
{
private
EquipFactoryChangeDataDto
buildFactoryInfo
(
String
record
)
{
List
<
ChangeDataVo
>
changeData
=
this
.
convertBeanField2Column
(
beanData
,
record
);
EquipFactoryChangeDataDto
changeDataDto
=
new
EquipFactoryChangeDataDto
();
Group
group
=
beanData
.
getClass
().
getAnnotation
(
Group
.
class
);
IdxBizJgFactoryInfo
factoryInfo
=
jgFactoryInfoMapper
.
selectOne
(
new
LambdaQueryWrapper
<
IdxBizJgFactoryInfo
>().
eq
(
IdxBizJgFactoryInfo:
:
getRecord
,
record
));
List
<
Map
<
String
,
Object
>>
columnList
=
changeData
.
stream
().
map
(
BeanUtil:
:
beanToMap
).
collect
(
Collectors
.
toList
());
BeanUtil
.
copyProperties
(
factoryInfo
,
changeDataDto
);
re
.
put
(
group
.
value
(),
columnList
);
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
;
}
}
private
List
<
ChangeDataVo
>
convertBeanField2Column
(
Object
beanData
,
String
record
)
{
List
<
ChangeDataVo
>
changeData
=
new
ArrayList
<>();
private
List
<
ChangeDataDto
>
convertBeanField2Column2
(
Object
beanData
,
String
record
)
{
List
<
ChangeDataDto
>
changeData
=
new
ArrayList
<>();
Group
group
=
beanData
.
getClass
().
getAnnotation
(
Group
.
class
);
Field
[]
fields
=
beanData
.
getClass
().
getDeclaredFields
();
Field
[]
fields
=
beanData
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
for
(
Field
field
:
fields
)
{
field
.
setAccessible
(
true
);
field
.
setAccessible
(
true
);
...
@@ -149,20 +286,15 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -149,20 +286,15 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
try
{
try
{
if
(
displayDefine
!=
null
&&
displayDefine
.
isExist
())
{
if
(
displayDefine
!=
null
&&
displayDefine
.
isExist
())
{
String
fieldName
=
displayDefine
.
value
();
String
fieldName
=
displayDefine
.
value
();
ChangeDataVo
changeDataVo
=
new
ChangeDataVo
();
ChangeDataDto
changeDataDto
=
new
ChangeDataDto
();
changeDataVo
.
setColumnKey
(
field
.
getName
());
changeDataDto
.
setColumnKey
(
field
.
getName
());
changeDataVo
.
setColumnLabel
(
fieldName
);
changeDataDto
.
setColumnFamily
(
group
.
value
());
changeDataVo
.
setChangeId
(
record
);
changeDataDto
.
setColumnLabel
(
fieldName
);
changeDataDto
.
setChangeId
(
record
);
String
value
=
(
String
)
field
.
get
(
beanData
);
String
value
=
(
String
)
field
.
get
(
beanData
);
if
(
displayDefine
.
type
()
==
JSON
.
class
)
{
changeDataDto
.
setColumnNewValue
(
value
);
changeDataVo
.
setColumnNewValue
(
JSONObject
.
parseArray
(
value
));
changeDataDto
.
setColumnOldValue
(
value
);
changeDataVo
.
setColumnOldValue
(
changeDataVo
.
getColumnNewValue
());
changeData
.
add
(
changeDataDto
);
}
else
{
changeDataVo
.
setColumnNewValue
(
value
);
changeDataVo
.
setColumnOldValue
(
value
);
}
changeData
.
add
(
changeDataVo
);
}
}
}
catch
(
IllegalAccessException
e
)
{
}
catch
(
IllegalAccessException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
...
@@ -171,80 +303,223 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
...
@@ -171,80 +303,223 @@ public class SingleDataChangeProcessStrategy implements IChangeDataProcessStrate
return
changeData
;
return
changeData
;
}
}
private
void
buildTechParamInfo
(
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
,
String
record
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
re
)
{
private
BaseTechParamsFieldDto
buildTechParamInfo
(
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
,
String
record
)
{
EquipmentClassifityEnum
equipmentClassifityEnum
=
EquipmentClassifityEnum
.
getOne
(
equipRegisterChangeDataDto
.
getEquList
());
EquipmentClassifityEnum
equipmentClassifityEnum
=
EquipmentClassifityEnum
.
getOne
(
equipRegisterChangeDataDto
.
getEquList
());
switch
(
Objects
.
requireNonNull
(
equipmentClassifityEnum
))
{
switch
(
Objects
.
requireNonNull
(
equipmentClassifityEnum
))
{
case
GL:
case
GL:
// 锅炉
// 锅炉
IdxBizJgTechParamsBoiler
boiler
=
iIdxBizJgTechParamsBoilerService
.
getOneData
(
record
);
IdxBizJgTechParamsBoiler
boiler
=
iIdxBizJgTechParamsBoilerService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsBoilerChangeFieldDto
boilerChangeFieldDto
=
BeanUtil
.
copyProperties
(
boiler
,
TechParamsBoilerChangeFieldDto
.
class
);
return
BeanUtil
.
copyProperties
(
boiler
,
TechParamsBoilerChangeFieldDto
.
class
);
case
YLRQ:
// 压力容器
IdxBizJgTechParamsVessel
techParamsVessel
=
iIdxBizJgTechParamsVesselService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsVessel
,
TechParamsVesselChangeFieldDto
.
class
);
case
DT:
// 电梯
IdxBizJgTechParamsElevator
techParamsElevator
=
iIdxBizJgTechParamsElevatorService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsElevator
,
TechParamsElevatorChangeFieldDto
.
class
);
case
QZJX:
// 起重机械
IdxBizJgTechParamsLifting
techParamsLifting
=
iIdxBizJgTechParamsLiftingService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsLifting
,
TechParamsLiftingChangeFieldDto
.
class
);
case
CC:
// 场(厂)内专用机动车辆
IdxBizJgTechParamsVehicle
techParamsVehicle
=
iIdxBizJgTechParamsVehicleService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsVehicle
,
TechParamsVehicleChangeFieldDto
.
class
);
case
YLSS:
// 大型游乐设施
IdxBizJgTechParamsRides
techParamsRides
=
iIdxBizJgTechParamsRidesService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsRides
,
TechParamsRidesChangeFieldDto
.
class
);
case
YLGD:
// 压力管道
IdxBizJgTechParamsPipeline
techParamsPipeline
=
iIdxBizJgTechParamsPipelineService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsPipeline
,
TechParamsPipelineChangeFieldDto
.
class
);
case
KYSD:
// 客运索道
IdxBizJgTechParamsRopeway
techParamsRopeway
=
iIdxBizJgTechParamsRopewayService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
return
BeanUtil
.
copyProperties
(
techParamsRopeway
,
TechParamsRopewayChangeFieldDto
.
class
);
default
:
break
;
}
return
null
;
}
private
String
buildTableName
(
Class
<?>
clazz
)
{
Group
group
=
clazz
.
getAnnotation
(
Group
.
class
);
return
String
.
format
(
"%s_%s"
,
"idx_biz_jg"
,
group
);
}
private
void
updateTechParamInfo
(
EquipRegisterChangeDataDto
equipRegisterChangeDataDto
,
String
record
,
Map
<
String
,
Object
>
changeData
,
List
<
ChangeDataDto
>
allChange
)
{
EquipmentClassifityEnum
equipmentClassifityEnum
=
EquipmentClassifityEnum
.
getOne
(
equipRegisterChangeDataDto
.
getEquList
());
switch
(
Objects
.
requireNonNull
(
equipmentClassifityEnum
))
{
case
GL:
// 锅炉
TechParamsBoilerChangeFieldDto
newBoiler
=
getTechParamsBoilerChangeField
(
changeData
);
TechParamsBoilerChangeFieldDto
oldBoiler
=
getTechParamsBoilerChangeField
(
record
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
boilerChangeFieldDto
);
List
<
ChangeDataDto
>
boilerChangeDataNew
=
this
.
convertBeanField2Column2
(
newBoiler
,
record
);
List
<
ChangeDataDto
>
boilerChangeDataOld
=
this
.
convertBeanField2Column2
(
oldBoiler
,
record
);
// 比对
List
<
ChangeDataDto
>
boilerChangeFields
=
this
.
mergeChangeFields
(
boilerChangeDataNew
,
boilerChangeDataOld
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsBoilerChangeFieldDto
.
class
),
record
,
boilerChangeFields
);
// 日志数据记录
allChange
.
addAll
(
boilerChangeDataNew
);
break
;
break
;
case
YLRQ:
case
YLRQ:
// 压力容器
// 压力容器
TechParamsVesselChangeFieldDto
newVessel
=
new
TechParamsVesselChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newVessel
);
IdxBizJgTechParamsVessel
techParamsVessel
=
iIdxBizJgTechParamsVesselService
.
getOneData
(
record
);
IdxBizJgTechParamsVessel
techParamsVessel
=
iIdxBizJgTechParamsVesselService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsVesselChangeFieldDto
oldVessel
=
BeanUtil
.
copyProperties
(
techParamsVessel
,
TechParamsVesselChangeFieldDto
.
class
);
TechParamsVesselChangeFieldDto
vesselChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsVessel
,
TechParamsVesselChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
vesselChangeFieldDto
);
List
<
ChangeDataDto
>
newVesselChangeData
=
this
.
convertBeanField2Column2
(
newVessel
,
record
);
List
<
ChangeDataDto
>
oldVesselChangeData
=
this
.
convertBeanField2Column2
(
oldVessel
,
record
);
// 比对
List
<
ChangeDataDto
>
vesselChangeFields
=
this
.
mergeChangeFields
(
newVesselChangeData
,
oldVesselChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsVesselChangeFieldDto
.
class
),
record
,
vesselChangeFields
);
// 日志数据记录
allChange
.
addAll
(
vesselChangeFields
);
break
;
break
;
case
DT:
case
DT:
// 电梯
// 电梯
TechParamsElevatorChangeFieldDto
newElevator
=
new
TechParamsElevatorChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newElevator
);
IdxBizJgTechParamsElevator
techParamsElevator
=
iIdxBizJgTechParamsElevatorService
.
getOneData
(
record
);
IdxBizJgTechParamsElevator
techParamsElevator
=
iIdxBizJgTechParamsElevatorService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsElevatorChangeFieldDto
oldElevator
=
BeanUtil
.
copyProperties
(
techParamsElevator
,
TechParamsElevatorChangeFieldDto
.
class
);
TechParamsElevatorChangeFieldDto
elevatorChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsElevator
,
TechParamsElevatorChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
elevatorChangeFieldDto
);
List
<
ChangeDataDto
>
newElevatorChangeData
=
this
.
convertBeanField2Column2
(
newElevator
,
record
);
List
<
ChangeDataDto
>
oldElevatorChangeData
=
this
.
convertBeanField2Column2
(
oldElevator
,
record
);
// 比对
List
<
ChangeDataDto
>
elevatorChangeFields
=
this
.
mergeChangeFields
(
newElevatorChangeData
,
oldElevatorChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsElevatorChangeFieldDto
.
class
),
record
,
elevatorChangeFields
);
// 日志数据记录
allChange
.
addAll
(
elevatorChangeFields
);
break
;
break
;
case
QZJX:
case
QZJX:
// 起重机械
// 起重机械
TechParamsLiftingChangeFieldDto
newLifting
=
new
TechParamsLiftingChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newLifting
);
IdxBizJgTechParamsLifting
techParamsLifting
=
iIdxBizJgTechParamsLiftingService
.
getOneData
(
record
);
IdxBizJgTechParamsLifting
techParamsLifting
=
iIdxBizJgTechParamsLiftingService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsLiftingChangeFieldDto
liftingChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsLifting
,
TechParamsLiftingChangeFieldDto
.
class
);
TechParamsLiftingChangeFieldDto
oldLifting
=
BeanUtil
.
copyProperties
(
techParamsLifting
,
TechParamsLiftingChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
liftingChangeFieldDto
);
List
<
ChangeDataDto
>
newLiftingChangeData
=
this
.
convertBeanField2Column2
(
newLifting
,
record
);
List
<
ChangeDataDto
>
oldLiftingChangeData
=
this
.
convertBeanField2Column2
(
oldLifting
,
record
);
// 比对
List
<
ChangeDataDto
>
liftingChangeFields
=
this
.
mergeChangeFields
(
newLiftingChangeData
,
oldLiftingChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsLiftingChangeFieldDto
.
class
),
record
,
liftingChangeFields
);
// 日志数据记录
allChange
.
addAll
(
liftingChangeFields
);
break
;
break
;
case
CC:
case
CC:
// 场(厂)内专用机动车辆
// 场(厂)内专用机动车辆
TechParamsVehicleChangeFieldDto
newVehicle
=
new
TechParamsVehicleChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newVehicle
);
IdxBizJgTechParamsVehicle
techParamsVehicle
=
iIdxBizJgTechParamsVehicleService
.
getOneData
(
record
);
IdxBizJgTechParamsVehicle
techParamsVehicle
=
iIdxBizJgTechParamsVehicleService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsVehicleChangeFieldDto
oldVehicle
=
BeanUtil
.
copyProperties
(
techParamsVehicle
,
TechParamsVehicleChangeFieldDto
.
class
);
TechParamsVehicleChangeFieldDto
vehicleChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsVehicle
,
TechParamsVehicleChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
vehicleChangeFieldDto
);
List
<
ChangeDataDto
>
newVehicleChangeData
=
this
.
convertBeanField2Column2
(
newVehicle
,
record
);
List
<
ChangeDataDto
>
oldVehicleChangeData
=
this
.
convertBeanField2Column2
(
oldVehicle
,
record
);
// 比对
List
<
ChangeDataDto
>
vehicleChangeFields
=
this
.
mergeChangeFields
(
newVehicleChangeData
,
oldVehicleChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsVehicleChangeFieldDto
.
class
),
record
,
vehicleChangeFields
);
// 日志数据记录
allChange
.
addAll
(
vehicleChangeFields
);
break
;
break
;
case
YLSS:
case
YLSS:
// 大型游乐设施
// 大型游乐设施
TechParamsRidesChangeFieldDto
newRides
=
new
TechParamsRidesChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newRides
);
IdxBizJgTechParamsRides
techParamsRides
=
iIdxBizJgTechParamsRidesService
.
getOneData
(
record
);
IdxBizJgTechParamsRides
techParamsRides
=
iIdxBizJgTechParamsRidesService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsRidesChangeFieldDto
ridesChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsRides
,
TechParamsRidesChangeFieldDto
.
class
);
TechParamsRidesChangeFieldDto
oldRides
=
BeanUtil
.
copyProperties
(
techParamsRides
,
TechParamsRidesChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
ridesChangeFieldDto
);
List
<
ChangeDataDto
>
newRidesChangeData
=
this
.
convertBeanField2Column2
(
newRides
,
record
);
List
<
ChangeDataDto
>
oldRidesChangeData
=
this
.
convertBeanField2Column2
(
oldRides
,
record
);
// 比对
List
<
ChangeDataDto
>
ridesChangeFields
=
this
.
mergeChangeFields
(
newRidesChangeData
,
oldRidesChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsRidesChangeFieldDto
.
class
),
record
,
ridesChangeFields
);
// 日志数据记录
allChange
.
addAll
(
ridesChangeFields
);
break
;
break
;
case
YLGD:
case
YLGD:
// 压力管道
// 压力管道
TechParamsPipelineChangeFieldDto
newPipeline
=
new
TechParamsPipelineChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newPipeline
);
IdxBizJgTechParamsPipeline
techParamsPipeline
=
iIdxBizJgTechParamsPipelineService
.
getOneData
(
record
);
IdxBizJgTechParamsPipeline
techParamsPipeline
=
iIdxBizJgTechParamsPipelineService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsPipelineChangeFieldDto
pipelineChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsPipeline
,
TechParamsPipelineChangeFieldDto
.
class
);
TechParamsPipelineChangeFieldDto
oldPipeline
=
BeanUtil
.
copyProperties
(
techParamsPipeline
,
TechParamsPipelineChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
pipelineChangeFieldDto
);
List
<
ChangeDataDto
>
newPipelineChangeData
=
this
.
convertBeanField2Column2
(
newPipeline
,
record
);
List
<
ChangeDataDto
>
oldPipelineChangeData
=
this
.
convertBeanField2Column2
(
oldPipeline
,
record
);
// 比对
List
<
ChangeDataDto
>
pipelineChangeFields
=
this
.
mergeChangeFields
(
newPipelineChangeData
,
oldPipelineChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsPipelineChangeFieldDto
.
class
),
record
,
pipelineChangeFields
);
// 日志数据记录
allChange
.
addAll
(
pipelineChangeFields
);
break
;
break
;
case
KYSD:
case
KYSD:
// 客运索道
// 客运索道
TechParamsRopewayChangeFieldDto
newRopeway
=
new
TechParamsRopewayChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newRopeway
);
IdxBizJgTechParamsRopeway
techParamsRopeway
=
iIdxBizJgTechParamsRopewayService
.
getOneData
(
record
);
IdxBizJgTechParamsRopeway
techParamsRopeway
=
iIdxBizJgTechParamsRopewayService
.
getOneData
(
record
);
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
// 技术参数对象转换为全部技术参数 ,其他无用字段去掉
TechParamsRopewayChangeFieldDto
ropewayChangeFieldDto
=
BeanUtil
.
copyProperties
(
techParamsRopeway
,
TechParamsRopewayChangeFieldDto
.
class
);
TechParamsRopewayChangeFieldDto
oldRopeway
=
BeanUtil
.
copyProperties
(
techParamsRopeway
,
TechParamsRopewayChangeFieldDto
.
class
);
// 字段行转列
// 字段行转列
buildColumns
(
record
,
re
,
ropewayChangeFieldDto
);
List
<
ChangeDataDto
>
newRopewayChangeData
=
this
.
convertBeanField2Column2
(
newRopeway
,
record
);
List
<
ChangeDataDto
>
oldRopewayChangeData
=
this
.
convertBeanField2Column2
(
oldRopeway
,
record
);
// 比对
List
<
ChangeDataDto
>
ropewayChangeFields
=
this
.
mergeChangeFields
(
newRopewayChangeData
,
oldRopewayChangeData
);
// 业务处理
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
TechParamsRopewayChangeFieldDto
.
class
),
record
,
ropewayChangeFields
);
// 日志数据记录
allChange
.
addAll
(
ropewayChangeFields
);
break
;
break
;
default
:
default
:
break
;
break
;
}
}
}
}
private
List
<
ChangeDataDto
>
mergeChangeFields
(
List
<
ChangeDataDto
>
changeDataNew
,
List
<
ChangeDataDto
>
changeDataOld
)
{
return
changeDataNew
.
stream
().
filter
(
n
->
changeDataOld
.
stream
().
noneMatch
(
o
->
o
.
getColumnKey
().
equals
(
n
.
getColumnKey
())
&&
StringUtils
.
equals
(
n
.
getColumnNewValue
(),
o
.
getColumnNewValue
()))).
collect
(
Collectors
.
toList
());
}
private
static
TechParamsBoilerChangeFieldDto
getTechParamsBoilerChangeField
(
Map
<
String
,
Object
>
changeData
)
{
TechParamsBoilerChangeFieldDto
newBoiler
=
new
TechParamsBoilerChangeFieldDto
();
BeanUtil
.
copyProperties
(
changeData
,
newBoiler
);
return
newBoiler
;
}
private
TechParamsBoilerChangeFieldDto
getTechParamsBoilerChangeField
(
String
record
)
{
IdxBizJgTechParamsBoiler
boiler
=
iIdxBizJgTechParamsBoilerService
.
getOneData
(
record
);
TechParamsBoilerChangeFieldDto
oldBoiler
=
new
TechParamsBoilerChangeFieldDto
();
BeanUtil
.
copyProperties
(
boiler
,
oldBoiler
);
return
oldBoiler
;
}
public
Map
<
String
,
List
<
Map
<
String
,
Object
>>
>
getDetailByApplyNo
(
String
bizId
)
{
public
Map
<
String
,
Object
>
getDetailByApplyNo
(
String
bizId
)
{
String
record
=
this
.
getRecord
(
bizId
);
String
record
=
this
.
getRecord
(
bizId
);
return
getDetailByBizId
(
record
);
return
getDetailByBizId
(
record
);
}
}
...
...
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/UseRegisterDataChangeHandleImpl.java
View file @
0636fa70
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.context.DataProcessStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.context.DataProcessStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.factory.ChangeItemFactory
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -22,14 +18,12 @@ public class UseRegisterDataChangeHandleImpl implements IBizDataChangeHandleStra
...
@@ -22,14 +18,12 @@ public class UseRegisterDataChangeHandleImpl implements IBizDataChangeHandleStra
private
final
EventPublisher
publisher
;
private
final
EventPublisher
publisher
;
private
final
EquipChangeDataUpdateService
equipChangeDataUpdateService
;
private
final
UseRegisterUpdateService
useRegisterUpdateService
;
private
final
UseRegisterUpdateService
useRegisterUpdateService
;
public
UseRegisterDataChangeHandleImpl
(
EventPublisher
publisher
,
EquipChangeDataUpdateService
equipChangeDataUpdateService
,
UseRegisterUpdateService
useRegisterUpdateService
)
{
public
UseRegisterDataChangeHandleImpl
(
EventPublisher
publisher
,
UseRegisterUpdateService
useRegisterUpdateService
)
{
this
.
publisher
=
publisher
;
this
.
publisher
=
publisher
;
this
.
equipChangeDataUpdateService
=
equipChangeDataUpdateService
;
this
.
useRegisterUpdateService
=
useRegisterUpdateService
;
this
.
useRegisterUpdateService
=
useRegisterUpdateService
;
}
}
...
@@ -39,150 +33,45 @@ public class UseRegisterDataChangeHandleImpl implements IBizDataChangeHandleStra
...
@@ -39,150 +33,45 @@ public class UseRegisterDataChangeHandleImpl implements IBizDataChangeHandleStra
return
"useRegister"
;
return
"useRegister"
;
}
}
@Override
public
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getChangeDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
)
{
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
// 兼容:台套类打开变更详情(使用applyNo) 和 单位办理批量时选择单个设备打开详情(使用record)
return
dataProcessor
.
getDetail
(
applyNo
,
bizId
);
}
/**
/**
* 保存
* 保存
*
*
* @param applyNo 单据编号
* @param applyNo 单据编号
* @param model single, batch
* @param model single, batch
* @param changeData
变更数据 key为不同的分组:如使用信息、设计信息、制造信息、技术参数
* @param changeData
前端不支持分组-目前为平铺数据结构
*/
*/
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
changeData
)
{
public
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
new
ArrayList
<>();
// 选择是台套、还是单位办理的方式,进行分类数据的解析
// 选择是台套、还是单位办理的方式,进行分类数据的解析
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
changeData
.
forEach
((
k
,
v
)
->
{
List
<
ChangeDataDto
>
allChangeColumns
=
dataProcessor
.
handle
(
changeData
,
applyNo
);
Map
<
String
,
List
<
ChangeDataDto
>>
columnsMap
=
new
HashMap
<>();
if
(
k
.
startsWith
(
"biz"
))
{
// TODO 单据信息变化 目前预览但是未使用到
columnsMap
=
dataProcessor
.
handle
(
v
,
applyNo
);
// 将前端json数据,格式化解析为java对象格式及数据比对去掉未变化的数据,key为applyNo, value为字段数组
columnsMap
.
forEach
((
a
,
columns
)
->
{
if
(!
columns
.
isEmpty
())
{
// 将json列转为java-bean
BaseChangeDataDto
changeDataDto
=
castColum2Bean
(
k
,
columns
);
// 业务处理
this
.
dealBizDataForDoc
(
applyNo
,
changeDataDto
);
// 日志数据构建
this
.
buildLogData
(
allChangeColumns
,
columns
,
a
,
k
);
}
});
}
else
if
(
k
.
startsWith
(
"equip"
))
{
// 设备信息变化
columnsMap
=
dataProcessor
.
handle
(
v
,
null
);
// 将前端json数据,格式化解析为java对象格式及数据比对去掉未变化的数据,key为record, value为字段数组,代表设备所有发生变化的业务字段集合
columnsMap
.
forEach
((
record
,
columns
)
->
{
if
(!
columns
.
isEmpty
())
{
// 将json列转为java-bean
BaseChangeDataDto
changeDataDto
=
castColum2Bean
(
k
,
columns
);
// 业务处理
this
.
dealBizDataForEquip
(
record
,
changeDataDto
);
// 日志数据构建
this
.
buildLogData
(
allChangeColumns
,
columns
,
record
,
k
);
}
});
}
else
if
(
k
.
startsWith
(
"tech"
))
{
// 技术信息变化
columnsMap
=
dataProcessor
.
handle
(
v
,
null
);
// 将前端json数据,格式化解析为java对象格式及数据比对去掉未变化的数据,key为record, value为字段数组,代表所有变化的技术参数字段集合
columnsMap
.
forEach
((
record
,
columns
)
->
{
if
(!
columns
.
isEmpty
())
{
// 技术参数入库
equipChangeDataUpdateService
.
updateTechParamByRecord
(
this
.
buildTableName
(
k
),
record
,
columns
);
// 日志数据构建
this
.
buildLogData
(
allChangeColumns
,
columns
,
record
,
k
);
}
});
}
});
if
(!
allChangeColumns
.
isEmpty
())
{
if
(!
allChangeColumns
.
isEmpty
())
{
// 更新历史的JSON的数据
// 更新历史的JSON的数据
this
.
updateHistoryJson
(
applyNo
);
this
.
updateHistoryJson
(
applyNo
);
this
.
buildLogData
(
allChangeColumns
);
// 异步记录日志
// 异步记录日志
publisher
.
publish
(
new
ChangeDataEvent
(
this
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
publisher
.
publish
(
new
ChangeDataEvent
(
this
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
}
}
}
}
private
String
buildTableName
(
String
group
)
{
return
String
.
format
(
"%s_%s"
,
"idx_biz_jg"
,
group
);
}
private
void
updateHistoryJson
(
String
applyNo
)
{
private
void
updateHistoryJson
(
String
applyNo
)
{
useRegisterUpdateService
.
updateHisData
(
applyNo
);
useRegisterUpdateService
.
updateHisData
(
applyNo
);
}
}
private
void
dealBizDataForDoc
(
String
record
,
BaseChangeDataDto
changeDataDto
)
{
private
void
buildLogData
(
List
<
ChangeDataDto
>
allChangeColumns
)
{
if
(
changeDataDto
instanceof
UseRegisterChangeDataDto
)
{
allChangeColumns
.
forEach
(
column
->
{
// todo 字段待定- 暂无需变更数据
UseRegisterChangeDataDto
useRegisterChangeDataDto
=
(
UseRegisterChangeDataDto
)
changeDataDto
;
}
}
private
void
buildLogData
(
List
<
ChangeDataDto
>
allChangeColumns
,
List
<
ChangeDataDto
>
columns
,
String
changeId
,
String
groupKey
)
{
columns
.
forEach
(
column
->
{
column
.
setChangeId
(
changeId
);
column
.
setColumnFamily
(
groupKey
);
column
.
setBizType
(
"使用登记"
);
column
.
setBizType
(
"使用登记"
);
});
});
allChangeColumns
.
addAll
(
columns
);
}
}
/**
@Override
* 业务处理-业务对象
public
Map
<
String
,
?>
getChangeDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
)
{
*
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
* @param record 设备主键
// 兼容:台套类打开变更详情(使用applyNo) 和 单位办理批量时选择单个设备打开详情(使用record)
* @param changeDataDto 变更后数据
return
dataProcessor
.
getDetail
(
applyNo
,
bizId
);
*/
private
void
dealBizDataForEquip
(
String
record
,
BaseChangeDataDto
changeDataDto
)
{
// 制造信息
if
(
changeDataDto
instanceof
EquipFactoryChangeDataDto
)
{
EquipFactoryChangeDataDto
equipFactoryChangeDataDto
=
(
EquipFactoryChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateFactoryChangeData
(
record
,
equipFactoryChangeDataDto
);
}
// 设计信息
if
(
changeDataDto
instanceof
EquipDesignChangeDataDto
)
{
EquipDesignChangeDataDto
equipDesignChangeDataDto
=
(
EquipDesignChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateDesignChangeData
(
record
,
equipDesignChangeDataDto
);
}
// 注册信息
if
(
changeDataDto
instanceof
EquipRegisterChangeDataDto
)
{
EquipRegisterChangeDataDto
registerChangeDataDto
=
(
EquipRegisterChangeDataDto
)
changeDataDto
;
equipChangeDataUpdateService
.
updateRegisterChangeData
(
record
,
registerChangeDataDto
);
}
}
private
BaseChangeDataDto
castColum2Bean
(
String
group
,
List
<
ChangeDataDto
>
columns
)
{
Class
<?
extends
BaseChangeDataDto
>
t
=
ChangeItemFactory
.
getItemGroupClass
(
group
);
BaseChangeDataDto
changeDataDto
;
try
{
changeDataDto
=
t
.
newInstance
();
for
(
Field
field
:
changeDataDto
.
getClass
().
getDeclaredFields
())
{
field
.
setAccessible
(
true
);
// 设置默认值,用来控制default时,数据未变化,不进行此字段的更新
field
.
set
(
changeDataDto
,
IBizDataChangeHandleStrategy
.
DEFAULT_VALUE
);
// 匹配赋值
for
(
ChangeDataDto
colum
:
columns
)
{
if
(
colum
.
getColumnKey
().
equals
(
field
.
getName
()))
{
field
.
set
(
changeDataDto
,
colum
.
getColumnNewValue
());
break
;
}
}
}
}
catch
(
InstantiationException
|
IllegalAccessException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
changeDataDto
;
}
}
}
}
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