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
0d10d721
Commit
0d10d721
authored
May 12, 2025
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(大编辑):代码重构
1.公共编辑接口 2.公共详情接口
parent
41b6903e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
1402 additions
and
692 deletions
+1402
-692
FieldDisplayDefine.java
...n/amos/boot/biz/common/annotation/FieldDisplayDefine.java
+2
-0
IBaseChangeData.java
...join/amos/boot/module/common/api/dto/IBaseChangeData.java
+4
-0
BizRelationDataDto.java
...ejoin/amos/boot/module/jg/api/dto/BizRelationDataDto.java
+6
-1
EquipDesignChangeDataDto.java
...amos/boot/module/jg/api/dto/EquipDesignChangeDataDto.java
+3
-1
EquipInspectChangeDataDto.java
...mos/boot/module/jg/api/dto/EquipInspectChangeDataDto.java
+45
-0
EquipRegisterChangeDataDto.java
...os/boot/module/jg/api/dto/EquipRegisterChangeDataDto.java
+3
-0
FieldChangeMeta.java
.../yeejoin/amos/boot/module/jg/api/dto/FieldChangeMeta.java
+52
-0
RequestChangeData.java
...eejoin/amos/boot/module/jg/api/dto/RequestChangeData.java
+24
-8
IBizDataChangeHandleStrategy.java
...t/module/jg/api/service/IBizDataChangeHandleStrategy.java
+0
-43
IJgBizChangeLogService.java
...os/boot/module/jg/api/service/IJgBizChangeLogService.java
+5
-0
BizDataHandleStrategyContext.java
...t/module/jg/biz/context/BizDataHandleStrategyContext.java
+1
-1
EquipDataProcessStrategyContext.java
...odule/jg/biz/context/EquipDataProcessStrategyContext.java
+7
-7
BizDataChangeController.java
...oot/module/jg/biz/controller/BizDataChangeController.java
+64
-16
BizDataChangeServiceImpl.java
...mos/boot/module/jg/biz/edit/BizDataChangeServiceImpl.java
+20
-7
DefaultEventPublisher.java
...s/boot/module/jg/biz/edit/core/DefaultEventPublisher.java
+25
-0
EventPublisherMapping.java
...s/boot/module/jg/biz/edit/core/EventPublisherMapping.java
+12
-0
IEventPublisher.java
...in/amos/boot/module/jg/biz/edit/core/IEventPublisher.java
+7
-0
RouterEventPublisher.java
...os/boot/module/jg/biz/edit/core/RouterEventPublisher.java
+38
-0
SubClassFinder.java
...oin/amos/boot/module/jg/biz/edit/core/SubClassFinder.java
+22
-0
BaseBizDataChangeEvent.java
...boot/module/jg/biz/edit/event/BaseBizDataChangeEvent.java
+13
-7
ChangeLogInsertListener.java
...e/jg/biz/edit/event/listener/ChangeLogInsertListener.java
+16
-15
DefaultBizDataChangeHandler.java
.../jg/biz/edit/process/biz/DefaultBizDataChangeHandler.java
+102
-0
InstallNoticeDataChangeHandler.java
...ess/biz/installNotice/InstallNoticeDataChangeHandler.java
+55
-0
IBizDataChangeHandleStrategy.java
...it/process/biz/strategy/IBizDataChangeHandleStrategy.java
+115
-0
UseRegisterDataChangeHandler.java
...process/biz/useRegister/UseRegisterDataChangeHandler.java
+92
-0
UseRegisterUpdateService.java
...dit/process/biz/useRegister/UseRegisterUpdateService.java
+77
-0
CommonEquipDataProcessService.java
...biz/edit/process/equip/CommonEquipDataProcessService.java
+0
-0
EquipChangeDataUpdateServiceImpl.java
.../edit/process/equip/EquipChangeDataUpdateServiceImpl.java
+0
-0
PieLineDataChangeServiceImpl.java
.../biz/edit/process/equip/PieLineDataChangeServiceImpl.java
+84
-0
SingleCylinderChangeProcess.java
...g/biz/edit/process/equip/SingleCylinderChangeProcess.java
+52
-0
SingleEquipChangeProcess.java
...e/jg/biz/edit/process/equip/SingleEquipChangeProcess.java
+52
-0
SingleProjectEquipChangeProcess.java
...z/edit/process/equip/SingleProjectEquipChangeProcess.java
+95
-0
IEquipChangeDataProcessStrategy.java
...ocess/equip/strategy/IEquipChangeDataProcessStrategy.java
+25
-0
ReflectiveFieldAccessor.java
...oot/module/jg/biz/edit/utils/ReflectiveFieldAccessor.java
+23
-0
IChangeEventBizHandler.java
...t/module/jg/biz/event/handler/IChangeEventBizHandler.java
+0
-9
InstallNoticeChangeEventHandler.java
...jg/biz/event/handler/InstallNoticeChangeEventHandler.java
+0
-90
MaintenanceContractChangeEventHandler.java
.../event/handler/MaintenanceContractChangeEventHandler.java
+0
-91
UseRegisterChangeEventHandler.java
...e/jg/biz/event/handler/UseRegisterChangeEventHandler.java
+0
-93
RelationBizApplyUpdateListener.java
...jg/biz/event/listener/RelationBizApplyUpdateListener.java
+0
-69
CommonEquipDataProcessService.java
...le/jg/biz/service/impl/CommonEquipDataProcessService.java
+0
-0
IdxBizJgRegisterInfoServiceImpl.java
.../jg/biz/service/impl/IdxBizJgRegisterInfoServiceImpl.java
+3
-3
JgBizChangeLogServiceImpl.java
...module/jg/biz/service/impl/JgBizChangeLogServiceImpl.java
+8
-0
JgUseRegistrationServiceImpl.java
...ule/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
+6
-1
SingleDataChangeProcessStrategy.java
.../jg/biz/service/impl/SingleDataChangeProcessStrategy.java
+0
-0
SingleManageEquipEditHandleImpl.java
.../jg/biz/service/impl/SingleManageEquipEditHandleImpl.java
+15
-18
UseRegisterDataChangeHandleImpl.java
.../jg/biz/service/impl/UseRegisterDataChangeHandleImpl.java
+0
-91
IdxBizJgConstructionInfo.java
.../boot/module/ymt/api/entity/IdxBizJgConstructionInfo.java
+24
-14
IdxBizJgFactoryInfo.java
.../amos/boot/module/ymt/api/entity/IdxBizJgFactoryInfo.java
+17
-0
IdxBizJgInspectionDetectionInfo.java
...odule/ymt/api/entity/IdxBizJgInspectionDetectionInfo.java
+28
-15
IdxBizJgMaintenanceRecordInfo.java
.../module/ymt/api/entity/IdxBizJgMaintenanceRecordInfo.java
+35
-19
IdxBizJgRegisterInfo.java
...amos/boot/module/ymt/api/entity/IdxBizJgRegisterInfo.java
+41
-26
IdxBizJgSupervisionInfo.java
...s/boot/module/ymt/api/entity/IdxBizJgSupervisionInfo.java
+19
-12
IdxBizJgUseInfo.java
...join/amos/boot/module/ymt/api/entity/IdxBizJgUseInfo.java
+65
-35
No files found.
amos-boot-biz-common/src/main/java/com/yeejoin/amos/boot/biz/common/annotation/FieldDisplayDefine.java
View file @
0d10d721
...
...
@@ -18,6 +18,8 @@ public @interface FieldDisplayDefine {
Class
<?>
type
()
default
String
.
class
;
String
format
()
default
"yyyy-MM-dd"
;
boolean
isExist
()
default
true
;
}
amos-boot-system-tzs/amos-boot-module-common/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/IBaseChangeData.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
common
.
api
.
dto
;
public
interface
IBaseChangeData
{
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/BizRelationDataDto.java
View file @
0d10d721
...
...
@@ -34,7 +34,12 @@ public class BizRelationDataDto {
private
String
changeAttachment
;
/**
* 变更的设备
* 变更的设备
集合
*/
private
Set
<
String
>
records
;
/**
* 变更的装置集合
*/
private
Set
<
String
>
projectContraptionIds
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/EquipDesignChangeDataDto.java
View file @
0d10d721
...
...
@@ -6,6 +6,8 @@ import com.yeejoin.amos.boot.biz.common.annotation.Group;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Group
(
value
=
"equip_design_info"
)
...
...
@@ -24,7 +26,7 @@ public class EquipDesignChangeDataDto extends BaseChangeDataDto {
private
String
designUseDate
;
@FieldDisplayDefine
(
value
=
"设计日期"
)
private
String
designDate
;
private
Date
designDate
;
@FieldDisplayDefine
(
value
=
"总图图号"
)
private
String
drawingDo
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/EquipInspectChangeDataDto.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.alibaba.fastjson.JSON
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Group
(
value
=
"jg_inspection_detection_info"
)
public
class
EquipInspectChangeDataDto
extends
BaseChangeDataDto
{
@FieldDisplayDefine
(
value
=
"设计单位统一社会信用代码"
)
private
String
designUnitCreditCode
;
@FieldDisplayDefine
(
value
=
"检验类型"
)
private
String
inspectType
;
@FieldDisplayDefine
(
value
=
"检验机构名称"
)
private
String
inspectOrgName
;
@FieldDisplayDefine
(
value
=
"检验报告"
,
type
=
JSON
.
class
)
private
String
inspectReport
;
@FieldDisplayDefine
(
value
=
"检验日期"
)
private
Date
inspectDate
;
@FieldDisplayDefine
(
value
=
"检验结论"
)
private
String
inspectConclusion
;
@FieldDisplayDefine
(
value
=
"下次检验日期"
)
private
Date
nextInspectDate
;
@FieldDisplayDefine
(
value
=
"检验机构统一信用代码"
)
private
String
inspectOrgCode
;
@FieldDisplayDefine
(
value
=
"检验报告编号"
)
private
String
inspectReportNo
;
@FieldDisplayDefine
(
value
=
"检验流水唯一主键"
,
isExist
=
false
)
private
String
jySeq
;
}
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 @
0d10d721
...
...
@@ -42,4 +42,7 @@ public class EquipRegisterChangeDataDto extends BaseChangeDataDto {
@FieldDisplayDefine
(
value
=
"其他附件"
,
type
=
JSON
.
class
)
private
String
otherAccessoriesReg
;
@FieldDisplayDefine
(
value
=
"安装资料是否完整齐全"
)
private
String
installationIsComplete
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/FieldChangeMeta.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
@ApiModel
(
value
=
"变化的数据"
)
public
class
FieldChangeMeta
implements
Serializable
{
/**
* 必须字段-字段key
*/
private
String
columnKey
;
/**
* 必须字段-字段描述
*/
private
String
columnLabel
;
/**
* 必须字段-字段原始值
*/
private
String
columnOldValue
;
/**
* 必须字段-字段新值
*/
private
String
columnNewValue
;
/**
* 非必须字段-变化的数据id(设备的record、或者业务的id),持使用登记的设备信息变更、不同业务流程的业务数据变更
*/
private
String
changeId
;
/**
* 非必须字段-业务数据分类:如使用登记、安装告知等
*/
private
String
bizType
;
/**
* 非必须字段-变更数据的分类:如使用信息、制造信息、设计信息、技术参数 - key
*/
private
String
columnFamily
;
/**
* 非必须字段-字段类型-扩展使用
*/
private
String
columnType
;
}
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
View file @
0d10d721
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
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
public
class
RequestChangeData
extends
JSONObject
{
/**
* 批量编辑时表格key-公共使用
*/
public
static
final
String
multiDataKey
=
"tableData"
;
public
IBizDataChangeHandleStrategy
.
ModelType
getModelType
()
{
if
(!
this
.
containsKey
(
multiDataKey
))
{
return
IBizDataChangeHandleStrategy
.
ModelType
.
single
;
/**
* 删除的数据表格key-管道使用
*/
public
static
final
String
deletedDataKey
=
"deleteData"
;
/**
* 变更说明
*/
public
static
final
String
changeReasonKey
=
"changeReason"
;
/**
* 变更说明附件
*/
public
static
final
String
changeReasonAttachmentKey
=
"changeAttachment"
;
public
void
validated
()
{
if
(!
this
.
containsKey
(
changeReasonKey
)
||
!
this
.
containsKey
(
changeReasonAttachmentKey
))
{
throw
new
BadRequest
(
"变更说明和变更说明附件不能为空!"
);
}
return
IBizDataChangeHandleStrategy
.
ModelType
.
batch
;
}
}
}
\ No newline at end of file
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
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
import
java.util.Map
;
public
interface
IBizDataChangeHandleStrategy
{
/**
* 可处理的业务类型(使用登记等)
*
* @return 业务类型
*/
String
canHandleBizType
();
/**
* 获取变更信息详情
*
* @param applyNo 单据编号
* @param model single, batch
* @param bizId 设备record
* @return 变更信息详情
*/
Map
<
String
,
?>
getDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
);
/**
* 保存
*
* @param applyNo 单据编号
* @param model single, batch
* @param changeData 变更数据
*/
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 单据方式:单个处理、批量处理
*/
enum
ModelType
{
single
,
batch
}
String
DEFAULT_VALUE
=
"default"
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/service/IJgBizChangeLogService.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
java.util.Set
;
/**
* 接口类
*
...
...
@@ -9,4 +13,5 @@ package com.yeejoin.amos.boot.module.jg.api.service;
*/
public
interface
IJgBizChangeLogService
{
IPage
<?>
queryPageListByChangeIds
(
Set
<
String
>
changeIds
);
}
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 @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
context
;
import
com.yeejoin.amos.boot.module.jg.
api.service
.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.
biz.edit.process.biz.strategy
.IBizDataChangeHandleStrategy
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
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
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/context/
Equip
DataProcessStrategyContext.java
View file @
0d10d721
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.
api.service.IBizDataChangeHandle
Strategy
;
import
com.yeejoin.amos.boot.module.jg.biz.
edit.process.biz.DefaultBizDataChangeHandler
;
import
com.yeejoin.amos.boot.module.jg.
biz.edit.process.equip.strategy.IEquipChangeDataProcess
Strategy
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
...
...
@@ -15,22 +15,22 @@ import java.util.Optional;
* @author Administrator
*/
@Component
public
class
DataProcessStrategyContext
implements
ApplicationContextAware
{
public
class
Equip
DataProcessStrategyContext
implements
ApplicationContextAware
{
private
static
final
Map
<
IBizDataChangeHandleStrategy
.
ModelType
,
I
ChangeDataProcessStrategy
>
dataProcessStrategyHashMap
=
new
HashMap
<>();
private
static
final
Map
<
DefaultBizDataChangeHandler
.
ModelType
,
IEquip
ChangeDataProcessStrategy
>
dataProcessStrategyHashMap
=
new
HashMap
<>();
public
static
I
ChangeDataProcessStrategy
getStrategy
(
IBizDataChangeHandleStrategy
.
ModelType
modelType
)
{
public
static
I
EquipChangeDataProcessStrategy
getStrategy
(
DefaultBizDataChangeHandler
.
ModelType
modelType
)
{
return
Optional
.
ofNullable
(
dataProcessStrategyHashMap
.
get
(
modelType
)).
orElseThrow
(()
->
new
RuntimeException
(
String
.
format
(
"not found %s type strategy"
,
modelType
)));
}
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
Map
<
String
,
I
ChangeDataProcessStrategy
>
strategyBeans
=
applicationContext
.
getBeansOfType
(
I
ChangeDataProcessStrategy
.
class
);
Map
<
String
,
I
EquipChangeDataProcessStrategy
>
strategyBeans
=
applicationContext
.
getBeansOfType
(
IEquip
ChangeDataProcessStrategy
.
class
);
if
(
strategyBeans
.
isEmpty
())
{
return
;
}
for
(
IChangeDataProcessStrategy
strategy
:
strategyBeans
.
values
())
{
for
(
I
Equip
ChangeDataProcessStrategy
strategy
:
strategyBeans
.
values
())
{
dataProcessStrategyHashMap
.
put
(
strategy
.
canHandleMode
(),
strategy
);
}
}
...
...
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 @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
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.edit.BizDataChangeServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.SingleManageEquipEditHandleImpl
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
...
...
@@ -16,33 +21,76 @@ import java.util.Map;
@RestController
@RequestMapping
(
value
=
"/data-change"
)
@Api
(
tags
=
"业务数据变化处理控制器"
)
@RequiredArgsConstructor
public
class
BizDataChangeController
{
public
enum
DetailType
{
equip
,
project
}
private
final
BizDataChangeServiceImpl
bizDataChangeService
;
public
BizDataChangeController
(
BizDataChangeServiceImpl
bizDataChangeService
)
{
this
.
bizDataChangeService
=
bizDataChangeService
;
}
private
final
SingleManageEquipEditHandleImpl
singleManageEquipEditHandle
;
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/
{bizType}
/save"
)
@ApiOperation
(
value
=
"业务数据变更保存"
,
httpMethod
=
"POST"
)
@PostMapping
(
value
=
"/
v1/singleManageEquipEdit
/save"
)
@ApiOperation
(
value
=
"业务数据变更保存
--西安专用
"
,
httpMethod
=
"POST"
)
public
ResponseModel
<
String
>
save
(
@RequestParam
String
applyNo
,
@PathVariable
String
bizType
,
@RequestBody
RequestChangeData
changeData
)
{
bizDataChangeService
.
save
(
applyNo
,
bizType
,
changeData
);
singleManageEquipEditHandle
.
doSave
(
applyNo
,
changeData
);
return
ResponseHelper
.
buildResponse
(
"success"
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{bizType}/detail"
)
@ApiOperation
(
value
=
"查询可业务变更的字段及默认值"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
Map
<
String
,
?>>
getDetail
(
@RequestParam
(
required
=
false
)
String
applyNo
,
@PathVariable
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
@RequestParam
(
required
=
false
)
String
bizId
)
{
return
ResponseHelper
.
buildResponse
(
bizDataChangeService
.
queryDetail
(
applyNo
,
bizType
,
model
,
bizId
));
@GetMapping
(
value
=
"/v1/singleManageEquipEdit/detail"
)
@ApiOperation
(
value
=
"查询可业务变更的字段及默认值--西安专用"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
Map
<
String
,
?>>
getDetailV1
(
@RequestParam
(
required
=
false
)
String
applyNo
,
@RequestParam
(
required
=
false
)
String
bizId
)
{
return
ResponseHelper
.
buildResponse
(
singleManageEquipEditHandle
.
getDetail
(
applyNo
,
bizId
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/v2/{bizType}/detail"
)
@ApiOperation
(
value
=
"编辑一级页面详情查询--通用"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
IPage
<?>>
getDetailV2
(
@RequestParam
String
applyNo
,
@PathVariable
String
bizType
,
@RequestParam
DetailType
type
,
@RequestParam
JSONObject
searchParams
)
{
return
ResponseHelper
.
buildResponse
(
bizDataChangeService
.
queryDetail
(
applyNo
,
bizType
,
type
,
searchParams
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/v2/{bizType}/sub-detail"
)
@ApiOperation
(
value
=
"编辑二级页面详情查询--通用"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
Map
<
String
,
?>>
getSubDetailV2
(
@RequestParam
String
bizId
,
@RequestParam
(
required
=
false
)
String
applyNo
,
@RequestParam
DetailType
type
,
@PathVariable
String
bizType
)
{
return
ResponseHelper
.
buildResponse
(
bizDataChangeService
.
querySubDetail
(
applyNo
,
bizId
,
bizType
,
type
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/v2/{bizType}/save"
)
@ApiOperation
(
value
=
"编辑保存--通用"
,
httpMethod
=
"POST"
)
public
ResponseModel
<
String
>
saveV2
(
@ApiParam
(
required
=
true
,
value
=
"单据编号或者record"
)
@RequestParam
String
applyNo
,
@ApiParam
(
required
=
true
,
value
=
"业务类型"
)
@PathVariable
String
bizType
,
@ApiParam
(
required
=
true
,
value
=
"设备处理器类型"
)
@RequestParam
IBizDataChangeHandleStrategy
.
ModelType
modelType
,
@RequestBody
RequestChangeData
changeData
)
{
// 基础数据校验
changeData
.
validated
();
bizDataChangeService
.
save
(
applyNo
,
bizType
,
modelType
,
changeData
);
return
ResponseHelper
.
buildResponse
(
"success"
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/v2/{bizType}/change-logs"
)
@ApiOperation
(
value
=
"编辑二级页面详情查询--通用"
,
httpMethod
=
"GET"
)
public
ResponseModel
<
IPage
<?>>
getChangeLogPage
(
@RequestParam
String
bizId
,
@PathVariable
String
bizType
)
{
return
ResponseHelper
.
buildResponse
(
bizDataChangeService
.
getChangeLogPage
(
bizId
,
bizType
));
}
}
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
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/
edit
/BizDataChangeServiceImpl.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.context.BizDataHandleStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.controller.BizDataChangeController
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -17,20 +21,29 @@ public class BizDataChangeServiceImpl {
*
* @param applyNo 单据编号
* @param bizType 业务类型
* @param modelType 处理器类型
* @param changeData 变化后的数据
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
save
(
String
applyNo
,
String
bizType
,
RequestChangeData
changeData
)
{
IBizDataChangeHandleStrategy
.
ModelType
model
=
changeData
.
getModelType
();
IBizDataChangeHandleStrategy
.
ModelType
modelType
,
RequestChangeData
changeData
)
{
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
handleStrategy
.
doSave
(
applyNo
,
model
,
changeData
);
handleStrategy
.
doSave
(
applyNo
,
model
Type
,
changeData
);
}
public
Map
<
String
,
?>
queryDetail
(
String
applyNo
,
String
bizType
,
IBizDataChangeHandleStrategy
.
ModelType
model
,
String
bizId
)
{
public
IPage
<?>
queryDetail
(
String
applyNo
,
String
bizType
,
BizDataChangeController
.
DetailType
type
,
JSONObject
searchParams
)
{
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
return
handleStrategy
.
getDetail
(
applyNo
,
model
,
bizId
);
return
handleStrategy
.
getDetail
(
applyNo
,
type
,
searchParams
);
}
public
Map
<
String
,
?>
querySubDetail
(
String
applyNo
,
String
bizId
,
String
bizType
,
BizDataChangeController
.
DetailType
type
)
{
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
return
handleStrategy
.
getSubDetail
(
applyNo
,
bizId
,
type
);
}
public
IPage
<?>
getChangeLogPage
(
String
bizId
,
String
bizType
)
{
IBizDataChangeHandleStrategy
handleStrategy
=
BizDataHandleStrategyContext
.
getStrategy
(
bizType
);
return
handleStrategy
.
getChangeLogs
(
bizId
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/core/DefaultEventPublisher.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
core
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent
;
import
lombok.Getter
;
import
org.springframework.context.ApplicationEventPublisher
;
import
org.springframework.context.ApplicationEventPublisherAware
;
import
org.springframework.stereotype.Component
;
@Getter
@Component
(
"defaultEventPublisher"
)
public
class
DefaultEventPublisher
implements
IEventPublisher
<
BaseBizDataChangeEvent
>,
ApplicationEventPublisherAware
{
private
ApplicationEventPublisher
publisher
;
@Override
public
void
publish
(
BaseBizDataChangeEvent
event
)
{
publisher
.
publishEvent
(
event
);
}
@Override
public
void
setApplicationEventPublisher
(
ApplicationEventPublisher
applicationEventPublisher
)
{
this
.
publisher
=
applicationEventPublisher
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/core/EventPublisherMapping.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
core
;
import
java.lang.annotation.ElementType
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.RetentionPolicy
;
import
java.lang.annotation.Target
;
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Target
(
ElementType
.
TYPE
)
public
@interface
EventPublisherMapping
{
String
value
()
default
"defaultEventPublisher"
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/core/IEventPublisher.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
core
;
import
org.springframework.context.ApplicationEvent
;
public
interface
IEventPublisher
<
T
extends
ApplicationEvent
>
{
void
publish
(
T
event
);
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/core/RouterEventPublisher.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
core
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Component
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.concurrent.ConcurrentHashMap
;
@Component
@RequiredArgsConstructor
public
class
RouterEventPublisher
implements
IEventPublisher
<
BaseBizDataChangeEvent
>
{
private
final
ApplicationContext
applicationContext
;
private
final
Map
<
Class
<?>,
String
>
publisherCache
=
new
ConcurrentHashMap
<>();
@Override
public
void
publish
(
BaseBizDataChangeEvent
event
)
{
String
publisherName
=
resolvePublisherName
(
event
.
getClass
());
IEventPublisher
<
BaseBizDataChangeEvent
>
publisher
=
applicationContext
.
getBean
(
publisherName
,
IEventPublisher
.
class
);
Optional
.
ofNullable
(
publisher
).
orElseGet
(
this
::
getDefaultPublisher
).
publish
(
event
);
}
private
String
resolvePublisherName
(
Class
<?>
eventClass
)
{
return
publisherCache
.
computeIfAbsent
(
eventClass
,
clz
->
{
EventPublisherMapping
annotation
=
clz
.
getAnnotation
(
EventPublisherMapping
.
class
);
return
(
annotation
!=
null
)
?
annotation
.
value
()
:
"defaultEventPublisher"
;
});
}
private
IEventPublisher
<
BaseBizDataChangeEvent
>
getDefaultPublisher
()
{
return
applicationContext
.
getBean
(
"defaultEventPublisher"
,
IEventPublisher
.
class
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/core/SubClassFinder.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
core
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
org.reflections.Reflections
;
import
java.util.HashSet
;
import
java.util.Set
;
public
class
SubClassFinder
{
private
static
final
Set
<
Class
<?
extends
IBaseChangeData
>>
subClasses
;
static
{
//▼ 指定扫描包路径(根据实际项目调整)
Reflections
reflections
=
new
Reflections
(
"com.yeejoin.amos.boot.module.jg.api.dto"
,
"com.yeejoin.amos.boot.module.ymt.api.entity"
);
//▼ 获取所有继承BaseChangeDataDto的类
subClasses
=
reflections
.
getSubTypesOf
(
IBaseChangeData
.
class
);
}
public
static
Set
<
Class
<?
extends
IBaseChangeData
>>
getAllSubClasses
()
{
return
new
HashSet
<>(
subClasses
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/e
vent/ChangeData
Event.java
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/e
dit/event/BaseBizDataChange
Event.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
e
dit
.
e
vent
;
import
com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.core.EventPublisherMapping
;
import
lombok.Getter
;
import
org.springframework.context.ApplicationEvent
;
import
org.typroject.tyboot.core.foundation.context.RequestContextModel
;
...
...
@@ -12,15 +13,20 @@ import java.util.List;
* @author Administrator
*/
@Getter
public
class
ChangeDataEvent
extends
ApplicationEvent
{
@EventPublisherMapping
public
class
BaseBizDataChangeEvent
extends
ApplicationEvent
{
private
final
List
<
ChangeDataDto
>
data
;
private
List
<
FieldChangeMeta
>
data
;
private
final
RequestContextModel
requestContext
;
private
RequestContextModel
requestContext
;
private
final
BizRelationDataDto
bizRelationData
;
public
BaseBizDataChangeEvent
(
Object
source
)
{
super
(
source
);
}
private
BizRelationDataDto
bizRelationData
;
public
ChangeDataEvent
(
Object
source
,
BizRelationDataDto
bizRelationData
,
List
<
ChangeDataDto
>
data
,
RequestContextModel
requestContext
)
{
public
BaseBizDataChangeEvent
(
Object
source
,
BizRelationDataDto
bizRelationData
,
List
<
FieldChangeMeta
>
data
,
RequestContextModel
requestContext
)
{
super
(
source
);
this
.
data
=
data
;
this
.
bizRelationData
=
bizRelationData
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/listener/ChangeLogInsertListener.java
→
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/e
dit/e
vent/listener/ChangeLogInsertListener.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
listener
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
e
dit
.
e
vent
.
listener
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog
;
import
com.yeejoin.amos.boot.module.jg.biz.dao.ESDataChangeLogDao
;
import
com.yeejoin.amos.boot.module.jg.biz.e
vent.ChangeData
Event
;
import
com.yeejoin.amos.boot.module.jg.biz.e
dit.event.BaseBizDataChange
Event
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -41,10 +41,11 @@ public class ChangeLogInsertListener {
static
{
bizTypeTableMap
.
put
(
"useRegister"
,
"tzs_jg_use_registration"
);
bizTypeTableMap
.
put
(
"installationNotice"
,
"tzs_jg_installation_notice"
);
bizTypeTableMap
.
put
(
"singleManageEquipEdit"
,
"idx_biz_jg_use_info"
);
}
@Value
(
"${change.
data
.deal.thread.number:1}"
)
@Value
(
"${change.
log
.deal.thread.number:1}"
)
private
int
threadNumber
;
private
final
ESDataChangeLogDao
esDataChangeLogDao
;
...
...
@@ -52,13 +53,13 @@ public class ChangeLogInsertListener {
private
final
JgBizChangeLogServiceImpl
bizChangeLogService
;
private
final
BlockingQueue
<
ChangeData
Event
>
queue
=
new
LinkedBlockingQueue
<>();
private
final
BlockingQueue
<
BaseBizDataChange
Event
>
queue
=
new
LinkedBlockingQueue
<>();
@TransactionalEventListener
(
value
=
ChangeData
Event
.
class
)
@TransactionalEventListener
(
value
=
BaseBizDataChange
Event
.
class
)
@Async
public
void
handleTransactionalEvent
(
ChangeData
Event
event
)
{
log
.
info
(
"
收到用户
变更业务数据消息:{}"
,
JSONObject
.
toJSONString
(
event
));
public
void
handleTransactionalEvent
(
BaseBizDataChange
Event
event
)
{
log
.
info
(
"
日志处理器,收到
变更业务数据消息:{}"
,
JSONObject
.
toJSONString
(
event
));
queue
.
add
(
event
);
}
...
...
@@ -69,7 +70,7 @@ public class ChangeLogInsertListener {
executorService
.
execute
(()
->
{
while
(
true
)
{
try
{
ChangeData
Event
event
=
queue
.
take
();
BaseBizDataChange
Event
event
=
queue
.
take
();
processEvent
(
event
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
...
...
@@ -79,19 +80,19 @@ public class ChangeLogInsertListener {
});
}
private
void
processEvent
(
ChangeData
Event
event
)
{
List
<
ChangeDataDto
>
changeDataDto
s
=
event
.
getData
();
private
void
processEvent
(
BaseBizDataChange
Event
event
)
{
List
<
FieldChangeMeta
>
fieldChangeMeta
s
=
event
.
getData
();
RequestContextModel
requestContextModel
=
event
.
getRequestContext
();
Date
date
=
new
Date
();
// 1.主表保存
JgBizChangeLog
changeLog
=
saveLog
(
event
);
// 2.子表字段保存
List
<
ESDataChangeLogDto
>
logs
=
saveColumnsChange2Es
(
changeDataDto
s
,
requestContextModel
,
date
,
changeLog
);
List
<
ESDataChangeLogDto
>
logs
=
saveColumnsChange2Es
(
fieldChangeMeta
s
,
requestContextModel
,
date
,
changeLog
);
log
.
info
(
"es 操作日志数据入库成功:{}条"
,
logs
.
size
());
}
private
List
<
ESDataChangeLogDto
>
saveColumnsChange2Es
(
List
<
ChangeDataDto
>
changeDataDto
s
,
RequestContextModel
requestContextModel
,
Date
date
,
JgBizChangeLog
changeLog
)
{
List
<
ESDataChangeLogDto
>
logs
=
changeDataDto
s
.
parallelStream
().
map
(
changeDataDto
->
{
private
List
<
ESDataChangeLogDto
>
saveColumnsChange2Es
(
List
<
FieldChangeMeta
>
fieldChangeMeta
s
,
RequestContextModel
requestContextModel
,
Date
date
,
JgBizChangeLog
changeLog
)
{
List
<
ESDataChangeLogDto
>
logs
=
fieldChangeMeta
s
.
parallelStream
().
map
(
changeDataDto
->
{
ESDataChangeLogDto
changeLogDto
=
new
ESDataChangeLogDto
();
changeLogDto
.
setColumnKey
(
changeDataDto
.
getColumnKey
());
changeLogDto
.
setColumnKeyLabel
(
changeDataDto
.
getColumnLabel
());
...
...
@@ -112,7 +113,7 @@ public class ChangeLogInsertListener {
return
logs
;
}
private
JgBizChangeLog
saveLog
(
ChangeData
Event
event
)
{
private
JgBizChangeLog
saveLog
(
BaseBizDataChange
Event
event
)
{
JgBizChangeLog
changeLog
=
new
JgBizChangeLog
();
BeanUtil
.
copyProperties
(
event
.
getBizRelationData
(),
changeLog
);
changeLog
.
setBizTable
(
bizTypeTableMap
.
get
(
changeLog
.
getBizType
()));
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/biz/DefaultBizDataChangeHandler.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
biz
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.biz.context.EquipDataProcessStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.controller.BizDataChangeController
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.core.IEventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl
;
import
org.springframework.context.ApplicationContext
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
public
abstract
class
DefaultBizDataChangeHandler
<
U
extends
BaseBizDataChangeEvent
>
implements
IBizDataChangeHandleStrategy
{
private
final
IEventPublisher
<
BaseBizDataChangeEvent
>
eventPublisher
;
private
final
ApplicationContext
applicationContext
;
protected
DefaultBizDataChangeHandler
(
IEventPublisher
<
BaseBizDataChangeEvent
>
eventPublisher
,
ApplicationContext
applicationContext
)
{
this
.
eventPublisher
=
eventPublisher
;
this
.
applicationContext
=
applicationContext
;
}
@Override
public
final
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
if
(
beforeCheck
(
applyNo
,
model
,
changeData
))
{
JSONObject
oData
=
new
JSONObject
(
changeData
);
// 删除原始提交的变更说明及附件放置后续存放到json
changeData
.
remove
(
"changeReason"
);
changeData
.
remove
(
"changeAttachment"
);
IEquipChangeDataProcessStrategy
dataProcessor
=
EquipDataProcessStrategyContext
.
getStrategy
(
model
);
List
<
FieldChangeMeta
>
allChangeColumns
=
dataProcessor
.
handle
(
changeData
,
applyNo
);
List
<
FieldChangeMeta
>
bizEditColumns
=
updBizData
(
applyNo
,
model
,
changeData
);
allChangeColumns
.
addAll
(
bizEditColumns
);
if
(
bizIsFinished
(
applyNo
,
model
,
changeData
))
{
List
<
FieldChangeMeta
>
equipColumns
=
updCertDataIfBizFin
(
applyNo
,
model
,
changeData
);
allChangeColumns
.
addAll
(
equipColumns
);
}
// 发送数据变更消息
publish2OtherBiz
(
allChangeColumns
,
applyNo
,
oData
);
}
}
private
void
publish2OtherBiz
(
List
<
FieldChangeMeta
>
allChangeColumns
,
String
applyNo
,
JSONObject
changeData
)
{
if
(!
allChangeColumns
.
isEmpty
())
{
BizRelationDataDto
bizRelationDataDto
=
new
BizRelationDataDto
();
bizRelationDataDto
.
setBizId
(
applyNo
);
bizRelationDataDto
.
setBizType
(
canHandleBizType
());
bizRelationDataDto
.
setRecords
(
getEqs
(
applyNo
));
bizRelationDataDto
.
setChangeReason
(
changeData
.
getString
(
"changeReason"
));
bizRelationDataDto
.
setChangeAttachment
(
JSONObject
.
toJSONString
(
changeData
.
get
(
"changeAttachment"
)));
bizRelationDataDto
.
setProjectContraptionIds
(
getProjectContraptionIds
(
applyNo
));
eventPublisher
.
publish
(
new
BaseBizDataChangeEvent
(
this
,
bizRelationDataDto
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
}
}
@Override
public
IPage
<?>
getDetail
(
String
applyNo
,
BizDataChangeController
.
DetailType
type
,
JSONObject
searchParams
)
{
CommonEquipDataProcessService
service
=
applicationContext
.
getBean
(
CommonEquipDataProcessService
.
class
);
switch
(
type
)
{
case
equip:
return
service
.
getEquListByRecords
(
getEqs
(
applyNo
),
searchParams
);
case
project:
return
service
.
getProjectContraptionsBySeqs
(
getProjectContraptionIds
(
applyNo
),
searchParams
);
default
:
throw
new
BadRequest
(
"unknown type for getDetail"
);
}
}
@Override
public
Map
<
String
,
?>
getSubDetail
(
String
applyNo
,
String
bizId
,
BizDataChangeController
.
DetailType
type
)
{
CommonEquipDataProcessService
service
=
applicationContext
.
getBean
(
CommonEquipDataProcessService
.
class
);
switch
(
type
)
{
case
equip:
return
service
.
getEquipDetailByRecord
(
bizId
);
case
project:
return
service
.
getProjectContraptionBySeq
(
bizId
,
getEqs
(
applyNo
));
default
:
throw
new
BadRequest
(
"unknown type for getSubDetail"
);
}
}
@Override
public
IPage
<?>
getChangeLogs
(
String
bizId
)
{
Set
<
String
>
changeIds
=
new
HashSet
<>();
changeIds
.
addAll
(
getEqs
(
bizId
));
changeIds
.
addAll
(
getProjectContraptionIds
(
bizId
));
JgBizChangeLogServiceImpl
service
=
applicationContext
.
getBean
(
JgBizChangeLogServiceImpl
.
class
);
return
service
.
queryPageListByChangeIds
(
changeIds
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/biz/installNotice/InstallNoticeDataChangeHandler.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
biz
.
installNotice
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
@Component
public
class
InstallNoticeDataChangeHandler
extends
DefaultBizDataChangeHandler
<
BaseBizDataChangeEvent
>
{
protected
InstallNoticeDataChangeHandler
(
RouterEventPublisher
routerEventPublisher
,
ApplicationContext
applicationContext
)
{
super
(
routerEventPublisher
,
applicationContext
);
}
@Override
public
String
canHandleBizType
()
{
return
"installationNotice"
;
}
@Override
public
List
<
FieldChangeMeta
>
updBizData
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
return
Collections
.
emptyList
();
}
@Override
public
Boolean
beforeCheck
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
return
null
;
}
@Override
public
Set
<
String
>
getEqs
(
String
applyNo
)
{
return
Collections
.
emptySet
();
}
@Override
public
List
<
FieldChangeMeta
>
updCertDataIfBizFin
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
return
Collections
.
emptyList
();
}
@Override
public
Boolean
bizIsFinished
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
return
null
;
}
@Override
public
Set
<
String
>
getProjectContraptionIds
(
String
applyNo
)
{
return
Collections
.
emptySet
();
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/biz/strategy/IBizDataChangeHandleStrategy.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
biz
.
strategy
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.biz.controller.BizDataChangeController
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
public
interface
IBizDataChangeHandleStrategy
{
/**
* 可处理的业务类型(使用登记等)
*
* @return 业务类型
*/
String
canHandleBizType
();
/**
* 获取变更信息详情-二级详情
* @param applyNo 单据或者设备唯一,单据编辑时用来查询eq表
* @param bizId 设备record
* @param type 编辑的资源的类型:设备、装置
* @return 变更信息详情
*/
Map
<
String
,
?>
getSubDetail
(
String
applyNo
,
String
bizId
,
BizDataChangeController
.
DetailType
type
);
/**
* 获取变更信息详情-一级详情
*
* @param applyNo 单据编号
* @param type 编辑的资源的类型:设备、装置
* @param searchParams 查询参数
* @return 变更信息详情
*/
IPage
<?>
getDetail
(
String
applyNo
,
BizDataChangeController
.
DetailType
type
,
JSONObject
searchParams
);
/**
* 保存
*
* @param applyNo 单据编号
* @param model @see ModelType
* @param changeData 变更数据
*/
List
<
FieldChangeMeta
>
updBizData
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 前置校验 如业务字段的重复性检验
*
* @param applyNo 单据编号
* @param model 类型
* @param changeData 数据
* @return 是否通过前置校验
*/
Boolean
beforeCheck
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 单据方式:单个处理、批量处理
*/
enum
ModelType
{
singleProject
,
singleEquip
,
singleCylinder
}
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 获取子表的设备或者使用登记证
*
* @param applyNo 单据编号
* @return 设备record或者证数组
*/
Set
<
String
>
getEqs
(
String
applyNo
);
/**
* 在业务单位状态为已完成时进行证表的更新
*
* @param applyNo 单据编号
* @param model 类型
* @param changeData 数据
* @return 更新的字段
*/
List
<
FieldChangeMeta
>
updCertDataIfBizFin
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 单据是否已经审核完成
*
* @param applyNo 单据编号
* @param model 类型
* @param changeData 数据
* @return true-完成;false-未完成
*/
Boolean
bizIsFinished
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
);
/**
* 获取变更的装置ids
*
* @param applyNo 单据编号
* @return 装置id集合
*/
Set
<
String
>
getProjectContraptionIds
(
String
applyNo
);
/**
* 查询变更日志
* @param bizId 业务id
* @return 分页数据
*/
IPage
<?>
getChangeLogs
(
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/edit/process/biz/useRegister/UseRegisterDataChangeHandler.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
biz
.
useRegister
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
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.biz.controller.BizDataChangeController
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
UseRegisterDataChangeHandler
extends
DefaultBizDataChangeHandler
<
BaseBizDataChangeEvent
>
{
private
final
UseRegisterUpdateService
useRegisterUpdateService
;
protected
UseRegisterDataChangeHandler
(
RouterEventPublisher
routerEventPublisher
,
UseRegisterUpdateService
useRegisterUpdateService
,
ApplicationContext
applicationContext
)
{
super
(
routerEventPublisher
,
applicationContext
);
this
.
useRegisterUpdateService
=
useRegisterUpdateService
;
}
@Override
public
String
canHandleBizType
()
{
return
"useRegistration"
;
}
/**
* 保存
*
* @param applyNo 单据编号
* @param model single, batch
* @param changeData 前端不支持分组-目前为平铺数据结构
*/
@Override
public
List
<
FieldChangeMeta
>
updBizData
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
List
<
FieldChangeMeta
>
bizEditColumns
=
new
ArrayList
<>();
// 1.流程中时-更新单据-业务冗余的字段
this
.
updateBizInfo
(
changeData
);
return
bizEditColumns
;
}
private
void
updateBizInfo
(
Map
<
String
,
Object
>
changeData
)
{
useRegisterUpdateService
.
updateBizInfo
(
changeData
);
}
@Override
public
Boolean
beforeCheck
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
return
true
;
}
@Override
public
Set
<
String
>
getEqs
(
String
applyNo
)
{
JgUseRegistration
useRegistration
=
useRegisterUpdateService
.
getJgUseRegistrationService
().
getOne
(
new
LambdaQueryWrapper
<
JgUseRegistration
>().
select
(
BaseEntity:
:
getSequenceNbr
).
eq
(
JgUseRegistration:
:
getApplyNo
,
applyNo
));
List
<
JgUseRegistrationEq
>
eqs
=
useRegisterUpdateService
.
getUseRegistrationEqService
().
list
(
new
LambdaQueryWrapper
<
JgUseRegistrationEq
>().
select
(
JgUseRegistrationEq:
:
getEquId
).
eq
(
JgUseRegistrationEq:
:
getEquipTransferId
,
useRegistration
.
getSequenceNbr
()));
return
eqs
.
stream
().
map
(
JgUseRegistrationEq:
:
getEquId
).
collect
(
Collectors
.
toSet
());
}
@Override
public
List
<
FieldChangeMeta
>
updCertDataIfBizFin
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
// 更新设备/装置的使用信息
return
useRegisterUpdateService
.
updCertDataIfBizFin
(
applyNo
,
new
JSONObject
(
changeData
));
}
@Override
public
Boolean
bizIsFinished
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
JgUseRegistration
useRegistration
=
useRegisterUpdateService
.
getJgUseRegistrationService
().
getOne
(
new
LambdaQueryWrapper
<
JgUseRegistration
>().
eq
(
JgUseRegistration:
:
getApplyNo
,
applyNo
));
return
useRegistration
.
getStatus
().
equals
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
}
@Override
public
Set
<
String
>
getProjectContraptionIds
(
String
applyNo
)
{
JgUseRegistration
useRegistration
=
useRegisterUpdateService
.
getJgUseRegistrationService
().
getOne
(
new
LambdaQueryWrapper
<
JgUseRegistration
>().
select
(
BaseEntity:
:
getSequenceNbr
,
JgUseRegistration:
:
getApplyNo
,
JgUseRegistration:
:
getProjectContraptionId
).
eq
(
JgUseRegistration:
:
getApplyNo
,
applyNo
));
Set
<
String
>
projectContraptionIds
=
new
HashSet
<>();
projectContraptionIds
.
add
(
useRegistration
.
getProjectContraptionId
());
projectContraptionIds
.
remove
(
null
);
projectContraptionIds
.
remove
(
""
);
return
projectContraptionIds
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/biz/useRegister/UseRegisterUpdateService.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
biz
.
useRegister
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationEqServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper
;
import
lombok.Getter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.function.Function
;
@Service
@RequiredArgsConstructor
@Getter
@Slf4j
public
class
UseRegisterUpdateService
{
private
final
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
;
private
final
IdxBizJgProjectContraptionServiceImpl
idxBizJgProjectContraptionService
;
private
final
RedisUtils
redisUtils
;
private
final
JgUseRegistrationServiceImpl
jgUseRegistrationService
;
private
final
Map
<
String
,
Function
<
JSONObject
,
Boolean
>>
bizHandlers
=
new
ConcurrentHashMap
<>();
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
private
final
CommonMapper
commonMapper
;
private
final
JgUseRegistrationEqServiceImpl
useRegistrationEqService
;
public
void
convertStringToJsonObject
(
Object
obj
,
String
[]
jsonFields
)
{
if
(
obj
instanceof
JSONObject
)
{
JSONObject
jsonObject
=
(
JSONObject
)
obj
;
for
(
String
field
:
jsonFields
)
{
if
(
jsonObject
.
get
(
field
)
!=
null
&&
jsonObject
.
get
(
field
)
instanceof
String
)
{
jsonObject
.
put
(
field
,
JSON
.
parse
(
JSONObject
.
toJSONString
(
jsonObject
.
get
(
field
))));
}
}
}
else
if
(
obj
instanceof
Map
)
{
Map
<
String
,
Object
>
map
=
(
Map
<
String
,
Object
>)
obj
;
for
(
String
field
:
jsonFields
)
{
if
(
map
.
containsKey
(
field
)
&&
map
.
get
(
field
)
instanceof
String
)
{
map
.
put
(
field
,
JSON
.
parse
((
String
)
map
.
get
(
field
)));
}
}
}
else
{
// 处理其他类型
System
.
out
.
println
(
"Unsupported Object Type"
);
}
}
public
void
updateBizInfo
(
Map
<
String
,
Object
>
changeData
)
{
}
public
List
<
FieldChangeMeta
>
updCertDataIfBizFin
(
String
applyNo
,
JSONObject
data
)
{
// 更新证信息
return
new
ArrayList
<>();
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/CommonEquipDataProcessService.java
0 → 100644
View file @
0d10d721
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/EquipChangeDataUpdateServiceImpl.java
0 → 100644
View file @
0d10d721
This diff is collapsed.
Click to expand it.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/PieLineDataChangeServiceImpl.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
equip
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.api.dto.PieLineDesignChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ProjectContraptionChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
@Component
public
class
PieLineDataChangeServiceImpl
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
private
final
IdxBizJgProjectContraptionServiceImpl
idxBizJgProjectContraptionServiceImpl
;
private
final
EquipChangeDataUpdateServiceImpl
equipChangeDataUpdateServiceImpl
;
public
PieLineDataChangeServiceImpl
(
CommonEquipDataProcessService
commonEquipDataProcessService
,
IdxBizJgProjectContraptionServiceImpl
idxBizJgProjectContraptionServiceImpl
,
EquipChangeDataUpdateServiceImpl
equipChangeDataUpdateServiceImpl
)
{
this
.
commonEquipDataProcessService
=
commonEquipDataProcessService
;
this
.
idxBizJgProjectContraptionServiceImpl
=
idxBizJgProjectContraptionServiceImpl
;
this
.
equipChangeDataUpdateServiceImpl
=
equipChangeDataUpdateServiceImpl
;
}
public
void
update
(
ProjectContraptionChangeDataDto
projectContraptionChangeDataDtoNew
,
List
<
FieldChangeMeta
>
allChangeColumns
)
{
// 原有对象行转列
ProjectContraptionChangeDataDto
projectContraptionChangeDataDtoOld
=
getOldProjectContraptionData
(
projectContraptionChangeDataDtoNew
);
List
<
FieldChangeMeta
>
newProjectContraptionChangeData
=
commonEquipDataProcessService
.
convertBeanField2Column2
(
projectContraptionChangeDataDtoNew
,
projectContraptionChangeDataDtoNew
.
getProjectContraptionId
());
// 新对象构造行转列
List
<
FieldChangeMeta
>
oldProjectContraptionChangeData
=
commonEquipDataProcessService
.
convertBeanField2Column2
(
projectContraptionChangeDataDtoOld
,
projectContraptionChangeDataDtoNew
.
getProjectContraptionId
());
// 数据比对记录变化字段列表
allChangeColumns
.
addAll
(
commonEquipDataProcessService
.
mergeChangeFields
(
newProjectContraptionChangeData
,
oldProjectContraptionChangeData
));
// 数据入库
LambdaUpdateWrapper
<
IdxBizJgProjectContraption
>
updateWrapper
=
new
LambdaUpdateWrapper
<>();
updateWrapper
.
eq
(
BaseEntity:
:
getSequenceNbr
,
projectContraptionChangeDataDtoNew
.
getProjectContraptionId
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getProjectContraption
,
projectContraptionChangeDataDtoNew
.
getProjectContraption
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getProjectContraptionNo
,
projectContraptionChangeDataDtoNew
.
getProjectContraptionNo
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getPipelineLength
,
projectContraptionChangeDataDtoNew
.
getPipelineLength
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getProductPhoto
,
projectContraptionChangeDataDtoNew
.
getProductPhoto
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getOtherAccessories
,
projectContraptionChangeDataDtoNew
.
getOtherAccessories
());
updateWrapper
.
set
(
IdxBizJgProjectContraption:
:
getProductQualificationCertificate
,
projectContraptionChangeDataDtoNew
.
getProductQualificationCertificate
());
idxBizJgProjectContraptionServiceImpl
.
update
(
null
,
updateWrapper
);
}
private
ProjectContraptionChangeDataDto
getOldProjectContraptionData
(
ProjectContraptionChangeDataDto
projectContraptionChangeDataDtoNew
)
{
IdxBizJgProjectContraption
projectContraption
=
idxBizJgProjectContraptionServiceImpl
.
getById
(
projectContraptionChangeDataDtoNew
.
getProjectContraptionId
());
return
BeanUtil
.
copyProperties
(
projectContraption
,
ProjectContraptionChangeDataDto
.
class
);
}
public
void
saveDesignForPieLine
(
String
record
,
List
<
FieldChangeMeta
>
allChangeColumns
,
PipelineChangeItemDto
pipelineChangeItemDto
)
{
// 1.记录变化的数据对象
PieLineDesignChangeDataDto
pieLineDesignChangeDataDto
=
BeanUtil
.
copyProperties
(
pipelineChangeItemDto
,
PieLineDesignChangeDataDto
.
class
);
// 构造新对象行转列
List
<
FieldChangeMeta
>
designInfoNew
=
commonEquipDataProcessService
.
convertBeanField2Column2
(
pieLineDesignChangeDataDto
,
record
);
// 老数据查询行转列
List
<
FieldChangeMeta
>
designInfoOld
=
commonEquipDataProcessService
.
buildDesignInfoOld
(
record
);
allChangeColumns
.
addAll
(
commonEquipDataProcessService
.
mergeChangeFields
(
designInfoNew
,
designInfoOld
));
// 2.更新管道的设计单位名称
equipChangeDataUpdateServiceImpl
.
updatePieLineDesignData
(
record
,
pieLineDesignChangeDataDto
);
}
public
void
updateEs
(
ProjectContraptionChangeDataDto
projectContraptionChangeDataDto
)
{
equipChangeDataUpdateServiceImpl
.
updateRegisterEsDataPieLine
(
projectContraptionChangeDataDto
);
}
public
void
deletePieLineBatch
(
List
<
PipelineChangeItemDto
>
deletedPieLines
,
List
<
FieldChangeMeta
>
allChangeColumns
,
String
applyNo
)
{
// todo 构建日志 allChangeColumns afterData = null
// todo 数据库管道删除
// todo es管道删除
}
void
newPieLine
(
String
projectContraptionId
,
PipelineChangeItemDto
it
,
List
<
FieldChangeMeta
>
allChangeColumns
,
String
applyNo
)
{
// todo 创建管道的设备几张表
// todo 创建道的es
// todo 构建变更流水 beforeData = null
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/SingleCylinderChangeProcess.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
equip
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
* 批量维护气瓶-策略实现类
*/
@Component
@RequiredArgsConstructor
public
class
SingleCylinderChangeProcess
implements
IEquipChangeDataProcessStrategy
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
@Override
public
List
<
FieldChangeMeta
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
record
)
{
List
<
FieldChangeMeta
>
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
,
null
,
null
,
null
);
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
);
// 设备技术参数入库处理
commonEquipDataProcessService
.
updateTechParamInfo
(
registerChangeDataDto
,
record
,
changeData
,
allChangeColumns
);
return
allChangeColumns
;
}
@Override
public
IBizDataChangeHandleStrategy
.
ModelType
canHandleMode
()
{
return
DefaultBizDataChangeHandler
.
ModelType
.
singleCylinder
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/SingleEquipChangeProcess.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
equip
;
import
com.yeejoin.amos.boot.module.jg.api.dto.*
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
* 单个维护设备-策略实现类
*/
@Component
@RequiredArgsConstructor
public
class
SingleEquipChangeProcess
implements
IEquipChangeDataProcessStrategy
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
@Override
public
List
<
FieldChangeMeta
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
record
)
{
List
<
FieldChangeMeta
>
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
,
null
,
null
,
null
);
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
);
// 设备技术参数入库处理
commonEquipDataProcessService
.
updateTechParamInfo
(
registerChangeDataDto
,
record
,
changeData
,
allChangeColumns
);
return
allChangeColumns
;
}
@Override
public
IBizDataChangeHandleStrategy
.
ModelType
canHandleMode
()
{
return
DefaultBizDataChangeHandler
.
ModelType
.
singleEquip
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/SingleProjectEquipChangeProcess.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
equip
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.text.CharSequenceUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ProjectContraptionChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.TechParamsPipelineChangeFieldDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 单个装置维护-策略实现类
*/
@Component
@RequiredArgsConstructor
public
class
SingleProjectEquipChangeProcess
implements
IEquipChangeDataProcessStrategy
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
private
final
PieLineDataChangeServiceImpl
pieLineDataChangeService
;
@Override
public
List
<
FieldChangeMeta
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
)
{
JSONObject
data
=
(
JSONObject
)
changeData
;
// 新增编辑的管道------------------tableData
JSONArray
insertOrEditPieLines
=
data
.
getJSONArray
(
RequestChangeData
.
multiDataKey
);
// 删除的管道---------------------deleteData
JSONArray
deletedPieLines
=
data
.
getJSONArray
(
RequestChangeData
.
deletedDataKey
);
List
<
FieldChangeMeta
>
allChangeColumns
=
new
ArrayList
<>();
List
<
PipelineChangeItemDto
>
items
=
insertOrEditPieLines
.
toJavaList
(
PipelineChangeItemDto
.
class
);
// 1.设备技术参数入库前校验,约束:同一个装置下的管道编号不能重复
if
(
items
.
size
()
!=
items
.
stream
().
map
(
TechParamsPipelineChangeFieldDto:
:
getPipelineNumber
).
distinct
().
count
())
{
throw
new
BadRequest
(
"同一工程装置下管道编号不能重复!"
);
}
if
(
deletedPieLines
!=
null
&&
!
deletedPieLines
.
isEmpty
())
{
List
<
PipelineChangeItemDto
>
deletedPieLinesJavaList
=
deletedPieLines
.
toJavaList
(
PipelineChangeItemDto
.
class
);
pieLineDataChangeService
.
deletePieLineBatch
(
deletedPieLinesJavaList
,
allChangeColumns
,
defaultChangeId
);
}
// 2.装置基本信息校验、保存(前端返回的装置信息为大写 需注意)
ProjectContraptionChangeDataDto
projectContraptionChangeDataDto
=
CommonEquipDataProcessService
.
castMap2Bean
(
changeData
,
ProjectContraptionChangeDataDto
.
class
);
this
.
calTotalPieLineLength
(
projectContraptionChangeDataDto
,
items
);
pieLineDataChangeService
.
update
(
projectContraptionChangeDataDto
,
allChangeColumns
);
// 3.管道信息入库保存
items
.
forEach
(
item
->
{
String
record
=
item
.
getRecord
();
if
(
record
==
null
)
{
// 新增的管道逻辑
pieLineDataChangeService
.
newPieLine
(
projectContraptionChangeDataDto
.
getProjectContraptionId
(),
item
,
allChangeColumns
,
defaultChangeId
);
}
else
{
// 更新逻辑
// 设计信息更新
pieLineDataChangeService
.
saveDesignForPieLine
(
record
,
allChangeColumns
,
item
);
// 技术参数入库保存
TechParamsPipelineChangeFieldDto
paramsPipelineChangeFieldDto
=
new
TechParamsPipelineChangeFieldDto
();
BeanUtil
.
copyProperties
(
item
,
paramsPipelineChangeFieldDto
,
false
);
commonEquipDataProcessService
.
savePieLineTechParam
(
record
,
allChangeColumns
,
paramsPipelineChangeFieldDto
);
}
});
// 4.更新所有管道的的冗余的管道名称字段(重点注意包括本次没做使用登记的管道也要更新)
pieLineDataChangeService
.
updateEs
(
projectContraptionChangeDataDto
);
return
allChangeColumns
;
}
private
void
calTotalPieLineLength
(
ProjectContraptionChangeDataDto
projectContraptionChangeDataDto
,
List
<
PipelineChangeItemDto
>
items
)
{
projectContraptionChangeDataDto
.
setPipelineLength
(
items
.
stream
().
filter
(
i
->
i
.
getPipeLength
()
!=
null
).
mapToDouble
(
TechParamsPipelineChangeFieldDto:
:
getPipeLength
).
sum
());
}
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
;
}
@Override
public
IBizDataChangeHandleStrategy
.
ModelType
canHandleMode
()
{
return
DefaultBizDataChangeHandler
.
ModelType
.
singleProject
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/process/equip/strategy/IEquipChangeDataProcessStrategy.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
process
.
equip
.
strategy
;
import
com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta
;
import
com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy
;
import
java.util.List
;
import
java.util.Map
;
/**
* 处理监策略类
*/
public
interface
IEquipChangeDataProcessStrategy
{
/**
* 处理
*/
List
<
FieldChangeMeta
>
handle
(
Map
<
String
,
Object
>
changeData
,
String
defaultChangeId
);
/**
* 可处理类型
*
* @return 可处理的类型
*/
IBizDataChangeHandleStrategy
.
ModelType
canHandleMode
();
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/edit/utils/ReflectiveFieldAccessor.java
0 → 100644
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
edit
.
utils
;
import
java.lang.reflect.Field
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
public
class
ReflectiveFieldAccessor
{
private
static
final
Map
<
Class
<?>,
List
<
Field
>>
fieldCache
=
new
ConcurrentHashMap
<>();
public
static
List
<
Field
>
getAllFields
(
Class
<?>
clazz
)
{
return
fieldCache
.
computeIfAbsent
(
clazz
,
k
->
{
Class
<?>
clazz1
=
clazz
;
List
<
Field
>
fields
=
new
ArrayList
<>();
while
(
clazz1
!=
null
&&
clazz1
!=
Object
.
class
)
{
fields
.
addAll
(
Arrays
.
asList
(
clazz1
.
getDeclaredFields
()));
clazz1
=
clazz1
.
getSuperclass
();
// 递归向上获取父类
}
return
Collections
.
unmodifiableList
(
fields
);
});
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/handler/IChangeEventBizHandler.java
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
handler
;
import
org.springframework.context.ApplicationEvent
;
public
interface
IChangeEventBizHandler
<
T
extends
ApplicationEvent
>
{
void
handle
(
T
event
);
Boolean
supports
(
T
event
);
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/handler/InstallNoticeChangeEventHandler.java
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
handler
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgInstallationNoticeServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Set
;
@Component
@RequiredArgsConstructor
@Slf4j
public
class
InstallNoticeChangeEventHandler
implements
IChangeEventBizHandler
<
ChangeDataEvent
>
{
private
final
JgInstallationNoticeServiceImpl
jgInstallationNoticeService
;
private
final
JgBizChangeLogServiceImpl
jgBizChangeLogService
;
@Override
@Async
public
void
handle
(
ChangeDataEvent
event
)
{
log
.
info
(
"开始更新安装告知json数据:{}"
,
event
);
// 查询关联的单据-未删除且已完成状态
Set
<
Long
>
installationNoticeIds
=
this
.
getRelationInstallNoticeList
(
event
);
// 更新历史json
installationNoticeIds
.
forEach
(
seq
->
{
// 更新json
JgInstallationNotice
installationNotice
=
jgInstallationNoticeService
.
getById
(
seq
);
// 查询之前数据json
JSONObject
beforeData
=
jgInstallationNoticeService
.
getHisData
(
installationNotice
);
jgInstallationNoticeService
.
saveHisDataBeforeUpdate
(
installationNotice
);
// 查询之后数据json
JSONObject
afterData
=
jgInstallationNoticeService
.
getHisData
(
installationNotice
);
// es记录日志
this
.
log2es
(
beforeData
,
afterData
,
installationNotice
,
event
);
});
log
.
info
(
"更新安装告知的单据数量:{}"
,
installationNoticeIds
.
size
());
}
private
void
log2es
(
JSONObject
beforeData
,
JSONObject
afterData
,
JgInstallationNotice
installationNotice
,
ChangeDataEvent
event
)
{
Date
date
=
DateUtil
.
date
();
JgBizChangeLog
changeLog
=
new
JgBizChangeLog
();
BeanUtil
.
copyProperties
(
event
.
getBizRelationData
(),
changeLog
);
changeLog
.
setBizTable
(
"tzs_jg_installation_notice"
);
changeLog
.
setRecDate
(
date
);
changeLog
.
setBizId
(
installationNotice
.
getApplyNo
());
// todo 与原始编辑进行关联
changeLog
.
setOId
(
event
.
getRequestContext
().
getTraceId
());
changeLog
.
setBizType
(
"installationNotice"
);
changeLog
.
setRecUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
ESDataChangeLogDto
esDataChangeLogDto
=
new
ESDataChangeLogDto
();
esDataChangeLogDto
.
setColumnKey
(
"changeData"
);
esDataChangeLogDto
.
setColumnKeyLabel
(
"历史json数据"
);
esDataChangeLogDto
.
setBeforeData
(
beforeData
.
toJSONString
());
esDataChangeLogDto
.
setAfterData
(
afterData
.
toJSONString
());
esDataChangeLogDto
.
setUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
esDataChangeLogDto
.
setCreateDate
(
date
.
getTime
());
esDataChangeLogDto
.
setRequestDate
(
DateUtil
.
formatDateTime
(
date
));
esDataChangeLogDto
.
setChangeId
(
installationNotice
.
getApplyNo
());
esDataChangeLogDto
.
setColumnFamily
(
"tzs_jg_installation_notice"
);
esDataChangeLogDto
.
setBizType
(
changeLog
.
getBizType
());
jgBizChangeLogService
.
save2DbAndEs
(
changeLog
,
Collections
.
singletonList
(
esDataChangeLogDto
));
}
private
Set
<
Long
>
getRelationInstallNoticeList
(
ChangeDataEvent
event
)
{
// 变化的设备
Set
<
String
>
records
=
event
.
getBizRelationData
().
getRecords
();
// 查询关联的单据-已完成时更新其json
return
jgInstallationNoticeService
.
getBaseMapper
().
queryListByEqsAndStatus
(
records
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()
+
""
);
}
@Override
public
Boolean
supports
(
ChangeDataEvent
event
)
{
return
UseRegisterDataChangeHandleImpl
.
BIZ_TYPE
.
equals
(
event
.
getBizRelationData
().
getBizType
());
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/handler/MaintenanceContractChangeEventHandler.java
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
handler
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgMaintenanceContractServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Set
;
@Component
@RequiredArgsConstructor
@Slf4j
public
class
MaintenanceContractChangeEventHandler
implements
IChangeEventBizHandler
<
ChangeDataEvent
>
{
private
final
JgMaintenanceContractServiceImpl
jgMaintenanceContractService
;
private
final
JgBizChangeLogServiceImpl
jgBizChangeLogService
;
@Override
@Async
public
void
handle
(
ChangeDataEvent
event
)
{
log
.
info
(
"开始更新维保备案json数据:{}"
,
event
);
// 查询关联的单据-未删除且已完成状态
Set
<
Long
>
maintenanceContractList
=
this
.
getRelationMaintenanceContractList
(
event
);
// 更新历史json
maintenanceContractList
.
forEach
(
seq
->
{
// 更新json
JgMaintenanceContract
maintenanceContract
=
jgMaintenanceContractService
.
getById
(
seq
);
// 查询之前数据json
JSONArray
beforeData
=
jgMaintenanceContractService
.
getHisData
(
maintenanceContract
);
jgMaintenanceContractService
.
updateHisDataAfterEquipEdit
(
maintenanceContract
);
// 查询之后数据json
JSONArray
afterData
=
jgMaintenanceContractService
.
getHisData
(
maintenanceContract
);
// es记录日志
this
.
log2es
(
beforeData
,
afterData
,
maintenanceContract
,
event
);
});
log
.
info
(
"更新维保备案的单据数量:{}"
,
maintenanceContractList
.
size
());
}
private
Set
<
Long
>
getRelationMaintenanceContractList
(
ChangeDataEvent
event
)
{
// 变化的设备
Set
<
String
>
records
=
event
.
getBizRelationData
().
getRecords
();
// 查询关联的单据-已完成时更新其json
return
jgMaintenanceContractService
.
getBaseMapper
().
queryListByEqsAndStatus
(
records
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
}
@Override
public
Boolean
supports
(
ChangeDataEvent
event
)
{
return
UseRegisterDataChangeHandleImpl
.
BIZ_TYPE
.
equals
(
event
.
getBizRelationData
().
getBizType
());
}
private
void
log2es
(
JSON
beforeData
,
JSON
afterData
,
JgMaintenanceContract
maintenanceContract
,
ChangeDataEvent
event
)
{
Date
date
=
DateUtil
.
date
();
JgBizChangeLog
changeLog
=
new
JgBizChangeLog
();
BeanUtil
.
copyProperties
(
event
.
getBizRelationData
(),
changeLog
);
changeLog
.
setBizTable
(
"tzs_jg_maintenance_contract"
);
changeLog
.
setRecDate
(
date
);
changeLog
.
setBizId
(
maintenanceContract
.
getApplyNo
());
// todo 与原始编辑进行关联
changeLog
.
setOId
(
event
.
getRequestContext
().
getTraceId
());
changeLog
.
setBizType
(
"maintenanceContract"
);
changeLog
.
setRecUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
ESDataChangeLogDto
esDataChangeLogDto
=
new
ESDataChangeLogDto
();
esDataChangeLogDto
.
setColumnKey
(
"changeData"
);
esDataChangeLogDto
.
setColumnKeyLabel
(
"历史json数据"
);
esDataChangeLogDto
.
setBeforeData
(
beforeData
.
toJSONString
());
esDataChangeLogDto
.
setAfterData
(
afterData
.
toJSONString
());
esDataChangeLogDto
.
setUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
esDataChangeLogDto
.
setCreateDate
(
date
.
getTime
());
esDataChangeLogDto
.
setRequestDate
(
DateUtil
.
formatDateTime
(
date
));
esDataChangeLogDto
.
setChangeId
(
maintenanceContract
.
getApplyNo
());
esDataChangeLogDto
.
setColumnFamily
(
"tzs_jg_maintenance_contract"
);
esDataChangeLogDto
.
setBizType
(
changeLog
.
getBizType
());
jgBizChangeLogService
.
save2DbAndEs
(
changeLog
,
Collections
.
singletonList
(
esDataChangeLogDto
));
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/handler/UseRegisterChangeEventHandler.java
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
handler
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterDataChangeHandleImpl
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.UseRegisterUpdateService
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Set
;
@Component
@RequiredArgsConstructor
@Slf4j
public
class
UseRegisterChangeEventHandler
implements
IChangeEventBizHandler
<
ChangeDataEvent
>
{
private
final
JgUseRegistrationServiceImpl
jgUseRegistrationService
;
private
final
JgBizChangeLogServiceImpl
jgBizChangeLogService
;
private
final
UseRegisterUpdateService
registerUpdateService
;
@Override
@Async
public
void
handle
(
ChangeDataEvent
event
)
{
log
.
info
(
"开始更新使用登记json数据:{}"
,
event
);
// 查询关联的单据-未删除且已完成状态-不包括原始使用登记的修改
Set
<
Long
>
useRegistrationIds
=
this
.
getRelationUseRegisterList
(
event
);
// 更新历史json
useRegistrationIds
.
forEach
(
seq
->
{
// 更新json
JgUseRegistration
useRegistration
=
jgUseRegistrationService
.
getById
(
seq
);
// 查询之前数据json
JSONObject
beforeData
=
jgUseRegistrationService
.
getHisData
(
useRegistration
);
registerUpdateService
.
updateHisData
(
useRegistration
.
getApplyNo
());
// 查询之后数据json
JSONObject
afterData
=
jgUseRegistrationService
.
getHisData
(
useRegistration
);
// es记录日志
this
.
log2es
(
beforeData
,
afterData
,
useRegistration
,
event
);
});
log
.
info
(
"更新使用登记的单据数量:{}"
,
useRegistrationIds
.
size
());
}
private
void
log2es
(
JSONObject
beforeData
,
JSONObject
afterData
,
JgUseRegistration
jgUseRegistration
,
ChangeDataEvent
event
)
{
Date
date
=
DateUtil
.
date
();
JgBizChangeLog
changeLog
=
new
JgBizChangeLog
();
BeanUtil
.
copyProperties
(
event
.
getBizRelationData
(),
changeLog
);
changeLog
.
setRecDate
(
date
);
changeLog
.
setBizId
(
jgUseRegistration
.
getApplyNo
());
// todo 与原始编辑进行关联
changeLog
.
setOId
(
event
.
getRequestContext
().
getTraceId
());
changeLog
.
setBizType
(
changeLog
.
getBizType
());
changeLog
.
setBizTable
(
"tzs_jg_use_registration"
);
changeLog
.
setRecUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
ESDataChangeLogDto
esDataChangeLogDto
=
new
ESDataChangeLogDto
();
esDataChangeLogDto
.
setColumnKey
(
"changeData"
);
esDataChangeLogDto
.
setColumnKeyLabel
(
"历史json数据"
);
esDataChangeLogDto
.
setBeforeData
(
beforeData
.
toJSONString
());
esDataChangeLogDto
.
setAfterData
(
afterData
.
toJSONString
());
esDataChangeLogDto
.
setUserId
(
event
.
getRequestContext
().
getExcutedUserId
());
esDataChangeLogDto
.
setCreateDate
(
date
.
getTime
());
esDataChangeLogDto
.
setRequestDate
(
DateUtil
.
formatDateTime
(
date
));
esDataChangeLogDto
.
setChangeId
(
jgUseRegistration
.
getApplyNo
());
esDataChangeLogDto
.
setColumnFamily
(
changeLog
.
getBizTable
());
esDataChangeLogDto
.
setBizType
(
changeLog
.
getBizType
());
jgBizChangeLogService
.
save2DbAndEs
(
changeLog
,
Collections
.
singletonList
(
esDataChangeLogDto
));
}
private
Set
<
Long
>
getRelationUseRegisterList
(
ChangeDataEvent
event
)
{
// 变化的设备
Set
<
String
>
records
=
event
.
getBizRelationData
().
getRecords
();
String
applyNo
=
event
.
getBizRelationData
().
getBizId
();
// 查询设备关联的已完成状态的单据-来更新其json
return
jgUseRegistrationService
.
getBaseMapper
().
queryListByEqsAndStatus
(
records
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
(),
applyNo
);
}
@Override
public
Boolean
supports
(
ChangeDataEvent
event
)
{
return
UseRegisterDataChangeHandleImpl
.
BIZ_TYPE
.
equals
(
event
.
getBizRelationData
().
getBizType
());
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/event/listener/RelationBizApplyUpdateListener.java
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
event
.
listener
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.module.jg.biz.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.event.handler.IChangeEventBizHandler
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.ApplicationEvent
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.event.TransactionalEventListener
;
import
javax.annotation.PostConstruct
;
import
java.util.List
;
import
java.util.concurrent.BlockingQueue
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.LinkedBlockingQueue
;
import
java.util.stream.IntStream
;
/**
* @author Administrator
*/
@Component
@Slf4j
@RequiredArgsConstructor
public
class
RelationBizApplyUpdateListener
{
@Value
(
"${relation.data.deal.thread.number:1}"
)
private
int
threadNumber
;
private
final
List
<
IChangeEventBizHandler
<
ApplicationEvent
>>
changeUpdateHandlers
;
private
final
BlockingQueue
<
ChangeDataEvent
>
queue
=
new
LinkedBlockingQueue
<>();
@TransactionalEventListener
(
value
=
ChangeDataEvent
.
class
)
@Async
public
void
handleTransactionalEvent
(
ChangeDataEvent
event
)
{
log
.
info
(
"收到用户变更业务数据消息:{}"
,
JSONObject
.
toJSONString
(
event
));
queue
.
add
(
event
);
}
@PostConstruct
public
void
init
()
{
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
threadNumber
);
IntStream
.
range
(
0
,
threadNumber
).
forEach
(
i
->
{
executorService
.
execute
(()
->
{
while
(
true
)
{
try
{
ChangeDataEvent
event
=
queue
.
take
();
processEvent
(
event
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
});
});
}
private
void
processEvent
(
ChangeDataEvent
event
)
{
changeUpdateHandlers
.
stream
().
filter
(
h
->
h
.
supports
(
event
)).
forEach
(
h
->
{
log
.
info
(
"处理器:{}"
,
JSONObject
.
toJSONString
(
h
));
h
.
handle
(
event
);
});
}
}
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
deleted
100644 → 0
View file @
41b6903e
This diff is collapsed.
Click to expand it.
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/IdxBizJgRegisterInfoServiceImpl.java
View file @
0d10d721
...
...
@@ -157,7 +157,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private
static
final
String
EQUIP_MAINPARTS_FORM_ID
=
"mainParts"
;
// 安全附件
private
static
final
String
EQUIP_PROTECTIONDEVICES_FORM_ID
=
"protectionDevices"
;
p
rivate
static
final
String
EQUSTATE
=
"EQU_STATE"
;
p
ublic
static
final
String
EQUSTATE
=
"EQU_STATE"
;
private
static
final
String
CONSTRUCTIONTYPE
=
"CONSTRUCTION_TYPE"
;
// 新增修改标识
private
static
final
String
OPERATESAVE
=
"save"
;
...
...
@@ -172,12 +172,12 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private
static
final
String
RECORD
=
"RECORD"
;
private
static
final
String
MANAGE_TYPE
=
"manageType"
;
// 设备代码
p
rivate
static
final
String
EQU_CODE
=
"EQU_CODE"
;
p
ublic
static
final
String
EQU_CODE
=
"EQU_CODE"
;
// 96333识别码
private
static
final
String
CODE96333
=
"CODE96333"
;
private
static
final
String
SEQUENCE_NBR
=
"SEQUENCE_NBR"
;
private
static
final
String
OTHERINFO_SEQ
=
"OTHERINFO_SEQ"
;
p
rivate
static
final
String
FACTORY_NUM
=
"FACTORY_NUM"
;
p
ublic
static
final
String
FACTORY_NUM
=
"FACTORY_NUM"
;
// 新增设备是否复制而来
private
static
final
String
IS_COPY
=
"isCopy"
;
private
static
final
String
ATTACHMENT_UPLOAD
=
"attachmentUpload"
;
...
...
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/JgBizChangeLogServiceImpl.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ESDataChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgBizChangeLogDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgBizChangeLog
;
...
...
@@ -11,6 +12,7 @@ import org.springframework.stereotype.Service;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.util.List
;
import
java.util.Set
;
/**
* 服务实现类
...
...
@@ -34,4 +36,9 @@ public class JgBizChangeLogServiceImpl extends BaseService<JgBizChangeLogDto, Jg
esDataChangeLogDao
.
saveAll
(
esDataChangeLogDtos
);
}
}
@Override
public
IPage
<?>
queryPageListByChangeIds
(
Set
<
String
>
changeIds
)
{
return
null
;
}
}
\ No newline at end of file
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/JgUseRegistrationServiceImpl.java
View file @
0d10d721
...
...
@@ -63,6 +63,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import
com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.Getter
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.compress.utils.Lists
;
...
...
@@ -121,6 +122,7 @@ import static java.util.stream.Collectors.toSet;
*/
@Service
@Slf4j
@Getter
public
class
JgUseRegistrationServiceImpl
extends
BaseService
<
JgUseRegistrationDto
,
JgUseRegistration
,
JgUseRegistrationMapper
>
implements
IJgUseRegistrationService
,
ICompensateFlowDataOfRedis
<
JgUseRegistration
>,
ApplicationContextAware
{
private
static
final
String
DEFINITION_KEY
=
"useRegistration"
;
...
...
@@ -242,6 +244,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
private
CommonMapper
commonMapper
;
@Autowired
private
IdxBizJgInspectionDetectionInfoServiceImpl
inspectionDetectionInfoService
;
/**
* @param auditPassDate 通过时间
...
...
@@ -2383,7 +2388,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return
record
;
}
p
rivate
Map
<
String
,
Object
>
getInspectDetail
(
String
record
)
{
p
ublic
Map
<
String
,
Object
>
getInspectDetail
(
String
record
)
{
// 去掉约束
return
this
.
baseMapper
.
getInspectDetail
(
record
,
null
);
}
...
...
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
deleted
100644 → 0
View file @
41b6903e
This diff is collapsed.
Click to expand it.
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
View file @
0d10d721
...
...
@@ -2,8 +2,8 @@ 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.e
vent.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.
biz.edit.event.BaseBizDataChangeEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.e
dit.process.equip.CommonEquipDataProcessService
;
import
com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.stereotype.Component
;
...
...
@@ -17,18 +17,14 @@ import java.util.Map;
@Component
@RequiredArgsConstructor
public
class
SingleManageEquipEditHandleImpl
implements
IBizDataChangeHandleStrategy
{
public
class
SingleManageEquipEditHandleImpl
{
private
final
CommonEquipDataProcessService
commonEquipDataProcessService
;
private
final
EventPublisher
publisher
;
@Override
public
String
canHandleBizType
()
{
return
"singleManageEquipEdit"
;
}
public
static
final
String
BIZ_TYPE
=
"singleManageEquipEdit"
;
@Override
public
Map
<
String
,
?>
getDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
)
{
public
Map
<
String
,
?>
getDetail
(
String
applyNo
,
String
bizId
)
{
return
this
.
getDetailByBizId
(
bizId
);
}
...
...
@@ -50,10 +46,10 @@ public class SingleManageEquipEditHandleImpl implements IBizDataChangeHandleStra
return
commonEquipDataProcessService
.
cast2UnderCase
(
re
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
doSave
(
String
record
,
M
odelType
model
,
M
ap
<
String
,
Object
>
changeData
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
this
.
update
(
record
,
changeData
);
public
void
doSave
(
String
record
,
Map
<
String
,
Object
>
changeData
)
{
List
<
FieldChangeMeta
>
allChangeColumns
=
this
.
update
(
record
,
changeData
);
// 记录流水
if
(!
allChangeColumns
.
isEmpty
())
{
// 更新历史的JSON的数据
...
...
@@ -63,16 +59,17 @@ public class SingleManageEquipEditHandleImpl implements IBizDataChangeHandleStra
}
}
private
void
publishEvent2Logger
(
String
record
,
List
<
ChangeDataDto
>
allChangeColumns
)
{
private
void
publishEvent2Logger
(
String
record
,
List
<
FieldChangeMeta
>
allChangeColumns
)
{
BizRelationDataDto
relationDataDto
=
new
BizRelationDataDto
();
relationDataDto
.
setBizId
(
record
);
relationDataDto
.
setBizType
(
canHandleBizType
()
);
relationDataDto
.
setBizType
(
BIZ_TYPE
);
// 异步记录日志
publisher
.
publish
(
new
ChangeData
Event
(
this
,
relationDataDto
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
publisher
.
publish
(
new
BaseBizDataChange
Event
(
this
,
relationDataDto
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
}
private
List
<
ChangeDataDto
>
update
(
String
record
,
Map
<
String
,
Object
>
changeData
)
{
List
<
ChangeDataDto
>
allChangeColumns
=
new
ArrayList
<>();
private
List
<
FieldChangeMeta
>
update
(
String
record
,
Map
<
String
,
Object
>
changeData
)
{
List
<
FieldChangeMeta
>
allChangeColumns
=
new
ArrayList
<>();
// 新数据解析
EquipRegisterChangeDataDto
registerChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipRegisterChangeDataDto
.
class
);
EquipFactoryChangeDataDto
factoryChangeDataDto
=
commonEquipDataProcessService
.
castMap2Bean
(
changeData
,
EquipFactoryChangeDataDto
.
class
);
...
...
@@ -92,7 +89,7 @@ public class SingleManageEquipEditHandleImpl implements IBizDataChangeHandleStra
}
private
void
buildLogData
(
List
<
ChangeDataDto
>
allChangeColumns
)
{
private
void
buildLogData
(
List
<
FieldChangeMeta
>
allChangeColumns
)
{
allChangeColumns
.
forEach
(
column
->
{
column
.
setBizType
(
"监管端编辑设备信息"
);
});
...
...
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
deleted
100644 → 0
View file @
41b6903e
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jg.api.dto.BizRelationDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.ChangeDataDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationEqDto
;
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.event.ChangeDataEvent
;
import
com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IChangeDataProcessStrategy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
@Service
public
class
UseRegisterDataChangeHandleImpl
implements
IBizDataChangeHandleStrategy
{
private
final
EventPublisher
publisher
;
private
final
UseRegisterUpdateService
useRegisterUpdateService
;
public
final
static
String
BIZ_TYPE
=
"useRegister"
;
public
UseRegisterDataChangeHandleImpl
(
EventPublisher
publisher
,
UseRegisterUpdateService
useRegisterUpdateService
)
{
this
.
publisher
=
publisher
;
this
.
useRegisterUpdateService
=
useRegisterUpdateService
;
}
@Override
public
String
canHandleBizType
()
{
return
BIZ_TYPE
;
}
/**
* 保存
*
* @param applyNo 单据编号
* @param model single, batch
* @param changeData 前端不支持分组-目前为平铺数据结构
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
doSave
(
String
applyNo
,
ModelType
model
,
Map
<
String
,
Object
>
changeData
)
{
// 选择是台套、还是单位办理的方式,进行分类数据的解析
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
List
<
ChangeDataDto
>
allChangeColumns
=
dataProcessor
.
handle
(
changeData
,
applyNo
);
if
(!
allChangeColumns
.
isEmpty
())
{
// 更新历史的JSON的数据
this
.
updateHistoryJson
(
applyNo
);
this
.
buildLogData
(
allChangeColumns
);
publishEvent2Logger
(
applyNo
,
allChangeColumns
);
}
}
private
void
publishEvent2Logger
(
String
applyNo
,
List
<
ChangeDataDto
>
allChangeColumns
)
{
List
<
JgUseRegistrationEqDto
>
eqDtos
=
useRegisterUpdateService
.
useRegistrationEqService
.
getBaseMapper
().
queryEqListByApplyNo
(
applyNo
);
BizRelationDataDto
bizRelationDataDto
=
new
BizRelationDataDto
();
bizRelationDataDto
.
setBizId
(
applyNo
);
bizRelationDataDto
.
setBizType
(
canHandleBizType
());
bizRelationDataDto
.
setRecords
(
eqDtos
.
stream
().
map
(
JgUseRegistrationEqDto:
:
getEquId
).
collect
(
Collectors
.
toSet
()));
// 异步记录日志
publisher
.
publish
(
new
ChangeDataEvent
(
this
,
bizRelationDataDto
,
allChangeColumns
,
RequestContext
.
cloneRequestContext
()));
}
private
void
updateHistoryJson
(
String
applyNo
)
{
useRegisterUpdateService
.
updateHisData
(
applyNo
);
}
private
void
buildLogData
(
List
<
ChangeDataDto
>
allChangeColumns
)
{
allChangeColumns
.
forEach
(
column
->
{
column
.
setBizType
(
"使用登记"
);
});
}
@Override
public
Map
<
String
,
?>
getDetail
(
String
applyNo
,
ModelType
model
,
String
bizId
)
{
IChangeDataProcessStrategy
dataProcessor
=
DataProcessStrategyContext
.
getStrategy
(
model
);
// 兼容:台套类打开变更详情(使用applyNo) 和 单位办理批量时选择单个设备打开详情(使用record)
return
dataProcessor
.
getDetail
(
applyNo
,
bizId
);
}
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgConstructionInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
...
...
@@ -19,56 +23,58 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_construction_info"
)
public
class
IdxBizJgConstructionInfo
extends
TzsBaseEntity
{
@Group
(
"idx_biz_jg_construction_info"
)
public
class
IdxBizJgConstructionInfo
extends
TzsBaseEntity
implements
IBaseChangeData
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"CONSTRUCTION_TYPE\""
)
@TableField
(
"\"CONSTRUCTION_TYPE\""
)
private
String
constructionType
;
/**
*
*/
@TableField
(
"\"USC_UNIT_CREDIT_CODE\""
)
@TableField
(
"\"USC_UNIT_CREDIT_CODE\""
)
private
String
uscUnitCreditCode
;
/**
* 施工单位名称
*/
@TableField
(
"\"USC_UNIT_NAME\""
)
@TableField
(
"\"USC_UNIT_NAME\""
)
@FieldDisplayDefine
(
value
=
"施工单位名称"
)
private
String
uscUnitName
;
/**
* 施工
时间
* 施工
日期
*/
@TableField
(
"\"USC_DATE\""
)
@TableField
(
"\"USC_DATE\""
)
@FieldDisplayDefine
(
value
=
"施工日期"
)
private
Date
uscDate
;
/**
*
*/
@TableField
(
"\"SEQUENCE_CODE\""
)
@TableField
(
"\"SEQUENCE_CODE\""
)
private
String
sequenceCode
;
@TableField
(
exist
=
false
)
...
...
@@ -98,31 +104,35 @@ public class IdxBizJgConstructionInfo extends TzsBaseEntity {
* 施工负责人
*/
@TableField
(
value
=
"\"CONSTRUCTION_LEADER_NAME\""
)
@FieldDisplayDefine
(
value
=
"施工负责人"
)
private
String
constructionLeaderName
;
/**
* 施工负责人手机
*/
@TableField
(
value
=
"\"CONSTRUCTION_LEADER_PHONE\""
)
@FieldDisplayDefine
(
value
=
"施工负责人手机"
)
private
String
constructionLeaderPhone
;
/**
* 施工委托书
图片
* 施工委托书
附件
*/
@TableField
(
value
=
"\"PROXY_STATEMENT_ATTACHMENT\""
)
@FieldDisplayDefine
(
value
=
"施工委托书附件"
,
type
=
JSON
.
class
)
private
String
proxyStatementAttachment
;
/**
* 施工合同照片
*/
@TableField
(
value
=
"\"CONSTRUCTION_CONTRACT_ATTACHMENT\""
)
@FieldDisplayDefine
(
value
=
"施工合同附件"
,
type
=
JSON
.
class
)
private
String
constructionContractAttachment
;
/**
* 其他附件
*/
@FieldDisplayDefine
(
value
=
"其他附件"
,
type
=
JSON
.
class
)
@TableField
(
value
=
"\"CONSTRUCTION_OTHER_ACCESSORIES\""
)
private
String
constructionOtherAccessories
;
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgFactoryInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
...
...
@@ -7,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -25,6 +28,7 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_factory_info"
)
@Group
(
value
=
"idx_biz_jg_factory_info"
)
public
class
IdxBizJgFactoryInfo
extends
TzsBaseEntity
{
...
...
@@ -51,60 +55,70 @@ public class IdxBizJgFactoryInfo extends TzsBaseEntity {
*
*/
@TableField
(
"\"PRODUCE_UNIT_CREDIT_CODE\""
)
@FieldDisplayDefine
(
value
=
"制造单位统一社会信用代码"
)
private
String
produceUnitCreditCode
;
/**
*
*/
@TableField
(
"\"PRODUCE_UNIT_NAME\""
)
@FieldDisplayDefine
(
value
=
"制造单位名称"
)
private
String
produceUnitName
;
/**
*
*/
@TableField
(
"\"PRODUCE_LICENSE_NUM\""
)
@FieldDisplayDefine
(
value
=
"制造许可编号"
)
private
String
produceLicenseNum
;
/**
*
*/
@TableField
(
"\"FACTORY_NUM\""
)
@FieldDisplayDefine
(
value
=
"出厂编号/产品编号"
)
private
String
factoryNum
;
/**
*
*/
@TableField
(
"\"PRODUCE_DATE\""
)
@FieldDisplayDefine
(
value
=
"制造日期"
)
private
Date
produceDate
;
/**
*
*/
@TableField
(
"\"IMPORTED\""
)
@FieldDisplayDefine
(
value
=
"是否进口"
)
private
String
imported
;
/**
*
*/
@TableField
(
"\"PRODUCE_COUNTRY\""
)
@FieldDisplayDefine
(
value
=
"制造国"
)
private
String
produceCountry
;
/**
*
*/
@TableField
(
"\"FACTORY_STANDARD\""
)
@FieldDisplayDefine
(
value
=
"制造标准"
,
type
=
JSON
.
class
)
private
String
factoryStandard
;
/**
*
*/
@TableField
(
"\"PRODUCT_QUALITY_YIELD_PROVE\""
)
@FieldDisplayDefine
(
value
=
"产品质量合格证"
,
type
=
JSON
.
class
)
private
String
productQualityYieldProve
;
/**
*
*/
@TableField
(
"\"INS_USE_MAINTAIN_EXPLAIN\""
)
@FieldDisplayDefine
(
value
=
"安装及使用维护保养说明"
,
type
=
JSON
.
class
)
private
String
insUseMaintainExplain
;
/**
...
...
@@ -132,6 +146,7 @@ public class IdxBizJgFactoryInfo extends TzsBaseEntity {
* */
@TableField
(
value
=
"\"FACT_SUPERVISION_INSPECTION_REPORT\""
)
@FieldDisplayDefine
(
value
=
"制造监督检验报告"
,
type
=
JSON
.
class
)
private
String
factSupervisionInspectionReport
;
...
...
@@ -140,6 +155,7 @@ public class IdxBizJgFactoryInfo extends TzsBaseEntity {
*/
@TableField
(
value
=
"\"BOILER_ENERGY_EFFICIENCY_CERTIFICATE\""
)
@FieldDisplayDefine
(
value
=
"锅炉能效证明文件"
,
type
=
JSON
.
class
)
private
String
boilerEnergyEfficiencyCertificate
;
...
...
@@ -147,6 +163,7 @@ public class IdxBizJgFactoryInfo extends TzsBaseEntity {
* 资料是否完整齐全:1-齐全;2-不齐全【历史无证设备需要】
*/
@TableField
(
"\"FACTORY_IS_COMPLETE\""
)
@FieldDisplayDefine
(
value
=
"制造资料是否完整齐全"
)
private
String
factoryIsComplete
;
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgInspectionDetectionInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
...
...
@@ -19,98 +23,107 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_inspection_detection_info"
)
public
class
IdxBizJgInspectionDetectionInfo
extends
TzsBaseEntity
{
@Group
(
"idx_biz_jg_inspection_detection_info"
)
public
class
IdxBizJgInspectionDetectionInfo
extends
TzsBaseEntity
implements
IBaseChangeData
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"INSPECT_TYPE\""
)
@TableField
(
"\"INSPECT_TYPE\""
)
@FieldDisplayDefine
(
value
=
"检验类型"
)
private
String
inspectType
;
/**
*
*/
@TableField
(
"\"INSPECT_ORG_CODE\""
)
@FieldDisplayDefine
(
value
=
"检验机构统一信用代码"
)
private
String
inspectOrgCode
;
/**
*
*/
@TableField
(
"\"INSPECT_ORG_NAME\""
)
@TableField
(
"\"INSPECT_ORG_NAME\""
)
@FieldDisplayDefine
(
value
=
"检验机构名称"
)
private
String
inspectOrgName
;
/**
*
*/
@TableField
(
"\"INSPECT_REPORT\""
)
@TableField
(
"\"INSPECT_REPORT\""
)
@FieldDisplayDefine
(
value
=
"检验报告"
,
type
=
JSON
.
class
)
private
String
inspectReport
;
/**
*
*/
@TableField
(
"\"INSPECT_STAFF\""
)
@TableField
(
"\"INSPECT_STAFF\""
)
private
String
inspectStaff
;
/**
*
*/
@TableField
(
"\"INSPECT_DATE\""
)
@TableField
(
"\"INSPECT_DATE\""
)
@FieldDisplayDefine
(
value
=
"检验日期"
)
private
Date
inspectDate
;
/**
*
*/
@TableField
(
"\"INSPECT_CONCLUSION\""
)
@TableField
(
"\"INSPECT_CONCLUSION\""
)
@FieldDisplayDefine
(
value
=
"检验结论"
)
private
String
inspectConclusion
;
/**
*
*/
@TableField
(
"\"SAFETY_LEVEL\""
)
@TableField
(
"\"SAFETY_LEVEL\""
)
private
String
safetyLevel
;
/**
*
*/
@TableField
(
"\"PROBLEM_REMARK\""
)
@TableField
(
"\"PROBLEM_REMARK\""
)
private
String
problemRemark
;
/**
*
*/
@TableField
(
"\"NEXT_INSPECT_DATE\""
)
@TableField
(
"\"NEXT_INSPECT_DATE\""
)
@FieldDisplayDefine
(
value
=
"下次检验日期"
)
private
Date
nextInspectDate
;
/**
*
*/
@TableField
(
"\"SEQUENCE_CODE\""
)
@TableField
(
"\"SEQUENCE_CODE\""
)
private
String
sequenceCode
;
/**
*
*/
@TableField
(
"\"INSPECT_REPORT_NO\""
)
@FieldDisplayDefine
(
value
=
"检验报告编号"
)
private
String
inspectReportNo
;
@TableField
(
exist
=
false
)
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgMaintenanceRecordInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
...
...
@@ -19,78 +23,87 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_maintenance_record_info"
)
public
class
IdxBizJgMaintenanceRecordInfo
extends
TzsBaseEntity
{
@Group
(
"idx_biz_jg_maintenance_record_info"
)
public
class
IdxBizJgMaintenanceRecordInfo
extends
TzsBaseEntity
implements
IBaseChangeData
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"ME_UNIT_CREDIT_CODE\""
)
@TableField
(
"\"ME_UNIT_CREDIT_CODE\""
)
@FieldDisplayDefine
(
value
=
"维保单位统一信用代码"
)
private
String
meUnitCreditCode
;
/**
*
*/
@TableField
(
"\"ME_UNIT_NAME\""
)
@TableField
(
"\"ME_UNIT_NAME\""
)
@FieldDisplayDefine
(
value
=
"维保单位名称"
)
private
String
meUnitName
;
/**
* 维保备案合同
*/
@TableField
(
"\"REPAIR_INFORM\""
)
@TableField
(
"\"REPAIR_INFORM\""
)
@FieldDisplayDefine
(
value
=
"维保备案合同附件"
,
type
=
JSON
.
class
)
private
String
repairInform
;
/**
* 维保合同开始日期
*/
@TableField
(
"\"INFORM_START\""
)
@TableField
(
"\"INFORM_START\""
)
@FieldDisplayDefine
(
value
=
"维保合同开始日期"
)
private
Date
informStart
;
/**
* 维保合同结束日期
*/
@TableField
(
"\"INFORM_END\""
)
@TableField
(
"\"INFORM_END\""
)
@FieldDisplayDefine
(
value
=
"维保合同结束日期"
)
private
Date
informEnd
;
/**
*维保负责人1姓名
*/
@TableField
(
"\"ME_MASTER\""
)
@TableField
(
"\"ME_MASTER\""
)
@FieldDisplayDefine
(
value
=
"维保负责人1姓名"
)
private
String
meMaster
;
/**
*维保负责人1身份证
*/
@TableField
(
"\"ME_MASTER_ID\""
)
@TableField
(
"\"ME_MASTER_ID\""
)
@FieldDisplayDefine
(
value
=
"维保负责人1身份证"
)
private
String
meMasterId
;
/**
*维保负责人1电话
*/
@TableField
(
"\"ME_MASTER_PHONE\""
)
@TableField
(
"\"ME_MASTER_PHONE\""
)
@FieldDisplayDefine
(
value
=
"维保负责人1电话"
)
private
String
meMasterPhone
;
...
...
@@ -98,6 +111,7 @@ public class IdxBizJgMaintenanceRecordInfo extends TzsBaseEntity {
*维保负责人2姓名
*/
@TableField
(
"\"ME_MASTER1\""
)
@FieldDisplayDefine
(
value
=
"维保负责人2姓名"
)
private
String
meMaster1
;
...
...
@@ -105,43 +119,45 @@ public class IdxBizJgMaintenanceRecordInfo extends TzsBaseEntity {
*维保负责人2身份证
*/
@TableField
(
"\"ME_MASTER1_ID\""
)
@FieldDisplayDefine
(
value
=
"维保负责人2身份证"
)
private
String
meMaster1Id
;
/**
*维保负责人2电话
*/
@FieldDisplayDefine
(
value
=
"维保负责人2电话"
)
@TableField
(
"\"ME_MASTER1_PHONE\""
)
private
String
meMaster1Phone
;
/**
*
*/
@TableField
(
"\"EMERGENCYCALL\""
)
@TableField
(
"\"EMERGENCYCALL\""
)
private
String
emergencycall
;
/**
*
*/
@TableField
(
"\"ME_CYCLE\""
)
@TableField
(
"\"ME_CYCLE\""
)
private
String
meCycle
;
/**
*
*/
@TableField
(
"\"OVERHAUL_CYCLE\""
)
@TableField
(
"\"OVERHAUL_CYCLE\""
)
private
String
overhaulCycle
;
/**
*
*/
@TableField
(
"\"ME24_TELEPHONE\""
)
@TableField
(
"\"ME24_TELEPHONE\""
)
private
String
me24Telephone
;
/**
*
*/
@TableField
(
"\"SEQUENCE_CODE\""
)
@TableField
(
"\"SEQUENCE_CODE\""
)
private
String
sequenceCode
;
@TableField
(
exist
=
false
)
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgRegisterInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -17,52 +20,54 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_register_info"
)
@Group
(
value
=
"idx_biz_jg_register_info"
)
public
class
IdxBizJgRegisterInfo
extends
TzsBaseEntity
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"ORGANIZATION_CODE\""
)
@TableField
(
"\"ORGANIZATION_CODE\""
)
private
String
organizationCode
;
/**
*
*/
@TableField
(
"\"ORGANIZATION_NAME\""
)
@TableField
(
"\"ORGANIZATION_NAME\""
)
private
String
organizationName
;
/**
*
*/
@TableField
(
"\"USE_ORG_CODE\""
)
@TableField
(
"\"USE_ORG_CODE\""
)
@FieldDisplayDefine
(
value
=
"使用登记证编号"
)
private
String
useOrgCode
;
/**
*
*/
@TableField
(
"\"REGISTER_STATE\""
)
@TableField
(
"\"REGISTER_STATE\""
)
private
String
registerState
;
...
...
@@ -70,103 +75,111 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
* 设备代码类型手工输入(1)、系统自动生成(2)
*/
@TableField
(
"\"EQU_CODE_TYPE\""
)
private
String
equCodeType
;
@FieldDisplayDefine
(
value
=
"设备代码类型"
)
private
String
equCodeType
;
/**
* 设备代码
*/
@TableField
(
"\"EQU_CODE\""
)
@TableField
(
"\"EQU_CODE\""
)
@FieldDisplayDefine
(
value
=
"设备代码"
)
private
String
equCode
;
/**
*
*/
@TableField
(
"\"EQU_LIST\""
)
@TableField
(
"\"EQU_LIST\""
)
private
String
equList
;
/**
*
*/
@TableField
(
"\"EQU_CATEGORY\""
)
@TableField
(
"\"EQU_CATEGORY\""
)
private
String
equCategory
;
/**
*
*/
@TableField
(
"\"EQU_DEFINE\""
)
@TableField
(
"\"EQU_DEFINE\""
)
@FieldDisplayDefine
(
value
=
"设备品种"
)
private
String
equDefine
;
/**
*
*/
@TableField
(
"\"PRODUCT_NAME\""
)
@TableField
(
"\"PRODUCT_NAME\""
)
@FieldDisplayDefine
(
value
=
"产品名称"
)
private
String
productName
;
/**
*
*/
@TableField
(
"\"BRAND_NAME\""
)
@TableField
(
"\"BRAND_NAME\""
)
private
String
brandName
;
/**
*
*/
@TableField
(
"\"EQU_TYPE\""
)
@TableField
(
"\"EQU_TYPE\""
)
@FieldDisplayDefine
(
value
=
"设备型号"
)
private
String
equType
;
/**
*
*/
@TableField
(
"\"EQU_PRICE\""
)
@TableField
(
"\"EQU_PRICE\""
)
@FieldDisplayDefine
(
value
=
"设备总价值(万元)"
)
private
String
equPrice
;
/**
*
*/
@TableField
(
"\"USE_REGISTRATION_CERTIFICATE\""
)
@TableField
(
"\"USE_REGISTRATION_CERTIFICATE\""
)
private
String
useRegistrationCertificate
;
/**
*
*/
@TableField
(
"\"USE_SIGN\""
)
@TableField
(
"\"USE_SIGN\""
)
private
String
useSign
;
/**
*
*/
@TableField
(
"\"PRODUCT_PHOTO\""
)
@TableField
(
"\"PRODUCT_PHOTO\""
)
@FieldDisplayDefine
(
value
=
"产品照片(可上传产品铭牌)"
,
type
=
JSON
.
class
)
private
String
productPhoto
;
/**
*
*/
@TableField
(
"\"CAR_NUMBER\""
)
@TableField
(
"\"CAR_NUMBER\""
)
private
String
carNumber
;
/**
*
*/
@TableField
(
"\"FRAME_NUMBER\""
)
@TableField
(
"\"FRAME_NUMBER\""
)
private
String
frameNumber
;
/**
*
*/
@TableField
(
"\"ENGINE_NUMBER\""
)
@TableField
(
"\"ENGINE_NUMBER\""
)
private
String
engineNumber
;
/**
*
*/
@TableField
(
"\"MOTOR_NUMBER\""
)
@TableField
(
"\"MOTOR_NUMBER\""
)
private
String
motorNumber
;
/**
*
*/
@TableField
(
"\"OTHER_ACCESSORIES_REG\""
)
@TableField
(
"\"OTHER_ACCESSORIES_REG\""
)
@FieldDisplayDefine
(
value
=
"其他附件"
,
type
=
JSON
.
class
)
private
String
otherAccessoriesReg
;
/**
...
...
@@ -174,7 +187,7 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
* 1:是
* 0:不是
*/
@TableField
(
"\"WHETHER_VEHICLE_CYLINDER\""
)
@TableField
(
"\"WHETHER_VEHICLE_CYLINDER\""
)
private
String
whetherVehicleCylinder
;
/**
...
...
@@ -207,6 +220,7 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
* 2:其他
*/
@TableField
(
"\"CYLINDER_CATEGORY\""
)
@FieldDisplayDefine
(
value
=
"气瓶类别"
)
private
String
cylinderCategory
;
...
...
@@ -220,6 +234,7 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
* 安装资料是否完整齐全:1-齐全;2-不齐全【历史无证设备需要】
*/
@TableField
(
"\"INSTALLATION_IS_COMPLETE\""
)
@FieldDisplayDefine
(
value
=
"安装资料是否完整齐全"
)
private
String
installationIsComplete
;
/**
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgSupervisionInfo.java
View file @
0d10d721
...
...
@@ -2,7 +2,10 @@ package com.yeejoin.amos.boot.module.ymt.api.entity;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
...
...
@@ -17,64 +20,68 @@ import lombok.experimental.Accessors;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_supervision_info"
)
public
class
IdxBizJgSupervisionInfo
extends
TzsBaseEntity
{
@Group
(
"idx_biz_jg_supervision_info"
)
public
class
IdxBizJgSupervisionInfo
extends
TzsBaseEntity
implements
IBaseChangeData
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"ORG_BRANCH_CODE\""
)
@FieldDisplayDefine
(
value
=
"管辖分局组织机构代码"
)
@TableField
(
"\"ORG_BRANCH_CODE\""
)
private
String
orgBranchCode
;
/**
* * 公司/组织机构代码
* */
@TableField
(
value
=
"\"COMPANY_ORG_BRANCH_CODE\""
)
@FieldDisplayDefine
(
value
=
"公司/组织机构代码"
)
private
String
companyOrgBranchCode
;
/**
*
*/
@TableField
(
"\"ORG_BRANCH_NAME\""
)
@TableField
(
"\"ORG_BRANCH_NAME\""
)
@FieldDisplayDefine
(
value
=
"管辖分局名称"
)
private
String
orgBranchName
;
/**
*
*/
@TableField
(
"\"KEY_MONITORING_EQU\""
)
@TableField
(
"\"KEY_MONITORING_EQU\""
)
private
String
keyMonitoringEqu
;
/**
*
*/
@TableField
(
"\"DENSELY_POPULATED_AREAS\""
)
@TableField
(
"\"DENSELY_POPULATED_AREAS\""
)
private
String
denselyPopulatedAreas
;
/**
*
*/
@TableField
(
"\"IMPORTANT_PLACES\""
)
@TableField
(
"\"IMPORTANT_PLACES\""
)
private
String
importantPlaces
;
}
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/entity/IdxBizJgUseInfo.java
View file @
0d10d721
package
com
.
yeejoin
.
amos
.
boot
.
module
.
ymt
.
api
.
entity
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine
;
import
com.yeejoin.amos.boot.biz.common.annotation.Group
;
import
com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity
;
import
com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
...
...
@@ -19,207 +23,224 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"idx_biz_jg_use_info"
)
public
class
IdxBizJgUseInfo
extends
TzsBaseEntity
{
@Group
(
value
=
"idx_biz_jg_use_info"
)
public
class
IdxBizJgUseInfo
extends
TzsBaseEntity
implements
IBaseChangeData
{
/**
*
*/
@TableField
(
"\"RECORD\""
)
@TableField
(
"\"RECORD\""
)
private
String
record
;
/**
*
*/
@TableField
(
"\"INSTANCE_ID\""
)
@TableField
(
"\"INSTANCE_ID\""
)
private
String
instanceId
;
/**
*
*/
@TableField
(
"\"STATUS\""
)
@TableField
(
"\"STATUS\""
)
private
String
status
;
/**
*
*/
@TableField
(
"\"USE_UNIT_CREDIT_CODE\""
)
@TableField
(
"\"USE_UNIT_CREDIT_CODE\""
)
@FieldDisplayDefine
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCreditCode
;
/**
*
*/
@TableField
(
"\"USE_UNIT_NAME\""
)
@TableField
(
"\"USE_UNIT_NAME\""
)
@FieldDisplayDefine
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
/**
*
*/
@TableField
(
"\"ESTATE_UNIT_CREDIT_CODE\""
)
@TableField
(
"\"ESTATE_UNIT_CREDIT_CODE\""
)
@FieldDisplayDefine
(
value
=
"产权单位统一信用代码"
)
private
String
estateUnitCreditCode
;
/**
*
*/
@TableField
(
"\"ESTATE_UNIT_NAME\""
)
@TableField
(
"\"ESTATE_UNIT_NAME\""
)
@FieldDisplayDefine
(
value
=
"产权单位名称"
)
private
String
estateUnitName
;
/**
*
*/
@TableField
(
"\"USE_STATE_CHANGE_DATE\""
)
@TableField
(
"\"USE_STATE_CHANGE_DATE\""
)
private
String
useStateChangeDate
;
/**
*
*/
@TableField
(
"\"CHANGES\""
)
@TableField
(
"\"CHANGES\""
)
private
String
changes
;
/**
*
*/
@TableField
(
"\"USE_INNER_CODE\""
)
@TableField
(
"\"USE_INNER_CODE\""
)
@FieldDisplayDefine
(
value
=
"使用内部编号"
)
private
String
useInnerCode
;
/**
*
*/
@TableField
(
"\"USE_DATE\""
)
@TableField
(
"\"USE_DATE\""
)
@FieldDisplayDefine
(
value
=
"投用日期"
)
private
String
useDate
;
/**
*
*/
@TableField
(
"\"AGENT\""
)
@TableField
(
"\"AGENT\""
)
private
String
agent
;
/**
*
*/
@TableField
(
"\"PROVINCE\""
)
@TableField
(
"\"PROVINCE\""
)
@FieldDisplayDefine
(
value
=
"省份行政区划"
)
private
String
province
;
/**
*
*/
@TableField
(
"\"CITY\""
)
@TableField
(
"\"CITY\""
)
@FieldDisplayDefine
(
value
=
"地市行政区划"
)
private
String
city
;
/**
*
*/
@TableField
(
"\"COUNTY\""
)
@TableField
(
"\"COUNTY\""
)
@FieldDisplayDefine
(
value
=
"区县行政区划"
)
private
String
county
;
/**
*
*/
@TableField
(
"\"FACTORY_USE_SITE_STREET\""
)
@TableField
(
"\"FACTORY_USE_SITE_STREET\""
)
@FieldDisplayDefine
(
value
=
"街道行政区划"
)
private
String
factoryUseSiteStreet
;
/**
*
*/
@TableField
(
"\"ADDRESS\""
)
@TableField
(
"\"ADDRESS\""
)
@FieldDisplayDefine
(
value
=
"详细地址"
)
private
String
address
;
/**
*
*/
@TableField
(
"\"LONGITUDE_LATITUDE\""
)
@TableField
(
"\"LONGITUDE_LATITUDE\""
)
@FieldDisplayDefine
(
value
=
"经纬度"
,
type
=
JSON
.
class
)
private
String
longitudeLatitude
;
/**
*
*/
@TableField
(
"\"USE_PLACE\""
)
@TableField
(
"\"USE_PLACE\""
)
@FieldDisplayDefine
(
value
=
"使用场所"
)
private
String
usePlace
;
/**
*
*/
@TableField
(
"\"EQU_MANAGE_DT\""
)
@TableField
(
"\"EQU_MANAGE_DT\""
)
private
String
equManageDt
;
/**
*
*/
@TableField
(
"\"SAFETY_MANAGE_DT\""
)
@TableField
(
"\"SAFETY_MANAGE_DT\""
)
private
String
safetyManageDt
;
/**
*
*/
@TableField
(
"\"SAFETY_MANAGER\""
)
@FieldDisplayDefine
(
value
=
"安管理员名称"
)
@TableField
(
"\"SAFETY_MANAGER\""
)
private
String
safetyManager
;
/**
*
*/
@TableField
(
"\"PHONE\""
)
@FieldDisplayDefine
(
value
=
"安管理员电话"
)
@TableField
(
"\"PHONE\""
)
private
String
phone
;
/**
*
*/
@TableField
(
"\"EQU_STATE\""
)
@TableField
(
"\"EQU_STATE\""
)
private
String
equState
;
/**
*
*/
@TableField
(
"\"PROVINCE_NAME\""
)
@TableField
(
"\"PROVINCE_NAME\""
)
private
String
provinceName
;
/**
*
*/
@TableField
(
"\"CITY_NAME\""
)
@TableField
(
"\"CITY_NAME\""
)
private
String
cityName
;
/**
*
*/
@TableField
(
"\"COUNTY_NAME\""
)
@TableField
(
"\"COUNTY_NAME\""
)
private
String
countyName
;
/**
*
*/
@TableField
(
"\"IS_NOT_ES\""
)
@TableField
(
"\"IS_NOT_ES\""
)
private
String
isNotEs
;
/**
*
*/
@TableField
(
"\"IS_NOT_ELEV\""
)
@TableField
(
"\"IS_NOT_ELEV\""
)
private
String
isNotElev
;
/**
*
创建时间
* 创建时间
*/
@TableField
(
"\"CREATE_DATE\""
)
private
Date
createDate
;
/**
*
认领时间
* 认领时间
*/
@TableField
(
"\"CLAIM_DATE\""
)
private
Date
claimDate
;
/**
*
数据来源(新增:0、导入:1、复制:复制数据的id 、jg:从监管加入的设备)
* 数据来源(新增:0、导入:1、复制:复制数据的id 、jg:从监管加入的设备)
*/
@TableField
(
"\"DATA_SOURCE\""
)
private
String
dataSource
;
/**
*
是否西咸
* 是否西咸
*/
@TableField
(
"\"IS_NOT_XIXIAN\""
)
@FieldDisplayDefine
(
value
=
"是否西咸"
)
private
String
isNotXiXian
;
...
...
@@ -230,13 +251,15 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
*
*/
@TableField
(
"\"SAFETY_MANAGER_ID\""
)
@FieldDisplayDefine
(
value
=
"安全管理员id"
)
private
String
safetyManagerId
;
/**
*
是否是否纳管:true - 已纳管 false-未纳管
* 是否是否纳管:true - 已纳管 false-未纳管
*/
@TableField
(
"\"IS_INTO_MANAGEMENT\""
)
@FieldDisplayDefine
(
value
=
"是否已纳管"
)
private
Boolean
isIntoManagement
;
...
...
@@ -244,6 +267,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 工程装置名称(工业管道使用)
*/
@TableField
(
"\"PROJECT_CONTRAPTION\""
)
@FieldDisplayDefine
(
value
=
"工程装置名称(工业管道使用)"
)
private
String
projectContraption
;
...
...
@@ -251,6 +275,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原使用登记证附件
*/
@TableField
(
"\"OLD_USE_REGISTRATION_CERTIFICATE\""
)
@FieldDisplayDefine
(
value
=
"原使用登记证附件"
)
private
String
oldUseRegistrationCertificate
;
...
...
@@ -258,6 +283,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原使用登记表附件
*/
@TableField
(
"\"OLD_USE_REGISTRATION_TABLE\""
)
@FieldDisplayDefine
(
value
=
"原使用登记表附件"
)
private
String
oldUseRegistrationTable
;
...
...
@@ -265,6 +291,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原登记机关
*/
@TableField
(
"\"O_REG_UNIT\""
)
@FieldDisplayDefine
(
value
=
"原登记机关"
)
private
String
oRegUnit
;
...
...
@@ -272,6 +299,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 历史设备-原登记日期
*/
@TableField
(
"\"O_REG_DATE\""
)
@FieldDisplayDefine
(
value
=
"原登记日期"
)
private
String
oRegDate
;
...
...
@@ -279,11 +307,13 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
* 工程装置ID
*/
@TableField
(
"\"PROJECT_CONTRAPTION_ID\""
)
@FieldDisplayDefine
(
value
=
"工程装置ID"
)
private
String
projectContraptionId
;
/**
* 备注
*/
@TableField
(
"\"REMARK\""
)
@FieldDisplayDefine
(
value
=
"备注"
)
private
String
remark
;
}
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