1、新增demo案例
/**
* 新增物料信息
* @param _in
* @return
*/
public EiInfo insert(EiInfo _in) {
try {
_in = super.insert(_in);
} catch (Exception e) {
String message = e.getMessage();
if (message.contains("违反唯一约束条件") && (message.contains("MAT_CODE_UN") || message.contains("MAT_CNAME_UN"))) {
// 获取异常中的 sql 语句
String sql = CPUtil.toStr(e.getCause().getCause().getCause().toString().split("OriginalSql =")[1]);
Map<String, String> map = this.insertMap(sql);
// 前提数据库表中,新建约束唯一键(MAT_CODE_UN)
if (message.contains("MAT_CODE_UN")) {
message = "该物料代码【" + map.get("MAT_CODE") + "】已经有配置,不可以重复添加!";
} else if (message.contains("MAT_CNAME_UN")) {
message = "该物料名称【" + map.get("MAT_CNAME") + "】已经有配置,不可以重复添加!";
}
log.error(sql);
log.error(message + map.get("tableName"));
}
_in.setMsg(message);
_in.setStatus(EiConstant.STATUS_FAILURE);
}
return (_in);
}
2、解析 insert 语句
/**
* 解析 insert 语句
* @param sql
* @return {Map}
*/
public static Map<String,String> insertMap(String sql){
Map<String,String> data = new HashMap<>();
try {
String tableName = CPUtil.toStr(sql.substring(sql.indexOf(".") + 1, sql.indexOf("(")));
data.put("tableName", tableName);
String name = sql.split("VALUES")[0];
String value = sql.split("VALUES")[1];
String[] namelist = CPUtil.toStr(name.substring(name.indexOf("(") + 1, name.indexOf(")"))).split(",");
String[] valuelist = CPUtil.toStr(value.substring(value.indexOf("(") + 1, value.indexOf(")"))).split(",");
for (int i = 0; i < namelist.length; i++) {
data.put(CPUtil.toStr(namelist[i].replaceAll(" ","")), CPUtil.toStr(valuelist[i].replaceAll(" ","")));
}
}catch (Exception e){
System.err.println(e.getMessage());
}
return data;
}
3、新增sql语句
String sql = "insert into AGJH.MS_TYLFZ01 (MODIFIER , WORKFLOW_NAME , MODIFIERDISPLAY , TOC , DATAGROUP , MUUID , CREATER , MAT_CODE , WORKFLOW_NODE , MAT_CNAME , TOM , WORKFLOW_ID , TIMESTAMP , TYPE , CREATERDISPLAY ) VALUES ( 17883102 , , 鞍钢质计组1 , 2021-12-25 16:11:25 , , 4510219a130b4153bda570079e301adc , 17883102 , A0000258 , , 介休义棠瘦焦煤 , 2021-12-25 16:11:25 , , 1640419885752 , 矿 , 鞍钢质计组1 )";
4、前提条件

© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...





