⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 partyservices.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                newRelationship.set("partyIdTo", partyIdTo);                newRelationship.create();                relationship.remove();            }            // merge datasources simply by copying them (this is dangerous if a SECA is triggered by this service)            List dataSources = delegator.findByAnd("PartyDataSource", UtilMisc.toMap("partyId", partyIdFrom));            for (Iterator iter = dataSources.iterator(); iter.hasNext(); ) {                GenericValue dataSource = (GenericValue) iter.next();                serviceResults = dispatcher.runSync("createPartyDataSource", UtilMisc.toMap("partyId", partyIdTo,                             "dataSourceId", dataSource.getString("dataSourceId"), "userLogin", userLogin));                if (ServiceUtil.isError(serviceResults)) {                    return UtilCommon.createAndLogServiceError(serviceResults, "CrmErrorMergePartiesFail", locale, module);                }            }            // copy all the contact mechs over            serviceResults = dispatcher.runSync("copyPartyContactMechs", UtilMisc.toMap("partyIdFrom", partyIdFrom, "partyIdTo", partyIdTo, "userLogin", userLogin));            if (ServiceUtil.isError(serviceResults)) {                return UtilCommon.createAndLogServiceError(serviceResults, "CrmErrorMergePartiesFail", locale, module);            }            // merge workefforts by changing partyIdFrom to partyIdTo in WorkEffortPartyAssignment, but avoid duplicates            List associations = EntityUtil.filterByDate(delegator.findByAnd("WorkEffortPartyAssignment", UtilMisc.toMap("partyId", partyIdFrom)));            for (Iterator iter = associations.iterator(); iter.hasNext(); ) {                GenericValue wepa = (GenericValue) iter.next();                List toWepas = EntityUtil.filterByDate(delegator.findByAnd("WorkEffortPartyAssignment", UtilMisc.toMap("partyId", partyIdTo,                                "workEffortId", wepa.get("workEffortId"), "roleTypeId", wepa.get("roleTypeId"))));                if (toWepas.size() > 0) continue;                GenericValue newWepa = delegator.makeValue("WorkEffortPartyAssignment", wepa.getAllFields());                newWepa.set("partyId", partyIdTo);                newWepa.create();                wepa.remove();            }            // merge communication events by changing the partyId            List comms = delegator.findByAnd("CommunicationEvent", UtilMisc.toMap("partyIdFrom", partyIdFrom));            for (Iterator iter = comms.iterator(); iter.hasNext(); ) {                GenericValue comm = (GenericValue) iter.next();                comm.set("partyIdFrom", partyIdTo);                comm.store();            }            comms = delegator.findByAnd("CommunicationEvent", UtilMisc.toMap("partyIdTo", partyIdFrom));            for (Iterator iter = comms.iterator(); iter.hasNext(); ) {                GenericValue comm = (GenericValue) iter.next();                comm.set("partyIdTo", partyIdTo);                comm.store();            }            // merge opportunities            List oppRoles = delegator.findByAnd("SalesOpportunityRole", UtilMisc.toMap("partyId", partyIdFrom));            for (Iterator iter = oppRoles.iterator(); iter.hasNext(); ) {                GenericValue oppRole = (GenericValue) iter.next();                Map input = UtilMisc.toMap("salesOpportunityId", oppRole.get("salesOpportunityId"), "partyId", partyIdTo, "roleTypeId", oppRole.get("roleTypeId"));                GenericValue toOppRole = delegator.findByPrimaryKey("SalesOpportunityRole", input);                if (toOppRole != null) continue;                GenericValue newOppRole = delegator.makeValue("SalesOpportunityRole", input);                newOppRole.create();                oppRole.remove();            }            // merge case roles            List caseRoles = delegator.findByAnd("CustRequestRole", UtilMisc.toMap("partyId", partyIdFrom));            for (Iterator iter = caseRoles.iterator(); iter.hasNext(); ) {                GenericValue custRequestRole = (GenericValue) iter.next();                Map input = UtilMisc.toMap("custRequestId", custRequestRole.get("custRequestId"), "partyId", partyIdTo, "roleTypeId", custRequestRole.get("roleTypeId"));                GenericValue toCustRequestRole = delegator.findByPrimaryKey("CustRequestRole", input);                if (toCustRequestRole != null) continue;                GenericValue newCustRequestRole = delegator.makeValue("CustRequestRole", input);                newCustRequestRole.create();                custRequestRole.remove();            }            // merge cases (here we just change the fromPartyId because it's not a pk)            List cases = delegator.findByAnd("CustRequest", UtilMisc.toMap("fromPartyId", partyIdFrom));            for (Iterator iter = cases.iterator(); iter.hasNext(); ) {                GenericValue custRequest = (GenericValue) iter.next();                custRequest.set("fromPartyId", partyIdTo);                custRequest.store();            }            // merge notes            List notes = delegator.findByAnd("PartyNote", UtilMisc.toMap("partyId", partyIdFrom));            for (Iterator iter = notes.iterator(); iter.hasNext(); ) {                GenericValue note = (GenericValue) iter.next();                GenericValue newNote = delegator.makeValue("PartyNote", note.getAllFields());                newNote.set("partyId", partyIdTo);                newNote.create();                note.remove();            }            // now delete the from party            PartyHelper.deleteCrmParty(partyIdFrom, delegator);        } catch (GenericServiceException e) {            return UtilCommon.createAndLogServiceError(e, "CrmErrorMergePartiesFail", locale, module);        } catch (GenericEntityException e) {            return UtilCommon.createAndLogServiceError(e, "CrmErrorMergePartiesFail", locale, module);        }        return ServiceUtil.returnSuccess();    }    public static Map setViewPreference(DispatchContext dctx, Map context) {        GenericDelegator delegator = dctx.getDelegator();        LocalDispatcher dispatcher = dctx.getDispatcher();        GenericValue userLogin = (GenericValue) context.get("userLogin");        Locale locale = (Locale) context.get("locale");        String viewPrefTypeId = (String) context.get("viewPrefTypeId");        String value = (String) context.get("viewPrefValue");        if (value != null && value.trim().length() == 0) value = null;        try {            // if preference already exists, we'll be doing an update, otherwise a create            GenericValue pref = ViewPrefWorker.getViewPreferenceValue(userLogin, viewPrefTypeId);            // prepare the preference            Map input = UtilMisc.toMap("userLogin", userLogin, "userLoginId", userLogin.get("userLoginId"), "viewPrefTypeId", viewPrefTypeId);            // decide whether value is an enum or a string -- start with default to string            input.put("viewPrefValueTypeId", "VPREF_VALTYPE_STRING");            input.put("viewPrefString", value);            // and if we find an enumeration, reset the fields to store an enum            if (value != null) {                GenericValue enumeration = delegator.findByPrimaryKeyCache("Enumeration", UtilMisc.toMap("enumId", value));                if (enumeration != null) {                    input.put("viewPrefValueTypeId", "VPREF_VALTYPE_ENUM");                    input.put("viewPrefString", null);                    input.put("viewPrefEnumId", value);                }            }            return dispatcher.runSync(pref != null ? "crmsfa.updateViewPreference" : "crmsfa.createViewPreference", input);        } catch (GenericServiceException e) {            return UtilCommon.createAndLogServiceError(e, "CrmErrorSetPreferenceFail", locale, module);        } catch (GenericEntityException e) {            return UtilCommon.createAndLogServiceError(e, "CrmErrorSetPreferenceFail", locale, module);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -