details: https://code.openbravo.com/erp/devel/pi/rev/2711fe8a20bc changeset: 29711:2711fe8a20bc user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Wed Jun 29 12:40:27 2016 +0200 summary: Related to issue 33063: Enable Organization type orgs in Reset Accounting
diffstat: src-db/database/sourcedata/OBUISEL_SELECTOR.xml | 2 +- src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml | 44 +++++++++++++++++++ src/org/openbravo/financial/ResetAccounting.java | 15 +++--- 3 files changed, 53 insertions(+), 8 deletions(-) diffs (122 lines): diff -r 414e75b699ca -r 2711fe8a20bc src-db/database/sourcedata/OBUISEL_SELECTOR.xml --- a/src-db/database/sourcedata/OBUISEL_SELECTOR.xml Tue Jun 28 14:03:32 2016 +0000 +++ b/src-db/database/sourcedata/OBUISEL_SELECTOR.xml Wed Jun 29 12:40:27 2016 +0200 @@ -92,7 +92,7 @@ <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <NAME><![CDATA[Legal or Business Organizations Selector]]></NAME> <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <AD_REFERENCE_ID><![CDATA[C205D56B07D74778A6D6A1AED8467690]]></AD_REFERENCE_ID> <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <AD_TABLE_ID><![CDATA[155]]></AD_TABLE_ID> -<!--1DB80A7D4BC244F0BE5615702D3BF91C--> <WHERECLAUSE><![CDATA[(e.id='0' OR exists (select 1 from OrganizationType ot where ot.id = e.organizationType.id and (ot.legalEntity=true or ot.businessUnit=true))) AND e.ready=true]]></WHERECLAUSE> +<!--1DB80A7D4BC244F0BE5615702D3BF91C--> <WHERECLAUSE><![CDATA[exists (select 1 from OrganizationType ot where ot.id = e.organizationType.id and (ot.legalEntity=true or ot.businessUnit=true or ot.name='Organization')) AND e.ready=true]]></WHERECLAUSE> <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <OBCLKER_TEMPLATE_ID><![CDATA[9314DE8599AD44E7BFC4CC50699042AB]]></OBCLKER_TEMPLATE_ID> <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--1DB80A7D4BC244F0BE5615702D3BF91C--> <SUGGESTIONTEXTMATCHSTYLE><![CDATA[startsWith]]></SUGGESTIONTEXTMATCHSTYLE> diff -r 414e75b699ca -r 2711fe8a20bc src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml --- a/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml Tue Jun 28 14:03:32 2016 +0000 +++ b/src-db/database/sourcedata/OBUISEL_SELECTOR_FIELD.xml Wed Jun 29 12:40:27 2016 +0200 @@ -1771,6 +1771,28 @@ <!--61468BCC79F14B0289A046060D119EC2--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST> <!--61468BCC79F14B0289A046060D119EC2--></OBUISEL_SELECTOR_FIELD> +<!--6232D2B8EECC499EB2CFB853A184F3AB--><OBUISEL_SELECTOR_FIELD> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[6232D2B8EECC499EB2CFB853A184F3AB]]></OBUISEL_SELECTOR_FIELD_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <OBUISEL_SELECTOR_ID><![CDATA[159A0EA5DE8844E9B0E7198E5525C854]]></OBUISEL_SELECTOR_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <AD_COLUMN_ID><![CDATA[208]]></AD_COLUMN_ID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <NAME><![CDATA[Name]]></NAME> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <DESCRIPTION><![CDATA[A non-unique identifier for a record/document often used as a search tool.]]></DESCRIPTION> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <HELP><![CDATA[A more descriptive identifier (that does need to be unique) of a record/document that is used as a default search option along with the search key (that is unique and mostly shorter). It is up to 60 characters in length.]]></HELP> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <PROPERTY><![CDATA[name]]></PROPERTY> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <SORT><![CDATA[Y]]></SORT> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <FILTER><![CDATA[Y]]></FILTER> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <SEARCHINSUGGESTIONBOX><![CDATA[N]]></SEARCHINSUGGESTIONBOX> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <SHOWINGRID><![CDATA[Y]]></SHOWINGRID> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <SORTNO><![CDATA[0]]></SORTNO> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <ISOUTFIELD><![CDATA[N]]></ISOUTFIELD> +<!--6232D2B8EECC499EB2CFB853A184F3AB--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST> +<!--6232D2B8EECC499EB2CFB853A184F3AB--></OBUISEL_SELECTOR_FIELD> + <!--63324DD1917043AE9753C7C57EA13F79--><OBUISEL_SELECTOR_FIELD> <!--63324DD1917043AE9753C7C57EA13F79--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[63324DD1917043AE9753C7C57EA13F79]]></OBUISEL_SELECTOR_FIELD_ID> <!--63324DD1917043AE9753C7C57EA13F79--> <OBUISEL_SELECTOR_ID><![CDATA[4D3AD61E57AF460EAB4D36A4E1476667]]></OBUISEL_SELECTOR_ID> @@ -2367,6 +2389,28 @@ <!--7A814E72DF9240E280BA6B2AEFF9405A--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST> <!--7A814E72DF9240E280BA6B2AEFF9405A--></OBUISEL_SELECTOR_FIELD> +<!--7ABFC9B0D2414825957A3A1E48BFD170--><OBUISEL_SELECTOR_FIELD> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[7ABFC9B0D2414825957A3A1E48BFD170]]></OBUISEL_SELECTOR_FIELD_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <OBUISEL_SELECTOR_ID><![CDATA[1DB80A7D4BC244F0BE5615702D3BF91C]]></OBUISEL_SELECTOR_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <AD_COLUMN_ID><![CDATA[522]]></AD_COLUMN_ID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <NAME><![CDATA[Name]]></NAME> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <DESCRIPTION><![CDATA[A non-unique identifier for a record/document often used as a search tool.]]></DESCRIPTION> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <HELP><![CDATA[A more descriptive identifier (that does need to be unique) of a record/document that is used as a default search option along with the search key (that is unique and mostly shorter). It is up to 60 characters in length.]]></HELP> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <PROPERTY><![CDATA[name]]></PROPERTY> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <SORT><![CDATA[Y]]></SORT> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <FILTER><![CDATA[Y]]></FILTER> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <SEARCHINSUGGESTIONBOX><![CDATA[N]]></SEARCHINSUGGESTIONBOX> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <SHOWINGRID><![CDATA[Y]]></SHOWINGRID> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <SORTNO><![CDATA[0]]></SORTNO> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <ISOUTFIELD><![CDATA[N]]></ISOUTFIELD> +<!--7ABFC9B0D2414825957A3A1E48BFD170--> <SHOWINPICKLIST><![CDATA[N]]></SHOWINPICKLIST> +<!--7ABFC9B0D2414825957A3A1E48BFD170--></OBUISEL_SELECTOR_FIELD> + <!--7C3CB01F518E4D4CB08CE432C9B878FC--><OBUISEL_SELECTOR_FIELD> <!--7C3CB01F518E4D4CB08CE432C9B878FC--> <OBUISEL_SELECTOR_FIELD_ID><![CDATA[7C3CB01F518E4D4CB08CE432C9B878FC]]></OBUISEL_SELECTOR_FIELD_ID> <!--7C3CB01F518E4D4CB08CE432C9B878FC--> <OBUISEL_SELECTOR_ID><![CDATA[B06B003BD6E34FDDAF5DFD5A9ECD14E2]]></OBUISEL_SELECTOR_ID> diff -r 414e75b699ca -r 2711fe8a20bc src/org/openbravo/financial/ResetAccounting.java --- a/src/org/openbravo/financial/ResetAccounting.java Tue Jun 28 14:03:32 2016 +0000 +++ b/src/org/openbravo/financial/ResetAccounting.java Wed Jun 29 12:40:27 2016 +0200 @@ -91,8 +91,9 @@ String client = adClientId; List<String> tables = getTables(adTableId); try { - Set<String> orgIds = StringUtils.equals(adOrgId, "0") ? getLegalOrBusinessOrgsChilds(client) - : new OrganizationStructureProvider().getChildTree(adOrgId, true); + Organization org = OBDal.getInstance().get(Organization.class, adOrgId); + Set<String> orgIds = StringUtils.equals(org.getOrganizationType().getName(), "Organization") ? getLegalOrBusinessOrgsChilds( + client, adOrgId) : new OrganizationStructureProvider().getChildTree(adOrgId, true); for (String table : tables) { List<String> docbasetypes = getDocbasetypes(client, table, localRecordId); String myQuery = "select distinct e.recordID from FinancialMgmtAccountingFact e where e.organization.id in (:orgIds) and e.client.id = :clientId and e.table.id = :tableId"; @@ -628,21 +629,20 @@ } @SuppressWarnings("unchecked") - private static Set<String> getLegalOrBusinessOrgsChilds(String clientId) { + private static Set<String> getLegalOrBusinessOrgsChilds(String clientId, String orgId) { StringBuffer hql = new StringBuffer(); hql = new StringBuffer(); hql.append(" select o1." + Organization.PROPERTY_ID); hql.append(" from " + Organization.ENTITY_NAME + " as o1"); hql.append(" , " + Organization.ENTITY_NAME + " as o2"); hql.append(" join o2." + Organization.PROPERTY_ORGANIZATIONTYPE + " as ot"); - hql.append(" where o1." + Organization.PROPERTY_CLIENT + ".id = :clientId"); - hql.append(" and o2." + Organization.PROPERTY_CLIENT + ".id = :clientId"); + hql.append(" where o2." + Organization.PROPERTY_CLIENT + ".id = :clientId"); + hql.append(" and ad_isorgincluded(o2." + Organization.PROPERTY_ID + ", :orgId, o2." + + Organization.PROPERTY_CLIENT + ".id) <> -1"); hql.append(" and ad_isorgincluded(o1." + Organization.PROPERTY_ID + ", o2." + Organization.PROPERTY_ID + ", o1." + Organization.PROPERTY_CLIENT + ".id) <> -1"); hql.append(" and (ot." + OrganizationType.PROPERTY_LEGALENTITY + " = true"); hql.append(" or ot." + OrganizationType.PROPERTY_BUSINESSUNIT + " = true)"); - hql.append(" and o1." + Organization.PROPERTY_ACTIVE + " = true"); - hql.append(" and o1." + Organization.PROPERTY_READY + " = true"); hql.append(" and o2." + Organization.PROPERTY_ACTIVE + " = true"); hql.append(" and o2." + Organization.PROPERTY_READY + " = true"); hql.append(" order by o2." + Organization.PROPERTY_NAME); @@ -651,6 +651,7 @@ hql.append(" , o1." + Organization.PROPERTY_NAME); Query query = OBDal.getInstance().getSession().createQuery(hql.toString()); query.setParameter("clientId", clientId); + query.setParameter("orgId", orgId); return new HashSet<String>(query.list()); } } ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits