刘光辉
117 分钟以前 06f314545ac3514d7ce28939920866ae8188d31c
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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
package jnpf.elnEntity.runtime;
 
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
 
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.Date;
import java.util.Map;
 
@Data
@TableName(value = "eln_formula_calculation_log", autoResultMap = true)
public class ElnFormulaCalculationLogEntity implements Serializable {
    private static final long serialVersionUID = 1L;
 
    @TableId(value = "f_id", type = IdType.INPUT)
    private String id;
    @TableField("dianzi_jilu_id")
    private String dianziJiluId;
    @TableField("xiuding_id")
    private String xiudingId;
    @TableField("muban_gongshi_bangding_id")
    private String mubanGongshiBangdingId;
    @TableField("gongshi_banben_id")
    private String gongshiBanbenId;
    @TableField("jieguo_muban_bangding_id")
    private String jieguoMubanBangdingId;
    @TableField("jieguo_ziduan_banben_id")
    private String jieguoZiduanBanbenId;
    @TableField("jisuan_caozuo_bianma")
    private String jisuanCaozuoBianma;
    @TableField("jisuan_moshi")
    private String jisuanMoshi;
    @TableField("jisuan_zhuangtai")
    private String jisuanZhuangtai;
    @TableField(value = "shuru_kuaizhao", jdbcType = JdbcType.OTHER,
            typeHandler = InputSnapshotTypeHandler.class)
    private Map<String, Object> shuruKuaizhao;
    @TableField("jieguo_wenben")
    private String jieguoWenben;
    @TableField("jieguo_shuzhi")
    private BigDecimal jieguoShuzhi;
    @TableField("shibai_yuanyin")
    private String shibaiYuanyin;
    @TableField("jisuan_shijian")
    private Date jisuanShijian;
    @TableField("f_tenant_id")
    private String fTenantId;
    @Version
    @TableField("f_version")
    private Integer fVersion;
    @TableField(value = "f_creator_user_id", fill = FieldFill.INSERT)
    private String fCreatorUserId;
    @TableField(value = "f_creator_time", fill = FieldFill.INSERT)
    private Date fCreatorTime;
    @TableField(value = "f_last_modify_user_id", fill = FieldFill.INSERT_UPDATE)
    private String fLastModifyUserId;
    @TableField(value = "f_last_modify_time", fill = FieldFill.INSERT_UPDATE)
    private Date fLastModifyTime;
    @TableField("f_delete_user_id")
    private String fDeleteUserId;
    @TableField("f_delete_time")
    private Date fDeleteTime;
    @TableField("f_delete_mark")
    private Integer fDeleteMark;
 
    public static final class InputSnapshotTypeHandler
            extends BaseTypeHandler<Map<String, Object>> {
        private static final ObjectMapper MAPPER = new ObjectMapper();
        private static final TypeReference<Map<String, Object>> TYPE =
                new TypeReference<Map<String, Object>>() { };
 
        @Override
        public void setNonNullParameter(PreparedStatement statement, int index,
                Map<String, Object> parameter, JdbcType jdbcType) throws SQLException {
            try {
                statement.setObject(index, MAPPER.writeValueAsString(parameter), Types.OTHER);
            } catch (Exception ex) {
                throw new SQLException("权威计算输入快照序列化失败", ex);
            }
        }
 
        @Override
        public Map<String, Object> getNullableResult(ResultSet resultSet, String columnName)
                throws SQLException {
            return parse(resultSet.getString(columnName));
        }
 
        @Override
        public Map<String, Object> getNullableResult(ResultSet resultSet, int columnIndex)
                throws SQLException {
            return parse(resultSet.getString(columnIndex));
        }
 
        @Override
        public Map<String, Object> getNullableResult(CallableStatement statement, int columnIndex)
                throws SQLException {
            return parse(statement.getString(columnIndex));
        }
 
        private static Map<String, Object> parse(String json) throws SQLException {
            if (json == null) {
                return null;
            }
            try {
                return MAPPER.readValue(json, TYPE);
            } catch (Exception ex) {
                throw new SQLException("权威计算输入快照解析失败", ex);
            }
        }
    }
}