dangsn
2024-06-06 33321f5486fd586fda6fd3f46b7e71754fede28b
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.vci.starter.revision.service;
 
import com.vci.starter.revision.model.*;
 
/**
 * 版本处理所需要的sql操作。因为要查询数据库,所以放到dataBase这个starter中
 * @author weidy
 * @date 2020/4/15
 */
public interface VciRevisionServiceI {
 
    /**
     * 获取最后一个版本的信息
     * @param nameOid 对象主键
     * @param tableName 数据库表格
     * @return 最后一个版本信息,它不一定是发布的版本
     */
    RevisionInfo selectLastRevision(String nameOid,String tableName);
 
    /**
     * 获取最后一个版次的信息
     * @param nameOid 对象的主键
     * @param revisionOid 版本的主键
     * @param tableName 数据库表格
     * @return
     */
    RevisionInfo selectLastVersion(String nameOid, String revisionOid,String tableName);
 
    /**
     * 获取已发布的版本的数据值
     * @param nameOid 对象的主键
     * @param btmName 业务类型的名称
     * @param tableName 数据库表格
     * @return 版本信息
     */
    RevisionInfo selectRelease(String nameOid, String btmName, String tableName);
 
    /**
     * 添加发布的数据,如果存在则更新,如果不存在则插入
     * @param releasedObj 发布版本的数据
     * @return 受影响的行数
     */
    int saveReleased(ReleasedObjDO releasedObj);
 
    /**
     * 把最后一个版本重置isLastR
     * @param nameOid 对象的主键
     * @param tableName 表格名称
     * @return 受影响的行数
     */
    int resetLastRevision(String nameOid,String tableName);
 
    /**
     * 重置老版本的isLastR
     * @param oid 老版本的主键
     * @param tableName 表格名称
     * @return 受影响的行数
     */
    int resetOldRevision(String oid,String tableName);
 
    /**
     * 通过老版本的主键来获取版本信息
     * @param copyFromVersion 新版本使用的老版本的主键
     * @param tableName 表格名称
     * @return 版本信息
     */
    RevisionInfo selectByOid(String copyFromVersion,String tableName);
 
    /**
     * 重置以前的最新版次
     * @param nameOid 对象的主键
     * @param revisionOid 版本的主键
     * @param tableName 表格名称
     * @return 受影响的行数
     */
    int resetLastVersion(String nameOid, String revisionOid,String tableName);
 
    /**
     * 重置老版次(它不一定是最新的)
     * @param oid 老版次的主键
     * @param tableName 表格名称
     * @return 受影响的行数
     */
    int resetOldVersion(String oid,String tableName);
 
    /**
     * 查询属性等于某个值的数据条数,常用于判断数据是否重复
     * @param key 属性的名称
     * @param value 属性的值
     * @param tableName 表格的名称
     * @return 个数
     */
    int countByProperties(String key,Object value,String tableName);
 
    /**
     * 查询属性等于某个值并且不是某个主键的数据条数,常用于修改数据时判断数据是否重复
     * @param key 属性的名称
     * @param value 属性的值
     * @param tableName 表格的名称
     * @param oid 主键
     * @return 数据个数
     */
    int countByPropertiesNotIncludeSelf(String key,Object value,String tableName,String oid);
}