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);
|
}
|
}
|
}
|
}
|