Add moveToHistory method to CminmsgHstDao interface

This commit is contained in:
zhiqiang feng
2024-02-22 01:17:34 +00:00
parent 5f12f3a31c
commit c419ccc638
2 changed files with 153 additions and 106 deletions
@@ -14,4 +14,6 @@ public interface CminmsgHstDao {
*/ */
public boolean insertToTable(String tableName,List<CminmsgHst> lsCminmsgHsts); public boolean insertToTable(String tableName,List<CminmsgHst> lsCminmsgHsts);
public void moveToHistory()
} }
@@ -19,15 +19,48 @@ 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) {
@@ -88,6 +121,12 @@ public class CminmsgHstDaoImpl implements CminmsgHstDao {
} // end for } // 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 + "("
@@ -115,19 +154,25 @@ public class CminmsgHstDaoImpl implements CminmsgHstDao {
// 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",
// 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.setParameter("CMINMSGS_STATUS", cminmsgHst.getCminmsgsStatus());
// query.executeUpdate(); // query.executeUpdate();
// }//end for // }//end for
// return true; // return true;
// } catch (Exception e) { // } catch (Exception e) {
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();