|
@@ -709,11 +709,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
public TransactionStatus beginTransaction(DataSourceTransactionManager transactionManager) {
|
|
public TransactionStatus beginTransaction(DataSourceTransactionManager transactionManager) {
|
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();//事务定义类
|
|
DefaultTransactionDefinition def = new DefaultTransactionDefinition();//事务定义类
|
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
|
|
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
|
|
- TransactionStatus status = transactionManager.getTransaction(def);// 返回事务对象
|
|
|
|
- return status;
|
|
|
|
|
|
+ return transactionManager.getTransaction(def);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public R saveOrUpdateInfo(List<TableInfo> tableInfoList) {
|
|
public R saveOrUpdateInfo(List<TableInfo> tableInfoList) {
|
|
|
|
|
|
@@ -2034,22 +2032,23 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
public void saveOrUpdateInfoTrial(List<TableInfo> tableInfoList, Long groupId) {
|
|
public void saveOrUpdateInfoTrial(List<TableInfo> tableInfoList, Long groupId) {
|
|
//试验填报
|
|
//试验填报
|
|
if (ListUtils.isNotEmpty(tableInfoList)) {
|
|
if (ListUtils.isNotEmpty(tableInfoList)) {
|
|
- try {
|
|
|
|
- for (TableInfo tableInfo : tableInfoList) {
|
|
|
|
- WbsTreePrivate wbsTreePrivate = wbsTreePrivateService.getBaseMapper().selectOne(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
|
- .eq(WbsTreePrivate::getPKeyId, tableInfo.getPkeyId()));
|
|
|
|
- if (wbsTreePrivate == null) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- String tabName = wbsTreePrivate.getInitTableName();
|
|
|
|
- //判读修改还是添加
|
|
|
|
- String delSql = "delete from " + tabName + " where p_key_id='" + tableInfo.getPkeyId() + "' and group_id = '" + groupId + "'";
|
|
|
|
- jdbcTemplate.execute(delSql);
|
|
|
|
|
|
+ for (TableInfo tableInfo : tableInfoList) {
|
|
|
|
+ WbsTreePrivate wbsTreePrivate = wbsTreePrivateService.getBaseMapper().selectOne(Wrappers.<WbsTreePrivate>query().lambda()
|
|
|
|
+ .select(WbsTreePrivate::getInitTableName)
|
|
|
|
+ .eq(WbsTreePrivate::getPKeyId, tableInfo.getPkeyId()));
|
|
|
|
+ if (wbsTreePrivate == null || StringUtils.isEmpty(wbsTreePrivate.getInitTableName())) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ //删除SQL
|
|
|
|
+ String delSql = "delete from " + wbsTreePrivate.getInitTableName() + " where p_key_id='" + tableInfo.getPkeyId() + "' and group_id = '" + groupId + "'";
|
|
|
|
|
|
|
|
+ //新增SQL
|
|
String sqlInfo = "";
|
|
String sqlInfo = "";
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
- sqlInfo = "INSERT INTO " + tabName + " ( ";
|
|
|
|
|
|
+ sqlInfo = "INSERT INTO " + wbsTreePrivate.getInitTableName() + " ( ";
|
|
String keyStr = "id,group_id,";
|
|
String keyStr = "id,group_id,";
|
|
String valStr = SnowFlakeUtil.getId() + "," + groupId + ",";
|
|
String valStr = SnowFlakeUtil.getId() + "," + groupId + ",";
|
|
for (String keys : dataMap2.keySet()) {
|
|
for (String keys : dataMap2.keySet()) {
|
|
@@ -2060,10 +2059,23 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
|
|
valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
valStr = valStr.substring(0, valStr.lastIndexOf(","));
|
|
sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
sqlInfo = sqlInfo + keyStr + ") VALUES (" + valStr + ")";
|
|
|
|
|
|
- jdbcTemplate.execute(sqlInfo);
|
|
|
|
|
|
+ TransactionStatus transactionStatus = this.beginTransaction(transactionManager1);
|
|
|
|
+ try {
|
|
|
|
+ //删除
|
|
|
|
+ jdbcTemplate.execute(delSql);
|
|
|
|
+ //新增
|
|
|
|
+ jdbcTemplate.execute(sqlInfo);
|
|
|
|
+ //提交事务
|
|
|
|
+ transactionManager1.commit(transactionStatus);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ //回滚
|
|
|
|
+ transactionManager1.rollback(transactionStatus);
|
|
|
|
+
|
|
|
|
+ throw new ServiceException("字段过长,新增失败");
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
}
|
|
}
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|