tiangong-doc tiangong-doc
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
  • 天宫架构

    • 前端架构

    • 后端架构

    • 打包部署

    • 扩展功能

    • 业务组件

      • 内审功能
      • 定时任务
      • 导入
      • 邮件通知配置功能
      • 按模板导出excel
      • 模板导出excel(天宫版)
      • core版本导入
      • 消息通知组件
      • 集成Ueditor
      • 业务日志功能
        • 导入功能
          • 说明
          • 更新包
          • 使用
          • 效果图如下
          • 前端
          • 新增代码
          • 示例代码
          • 后端配置
          • 新增表结构
          • 示例代码
    • 国际化

    • 迁移助手

    • 历史版本

    • 更新日志

    • 开发手册

    • 权限平台

  • 基础架构
  • 天宫架构
  • 业务组件
2024-07-16
目录

业务日志功能

# 导入功能

# 说明

业务日志功能,方便业务系统快速的记录某个表的,某个字段的修改的记录

# 更新包

点击下载:更新包 (opens new window)

# 使用

# 效果图如下

# 前端

# 新增代码

1,增加组件TgHistoryRecord (opens new window),用来获取当前表的当前字段的明细记录的,需要引入到自己的界面

2,页面模型新增方法:page.getHistoryRecord(obj),通过当前传入的obj参数,获取当前界面的字段被修改的次数。

obj对象的内容都是根据后台代码设置的:

obj对象: bizType: 'AppGenEntity', //当前实体

bizField: 'id', //当前实体的唯一键

bizNo:'123',//当前记录的唯一键的值

# 示例代码

1, 在明细界面 在页面加载以后调用:page.getHistoryRecord(obj) 进行获取当前记录的修改数量 在每个字段后面引用组件:TgHistoryRecord,点击显示当前字段具体的修改明细

<template>  
	<div class="tg_page" v-loading="page.data.formLoading">  
	<TgPage ref="tgPage" :page="page" :full-screen="true">  
	<div class="tg_form">  
		<el-descriptions  :column="3"  border  >  
			<el-descriptions-item  label-align="right"  width="180px"  >  
				<template #label>  
					<span>  {{ t('appGen.custCode') }}  </span>  
				</template>  {{ page.data.entity.custCode }}  
				<TgHistoryRecord  :historyParam="{  
										bizType: 'AppGenEntity',  
										bizField:'id',  
										bizNo:page.data.entity.id,  
										entityField:'custCode'  }"  >  
						<p  class="Record"  
				v-if="page.data.historyRecordCount.custCode > 0"  >  
	{{ page.data.historyRecordCount && page.data.historyRecordCount.custCode }}  
						</p>  
				</TgHistoryRecord>  
			</el-descriptions-item>  
  
			<el-descriptions-item  label-align="right"  width="180px"  >  
				<template #label>  
				<span>  {{ t('appGen.name') }}  </span>  
				</template>  
				{{ page.data.entity.name }}  
				<TgHistoryRecord  :historyParam="{  
								bizType: 'AppGenEntity',  
								bizField:'id',  
								bizNo:page.data.entity.id,  
								entityField:'name'  }"  >  
					<p  class="Record"  
					v-if="page.data.historyRecordCount.name > 0"  >  
	{{ page.data.historyRecordCount && page.data.historyRecordCount.name }}  
				</p>  
				</TgHistoryRecord>  
			</el-descriptions-item>  
		</el-descriptions>  
	</div> 
	</TgPage>  
	</div>  
</template>  
  
<script setup name="FrmPageDemoView">  
import EditPage from "@coreEditPage";  
import apis from "@/web/appDemo/apis";  
import {defaultFormProps} from "@componentSetting";  
import {getCurrentInstance, nextTick, ref} from "vue";  
import {t, tm} from "@i18nHelper";  
import {TgHttp} from "@coreHttp";  
  
let {page} = EditPage();  
page.context.name = "FrmPageDemoView";   
page.data.loadApi = apis.appGen.load;  
  
page.data.keyField = "id";  
page.data.title ="明细界面";  
  
page.useEditForm({  
...defaultFormProps,  
});  
  
nextTick(() => {  
page.useDialog();  
});  
  
page.loaded = (response) => {  
	let obj = {  bizType: 'AppGenEntity',  bizField: 'id',  
				bizNo: response.data.id,  }  
	//调用页面模型获取当前表的字段的历史操作数量
	page.getHistoryRecord(obj)  
}  
</script>  
<style lang="less" scoped>  
.Record {  
float: right;  
width: 20px;  
height: 15px;  
text-align: center;  
line-height: 15px;  
color: #fff !important;  
font-size: 10px;  
background-color: red;  
border-radius: 10px;  
cursor: pointer;  
}  
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

# 后端配置

# 新增表结构 (opens new window)

1,新增表TG_HISTORY_RECORD,用于记录业务表的修改记录的次数

2,新增表TG_HISTORY_DETAIL,用于记录业务表的修改记录的明细

# 示例代码

在需要记录日志的方法上面添加注解:

@TgHistoryIntercepts,@HistoryEntity

参数:bizClass:当前实体

参数:bizField:当前实体的唯一键

 @TgHistoryIntercepts({
		@HistoryEntity(bizClass = AppGenEntity.class, bizField = "id"),
})
@Override
public AppGenEntity save(AppGenEntity entity) {
	AppGenEntity appGenEntity;
	if (BllContext.getBusinessType() == BusinessType.INSERT) {
		entity.setCreateTime(new Date());
		entity.setId(EciIdGenerator.generateId());
		appGenEntity = appGenDao.insertOne(entity);
	} else {
		appGenEntity = appGenDao.updateByEntityId(entity);
	}
	return appGenEntity;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

说明:

注解加在需要记录历史的方法上面, 也就说它需要监控update语句

@TgHistoryIntercepts 里面可以配置多个子注解, 表示可以同事监控整个方法内的多张表

@HistoryEntity 用来告诉框架具体的实体的信息, 因为每张表都对应一个实体, bizField也就是业务编号, 也就是查看详情的时候传给后台的那个字段

上次更新: 2024/7/19 09:44:38
集成Ueditor
国际化配置和管理

← 集成Ueditor 国际化配置和管理→

最近更新
01
EciReport模板导出_Core
09-10
02
EciReport模板导出
09-09
03
Core权限平台接口
07-25
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式