Add moveToHistory method to CminmsgHstDao interface
This commit is contained in:
@@ -13,5 +13,7 @@ public interface CminmsgHstDao {
|
|||||||
* @return true 成功 false 失败
|
* @return true 成功 false 失败
|
||||||
*/
|
*/
|
||||||
public boolean insertToTable(String tableName,List<CminmsgHst> lsCminmsgHsts);
|
public boolean insertToTable(String tableName,List<CminmsgHst> lsCminmsgHsts);
|
||||||
|
|
||||||
|
public void moveToHistory()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,120 +18,165 @@ public class CminmsgHstDaoImpl implements CminmsgHstDao {
|
|||||||
|
|
||||||
@PersistenceContext
|
@PersistenceContext
|
||||||
private EntityManager entityManager;
|
private EntityManager entityManager;
|
||||||
|
|
||||||
|
private static final String MOVE = "INSERT INTO cminmsgs_hst ("
|
||||||
|
+ "CMINMSGS_ID,"
|
||||||
|
+ "CMINMSGS_CLOB_MSG,"
|
||||||
|
+ "CMINMSGS_DATE_RECEIVED,"
|
||||||
|
+ "CMINMSGS_DATE_PROCESSED,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
|
+ "CMINMSGS_STATUS )" +
|
||||||
|
" SELECT "
|
||||||
|
+ "( CMINMSGS_ID,"
|
||||||
|
+ "CMINMSGS_CLOB_MSG,"
|
||||||
|
+ "CMINMSGS_DATE_RECEIVED,"
|
||||||
|
+ "CMINMSGS_DATE_PROCESSED,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
|
+ "CMINMSGS_STATUS)"
|
||||||
|
+ " FROM cminmsgs src" +
|
||||||
|
" WHERE NOT EXISTS (" +
|
||||||
|
" SELECT 1 FROM cminmsgs_hst hist" +
|
||||||
|
" WHERE hist.CMINMSGS_ID = src.CMINMSGS_ID" +
|
||||||
|
")" +
|
||||||
|
" AND src.CMINMSGS_DATE_RECEIVED < DATE_SUB(NOW(), INTERVAL 1 DAY)";
|
||||||
|
|
||||||
|
private static final String DELETE = "DELETE FROM "
|
||||||
|
+ "cminmsgs "
|
||||||
|
+ "WHERE "
|
||||||
|
+ " CMINMSGS_DATE_RECEIVED < DATE_SUB(NOW(), INTERVAL 1 DAY)";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存到指定的表
|
* 保存到指定的表
|
||||||
|
*
|
||||||
* @return 成功或失败
|
* @return 成功或失败
|
||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public boolean insertToTable(String tableName,List<CminmsgHst> lsCminmsgHsts)
|
public boolean insertToTable(String tableName, List<CminmsgHst> lsCminmsgHsts) {
|
||||||
{
|
if (CollectionUtils.isEmpty(lsCminmsgHsts)) {
|
||||||
if(CollectionUtils.isEmpty(lsCminmsgHsts))
|
|
||||||
{
|
|
||||||
throw new RuntimeException("插入数据库内容不能为空");
|
throw new RuntimeException("插入数据库内容不能为空");
|
||||||
}
|
}
|
||||||
for (CminmsgHst cminmsgHst : lsCminmsgHsts) {
|
for (CminmsgHst cminmsgHst : lsCminmsgHsts) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Check if cminmsgs exist before insert
|
// Check if cminmsgs exist before insert
|
||||||
String checkSqlStr = "SELECT COUNT(*) FROM " + tableName + " WHERE CMINMSGS_ID = :CMINMSGS_ID";
|
String checkSqlStr = "SELECT COUNT(*) FROM " + tableName + " WHERE CMINMSGS_ID = :CMINMSGS_ID";
|
||||||
Query checkQuery = entityManager.createNativeQuery(checkSqlStr);
|
Query checkQuery = entityManager.createNativeQuery(checkSqlStr);
|
||||||
checkQuery.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
checkQuery.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
||||||
Long count = (Long) checkQuery.getSingleResult();
|
Long count = (Long) checkQuery.getSingleResult();
|
||||||
|
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
return true; // cminmsgs already exist, return true
|
return true; // cminmsgs already exist, return true
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert cminmsgs
|
||||||
|
String sqlStr = "INSERT INTO " + tableName + "("
|
||||||
|
+ "CMINMSGS_ID,"
|
||||||
|
+ "CMINMSGS_CLOB_MSG,"
|
||||||
|
+ "CMINMSGS_DATE_RECEIVED,"
|
||||||
|
+ "CMINMSGS_DATE_PROCESSED,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
|
+ "CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
|
+ "CMINMSGS_STATUS) VALUES ("
|
||||||
|
+ ":CMINMSGS_ID,"
|
||||||
|
+ ":CMINMSGS_CLOB_MSG,"
|
||||||
|
+ ":CMINMSGS_DATE_RECEIVED,"
|
||||||
|
+ ":CMINMSGS_DATE_PROCESSED,"
|
||||||
|
+ ":CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
|
+ ":CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
|
+ ":CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
|
+ ":CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
|
+ ":CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
|
+ ":CMINMSGS_STATUS)";
|
||||||
|
|
||||||
|
Query query = entityManager.createNativeQuery(sqlStr);
|
||||||
|
query.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
||||||
|
query.setParameter("CMINMSGS_CLOB_MSG", cminmsgHst.getCminmsgsClobMsg());
|
||||||
|
query.setParameter("CMINMSGS_DATE_RECEIVED", cminmsgHst.getCminmsgsDateReceived());
|
||||||
|
query.setParameter("CMINMSGS_DATE_PROCESSED", cminmsgHst.getCminmsgsDateProcessed());
|
||||||
|
query.setParameter("CMINMSGS_SUBSYSTEM_NAME", cminmsgHst.getCminmsgsSubsystemName());
|
||||||
|
query.setParameter("CMINMSGS_SUBSYSTEM_SEQUENCE", cminmsgHst.getCminmsgsSubsystemSequence());
|
||||||
|
query.setParameter("CMINMSGS_SUBSYSTEM_DATE_SENT", cminmsgHst.getCminmsgsSubsystemDateSent());
|
||||||
|
query.setParameter("CMINMSGS_SUBSYSTEM_SUBTYPE", cminmsgHst.getCminmsgsSubsystemSubtype());
|
||||||
|
query.setParameter("CMINMSGS_SUBSYSTEM_TYPE", cminmsgHst.getCminmsgsSubsystemType());
|
||||||
|
query.setParameter("CMINMSGS_STATUS", cminmsgHst.getCminmsgsStatus());
|
||||||
|
|
||||||
|
query.executeUpdate();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} catch (Exception e) {
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
} // end for
|
||||||
// Insert cminmsgs
|
|
||||||
String sqlStr = "INSERT INTO " + tableName + "("
|
|
||||||
+ "CMINMSGS_ID,"
|
|
||||||
+ "CMINMSGS_CLOB_MSG,"
|
|
||||||
+ "CMINMSGS_DATE_RECEIVED,"
|
|
||||||
+ "CMINMSGS_DATE_PROCESSED,"
|
|
||||||
+ "CMINMSGS_SUBSYSTEM_NAME,"
|
|
||||||
+ "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
|
||||||
+ "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
|
||||||
+ "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
|
||||||
+ "CMINMSGS_SUBSYSTEM_TYPE,"
|
|
||||||
+ "CMINMSGS_STATUS) VALUES ("
|
|
||||||
+ ":CMINMSGS_ID,"
|
|
||||||
+ ":CMINMSGS_CLOB_MSG,"
|
|
||||||
+ ":CMINMSGS_DATE_RECEIVED,"
|
|
||||||
+ ":CMINMSGS_DATE_PROCESSED,"
|
|
||||||
+ ":CMINMSGS_SUBSYSTEM_NAME,"
|
|
||||||
+ ":CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
|
||||||
+ ":CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
|
||||||
+ ":CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
|
||||||
+ ":CMINMSGS_SUBSYSTEM_TYPE,"
|
|
||||||
+ ":CMINMSGS_STATUS)";
|
|
||||||
|
|
||||||
Query query = entityManager.createNativeQuery(sqlStr);
|
|
||||||
query.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
|
||||||
query.setParameter("CMINMSGS_CLOB_MSG", cminmsgHst.getCminmsgsClobMsg());
|
|
||||||
query.setParameter("CMINMSGS_DATE_RECEIVED", cminmsgHst.getCminmsgsDateReceived());
|
|
||||||
query.setParameter("CMINMSGS_DATE_PROCESSED", cminmsgHst.getCminmsgsDateProcessed());
|
|
||||||
query.setParameter("CMINMSGS_SUBSYSTEM_NAME", cminmsgHst.getCminmsgsSubsystemName());
|
|
||||||
query.setParameter("CMINMSGS_SUBSYSTEM_SEQUENCE", cminmsgHst.getCminmsgsSubsystemSequence());
|
|
||||||
query.setParameter("CMINMSGS_SUBSYSTEM_DATE_SENT", cminmsgHst.getCminmsgsSubsystemDateSent());
|
|
||||||
query.setParameter("CMINMSGS_SUBSYSTEM_SUBTYPE", cminmsgHst.getCminmsgsSubsystemSubtype());
|
|
||||||
query.setParameter("CMINMSGS_SUBSYSTEM_TYPE", cminmsgHst.getCminmsgsSubsystemType());
|
|
||||||
query.setParameter("CMINMSGS_STATUS", cminmsgHst.getCminmsgsStatus());
|
|
||||||
|
|
||||||
query.executeUpdate();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
} catch (Exception e) {
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} //end for
|
|
||||||
return true;
|
return true;
|
||||||
} //end function
|
} // end function
|
||||||
|
|
||||||
|
public void moveToHistory() {
|
||||||
|
entityManager.createNativeQuery(MOVE).executeUpdate();
|
||||||
|
|
||||||
|
entityManager.createNativeQuery(DELETE).executeUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// for (CminmsgHst cminmsgHst : lsCminmsgHsts) {
|
// for (CminmsgHst cminmsgHst : lsCminmsgHsts) {
|
||||||
// String sqlStr = "insert into " + tableName + "("
|
// String sqlStr = "insert into " + tableName + "("
|
||||||
// + "CMINMSGS_ID,"
|
// + "CMINMSGS_ID,"
|
||||||
// + "CMINMSGS_CLOB_MSG,"
|
// + "CMINMSGS_CLOB_MSG,"
|
||||||
// + "CMINMSGS_DATE_RECEIVED,"
|
// + "CMINMSGS_DATE_RECEIVED,"
|
||||||
// + "CMINMSGS_DATE_PROCESSED,"
|
// + "CMINMSGS_DATE_PROCESSED,"
|
||||||
// + "CMINMSGS_SUBSYSTEM_NAME,"
|
// + "CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
// + "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
// + "CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
// + "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
// + "CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
// + "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
// + "CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
// + "CMINMSGS_SUBSYSTEM_TYPE,"
|
// + "CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
// + "CMINMSGS_STATUS) values("
|
// + "CMINMSGS_STATUS) values("
|
||||||
// + ":CMINMSGS_ID,"
|
// + ":CMINMSGS_ID,"
|
||||||
// + ":CMINMSGS_CLOB_MSG,"
|
// + ":CMINMSGS_CLOB_MSG,"
|
||||||
// + ":CMINMSGS_DATE_RECEIVED,"
|
// + ":CMINMSGS_DATE_RECEIVED,"
|
||||||
// + ":CMINMSGS_DATE_PROCESSED,"
|
// + ":CMINMSGS_DATE_PROCESSED,"
|
||||||
// + ":CMINMSGS_SUBSYSTEM_NAME,"
|
// + ":CMINMSGS_SUBSYSTEM_NAME,"
|
||||||
// + ":CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
// + ":CMINMSGS_SUBSYSTEM_SEQUENCE,"
|
||||||
// + ":CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
// + ":CMINMSGS_SUBSYSTEM_DATE_SENT,"
|
||||||
// + ":CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
// + ":CMINMSGS_SUBSYSTEM_SUBTYPE,"
|
||||||
// + ":CMINMSGS_SUBSYSTEM_TYPE,"
|
// + ":CMINMSGS_SUBSYSTEM_TYPE,"
|
||||||
// + ":CMINMSGS_STATUS);";
|
// + ":CMINMSGS_STATUS);";
|
||||||
|
|
||||||
// Query query = entityManager.createNativeQuery(sqlStr);
|
// Query query = entityManager.createNativeQuery(sqlStr);
|
||||||
// query.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
// query.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId());
|
||||||
// query.setParameter("CMINMSGS_CLOB_MSG", cminmsgHst.getCminmsgsClobMsg());
|
// query.setParameter("CMINMSGS_CLOB_MSG", cminmsgHst.getCminmsgsClobMsg());
|
||||||
// query.setParameter("CMINMSGS_DATE_RECEIVED", cminmsgHst.getCminmsgsDateReceived());
|
// query.setParameter("CMINMSGS_DATE_RECEIVED",
|
||||||
// query.setParameter("CMINMSGS_DATE_PROCESSED", cminmsgHst.getCminmsgsDateProcessed());
|
// cminmsgHst.getCminmsgsDateReceived());
|
||||||
// query.setParameter("CMINMSGS_SUBSYSTEM_NAME", cminmsgHst.getCminmsgsSubsystemName());
|
// query.setParameter("CMINMSGS_DATE_PROCESSED",
|
||||||
// query.setParameter("CMINMSGS_SUBSYSTEM_SEQUENCE", cminmsgHst.getCminmsgsSubsystemSequence());
|
// cminmsgHst.getCminmsgsDateProcessed());
|
||||||
// query.setParameter("CMINMSGS_SUBSYSTEM_DATE_SENT", cminmsgHst.getCminmsgsSubsystemDateSent());
|
// query.setParameter("CMINMSGS_SUBSYSTEM_NAME",
|
||||||
// query.setParameter("CMINMSGS_SUBSYSTEM_SUBTYPE", cminmsgHst.getCminmsgsSubsystemSubtype());
|
// cminmsgHst.getCminmsgsSubsystemName());
|
||||||
// query.setParameter("CMINMSGS_SUBSYSTEM_TYPE", cminmsgHst.getCminmsgsSubsystemType());
|
// query.setParameter("CMINMSGS_SUBSYSTEM_SEQUENCE",
|
||||||
// query.setParameter("CMINMSGS_STATUS", cminmsgHst.getCminmsgsStatus());
|
// cminmsgHst.getCminmsgsSubsystemSequence());
|
||||||
|
// query.setParameter("CMINMSGS_SUBSYSTEM_DATE_SENT",
|
||||||
// query.executeUpdate();
|
// cminmsgHst.getCminmsgsSubsystemDateSent());
|
||||||
// }//end for
|
// query.setParameter("CMINMSGS_SUBSYSTEM_SUBTYPE",
|
||||||
|
// cminmsgHst.getCminmsgsSubsystemSubtype());
|
||||||
|
// query.setParameter("CMINMSGS_SUBSYSTEM_TYPE",
|
||||||
// return true;
|
// cminmsgHst.getCminmsgsSubsystemType());
|
||||||
// } catch (Exception e) {
|
// query.setParameter("CMINMSGS_STATUS", cminmsgHst.getCminmsgsStatus());
|
||||||
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
// return false;
|
// query.executeUpdate();
|
||||||
// }
|
// }//end for
|
||||||
// } //end function
|
|
||||||
|
// return true;
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// } //end function
|
||||||
// }
|
// }
|
||||||
|
|||||||
Reference in New Issue
Block a user