From 79ddb45ed4e91115dd1288a4c9a9099f0c7205f8 Mon Sep 17 00:00:00 2001 From: zhiqiang feng Date: Tue, 20 Feb 2024 16:03:08 +0800 Subject: [PATCH] upgrade delete --- .../msgexchangeapi/dao/CminmsgHstDaoImpl.java | 135 +++++++++++++----- 1 file changed, 96 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgHstDaoImpl.java b/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgHstDaoImpl.java index ba1ce9de..2e94d997 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgHstDaoImpl.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/dao/CminmsgHstDaoImpl.java @@ -30,51 +30,108 @@ public class CminmsgHstDaoImpl implements CminmsgHstDao { { throw new RuntimeException("插入数据库内容不能为空"); } + for (CminmsgHst cminmsgHst : lsCminmsgHsts) { try { - for (CminmsgHst cminmsgHst : lsCminmsgHsts) { - 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(); - }//end for - + // Check if cminmsgs exist before insert + String checkSqlStr = "SELECT COUNT(*) FROM " + tableName + " WHERE CMINMSGS_ID = :CMINMSGS_ID"; + Query checkQuery = entityManager.createNativeQuery(checkSqlStr); + checkQuery.setParameter("CMINMSGS_ID", cminmsgHst.getCminmsgsId()); + Long count = (Long) checkQuery.getSingleResult(); - return true; + if (count > 0) { + 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 + return true; } //end function } +// for (CminmsgHst cminmsgHst : lsCminmsgHsts) { +// 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(); +// }//end for + + +// return true; +// } catch (Exception e) { +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return false; +// } +// } //end function +// }