From 6e2cf15fa9ff7cfb564d207acba190fd4b893d4d Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 30 Jun 2020 13:40:38 +0200 Subject: [PATCH] IDEMPIERE-966 When Order document(Both PO and SO) close, I think that MOrder.closeIt() method should calculate tax again. (#136) --- .../i7.1z/oracle/20130621183000_IDEMPIERE-966.sql | 13 +++++++++++++ .../postgresql/20130621183000_IDEMPIERE-966.sql | 13 +++++++++++++ .../src/org/compiere/model/MOrder.java | 7 +++++++ 3 files changed, 33 insertions(+) create mode 100644 migration/i7.1z/oracle/20130621183000_IDEMPIERE-966.sql create mode 100644 migration/i7.1z/postgresql/20130621183000_IDEMPIERE-966.sql diff --git a/migration/i7.1z/oracle/20130621183000_IDEMPIERE-966.sql b/migration/i7.1z/oracle/20130621183000_IDEMPIERE-966.sql new file mode 100644 index 0000000000..13310eb069 --- /dev/null +++ b/migration/i7.1z/oracle/20130621183000_IDEMPIERE-966.sql @@ -0,0 +1,13 @@ +-- Jun 21, 2013 6:13:10 PM COT +-- IDEMPIERE-966 When Order document(Both PO and SO) close, I think that MOrder.closeIt() method should calculate tax again. +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('E','Error calculating tax',200185,'D','1618f1de-2741-4c84-953d-667cc833b977','Error calculating tax','Y',TO_DATE('2013-06-21 18:13:09','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-06-21 18:13:09','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Jun 21, 2013 6:13:11 PM COT +-- IDEMPIERE-966 When Order document(Both PO and SO) close, I think that MOrder.closeIt() method should calculate tax again. +INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200185 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID) +; + + +SELECT register_migration_script('20130621183000_IDEMPIERE-966.sql') FROM dual +; diff --git a/migration/i7.1z/postgresql/20130621183000_IDEMPIERE-966.sql b/migration/i7.1z/postgresql/20130621183000_IDEMPIERE-966.sql new file mode 100644 index 0000000000..f42249c93c --- /dev/null +++ b/migration/i7.1z/postgresql/20130621183000_IDEMPIERE-966.sql @@ -0,0 +1,13 @@ +-- Jun 21, 2013 6:13:10 PM COT +-- IDEMPIERE-966 When Order document(Both PO and SO) close, I think that MOrder.closeIt() method should calculate tax again. +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('E','Error calculating tax',200185,'D','1618f1de-2741-4c84-953d-667cc833b977','Error calculating tax','Y',TO_TIMESTAMP('2013-06-21 18:13:09','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-06-21 18:13:09','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Jun 21, 2013 6:13:11 PM COT +-- IDEMPIERE-966 When Order document(Both PO and SO) close, I think that MOrder.closeIt() method should calculate tax again. +INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200185 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID) +; + + +SELECT register_migration_script('20130621183000_IDEMPIERE-966.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/compiere/model/MOrder.java b/org.adempiere.base/src/org/compiere/model/MOrder.java index aaf0d65c7f..eb40d16157 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrder.java +++ b/org.adempiere.base/src/org/compiere/model/MOrder.java @@ -2607,6 +2607,13 @@ public class MOrder extends X_C_Order implements DocAction setProcessed(true); setDocAction(DOCACTION_None); + + // IDEMPIERE-966 thanks to Hideaki Hagiwara + if (!calculateTaxTotal()) { + m_processMsg = Msg.getMsg(p_ctx,"Error calculating tax"); + return false; + } + // After Close m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_CLOSE); if (m_processMsg != null)