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

📄 integratorgetrecords.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        ServletContext ctx = request.getSession().getServletContext();


        ActionContext actx = IntegratorHelper.getActionContext(ctx);
        Reqs reqs = EntityFacade.buildReqsFromFields(new ArrayList<FieldData>(),
                SEARCH_SAVING_ENTITY, SEARCH_SAVING_ENTITY, null, props, ls, actx);
        IntegratedRecordSet set = EntityFacade.performRequest(reqs, SEARCH_SAVING_ENTITY, ls, actx,
                EntityViewHelper.FieldsModificator.CUSTOMIZED_GRID);
        List<IntegratedRecord> l = set.getRecordSet();

        SavedSearchObject[] ret = new SavedSearchObject[l.size()];
        Iterator<IntegratedRecord> it = l.iterator();
        int i = 0;
        while(it.hasNext()) {
            IntegratedRecord record = it.next();
            Map<String, FieldData> fields = record.getFieldSet();
            TextboxFieldData idField = (TextboxFieldData) fields.get("search_id");
            TextboxFieldData nameField = (TextboxFieldData) fields.get("name");
            TextboxFieldData formIdField = (TextboxFieldData) fields.get("form_id");

            String serializedFields = ((MemoFieldData) fields.get("body"))
                    .getText();
            String formId = formIdField.getText();
            String entity = EntityOperationsHelper.getEntityNameFromFormID(formId);
            Map<String, FieldMeta> meta = EntityViewHelper.getMetaForEntity(
                    entity, EntityViewHelper.FieldsModificator.FORM,
                    false, ls,
                    actx);
            FieldData[] fieldsData = EntitySerializeHelper.deSerializeFields(serializedFields, entity, meta, ls, actx);

            ret[i] = new SavedSearchObject(nameField.getText(), formId, fieldsData, Long.parseLong(idField.getText()));
            i++;
        }
        return ret;
    }

    public static ParseDateResponseObject parseDate(ParseDateRequestObject parseRequest, HttpServletRequest req) {
        LogonSession ls = WebLoginManager.getLogonSession(req);

        // user localized attrs
        User user = ls.getUser();
        Locale locale = SecurityHelper.getJavaLocale(user.getCountryID(), user.getLangID());
        TimeZone tz = SecurityHelper.getJavaTimezone(user.getTimeZoneID());
        String datePattern = user.getDatePattern();
        String timePattern = user.getTimePattern();
        boolean dayPosFirst = user.isDatePositionFirst();

        ParseDateResponseObject result;
        long sysDateMls;
        try {
            if (parseRequest.getStringToParse().indexOf("..") == -1) {
                if(parseRequest.getStringToParse().indexOf(" ") == -1) {
                    sysDateMls = ExtDateParser.parseDate(parseRequest.getStringToParse(), dayPosFirst, locale, tz, datePattern, null);
                } else {
                    sysDateMls = ExtDateParser.parseDate(parseRequest.getStringToParse(), dayPosFirst, locale, tz, datePattern, timePattern);
                }
                Date userDate = new Date(DateHelper.toUser(sysDateMls, tz));
                result = new ParseDateResponseObject(userDate/*new Date(parseRequest.getStringToParse())*/, true);
            } else {
                String[] dates = parseRequest.getStringToParse().split("[.]{2}");
                long l = ExtDateParser.parseDate(dates[0], dayPosFirst, locale, tz, datePattern, timePattern);
                Date startDate = new Date(DateHelper.toUser(l, tz));
                l = ExtDateParser.parseDate(dates[1], dayPosFirst, locale, tz, datePattern, timePattern);
                Date endDate = new Date(DateHelper.toUser(l, tz));
                result = new ParseDateResponseObject(startDate, endDate, true);
            }
        } catch (java.text.ParseException ex) {
            ex.printStackTrace();
            result = new ParseDateResponseObject();
        }

        return result;
    }

    public static FormatDataResponseObject formatDate(FormatDataRequestObject request, HttpServletRequest req) {
        LogonSession ls = WebLoginManager.getLogonSession(req);

        // user localized attrs
        User user = ls.getUser();
        String datePattern = user.getDatePattern();
        String timePattern = user.getTimePattern();

        Date startDate = new Date(request.getStartDate().getYear(), request.getStartDate().getMonth(), request.getStartDate().getDate(), request.getStartDate().getHours(), request.getStartDate().getMinutes());
        Date endDate = null;
        if(request.getEndDate() != null)
            endDate = new Date(request.getEndDate().getYear(), request.getEndDate().getMonth(), request.getEndDate().getDate(), request.getEndDate().getHours(), request.getEndDate().getMinutes());

        String formattedDate = EntitySerializeHelper.getDateStringRepresentation(startDate, endDate, datePattern, timePattern, null);
        return new FormatDataResponseObject(formattedDate);
    }

    public static void customizeGrid(CustomizeGridRequestObject request, HttpServletRequest req)
            throws DisplayableException {
        LogonSession ls = WebLoginManager.getLogonSession(req);
        ServletContext ctx = req.getSession().getServletContext();

        // user localized attrs
        User user = ls.getUser();
        String entity = EntityOperationsHelper.getEntityNameFromFormID(request.getFormID());

        SubsetData columnsData = request.getColumns();
        if(columnsData == null) {
            IntegratorHelper.throwException("Unable to retrieve data about selected columns");
        }

        long[] ids = columnsData.getSelectedIDs();
        String[] fields = new String[ids.length];
        ActionContext actx = IntegratorHelper.getActionContext(ctx);
        FieldMeta[] metas = EntityViewHelper.getMetaInfoForEntity(entity,
                EntityViewHelper.FieldsModificator.FORM, false, ls,
                actx);
        for (int i = 0; i < ids.length; i++) {
            int idx = (int) ids[i];
            fields[i] = metas[idx].getFieldID();
        }

        try {
            UserPropertyManagerLocal userPropManager = actx.getUserPropertyManager();
            userPropManager.setFieldsForGrid(user, entity, fields);
        } catch (RuntimeException th) {
            IntegratorHelper.reThrowException(th);
        }
    }

    public static void deleteRecord(EntityDeleteRequestObject deleteRequest, HttpServletRequest httpRequest)
            throws DisplayableException {
        String entityName = EntityOperationsHelper.getEntityNameFromFormID(deleteRequest.getFormID());
        List<EntityData> entityData = new ArrayList<EntityData>();
        for (Long rowID : (List<Long>)deleteRequest.getRowIDs()) {
            entityData.add(new EntityData(entityName, rowID, null));
        }

        ServletContext ctx = httpRequest.getSession().getServletContext();
        LogonSession ls = WebLoginManager.getLogonSession(httpRequest);

        try {
            ActionContext actx = IntegratorHelper.getActionContext(ctx);
            EntityFacade.deleteRecord(entityData.toArray(new EntityData[entityData.size()]), actx, ls);
        } catch (EQLException e) {
            IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
        } catch (RuntimeException th) {
            if (th.getCause() != null &&
                th.getCause() instanceof EQLConstraintViolationException) {
                IntegratorHelper.throwConstraintException((EQLConstraintViolationException) th.getCause(), ls, ctx);
            } else {
                IntegratorHelper.reThrowException(th);
            }
        }
    }

    public static void deleteSavedSearch(SavedSearchDeleteRequestObject request, HttpServletRequest httpRequest)
            throws DisplayableException {

        String entityName = SEARCH_SAVING_ENTITY;
        List<EntityData> entityData = new ArrayList<EntityData>();
        for(Long rowID: request.getRowIDs()){
            entityData.add(new EntityData(entityName, rowID, null));
        }
        ServletContext ctx = httpRequest.getSession().getServletContext();
        LogonSession ls = WebLoginManager.getLogonSession(httpRequest);
        try {
            EntityFacade.deleteRecord(entityData.toArray(new EntityData[entityData.size()]), IntegratorHelper.getActionContext(ctx), ls);
        } catch (EQLException e) {
            IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
        } catch (RuntimeException th) {
            IntegratorHelper.reThrowException(th);
        }
    }

    public static HistoryOnDemandData loadHistory(HistoryDataRequest request, LogonSession ls, ActionContext actx) throws DisplayableException {
        HistoryOnDemandData ret = null;

        try {
            IntegratedRecordSet result = EntityFacade.getEntityByIDRequest("history", request.getRecordId(), ls, actx);
            if(result.getRowsCount() > 0) {
                ResField historyResField = result.getInitialResultSet().getRess().getRes().getResRecord(0).getResField(1);
                String history = historyResField.getResFieldValue();

                HistoryLocal historyMgr = actx.getHistoryManager();
                ret = new HistoryOnDemandData(request.getElementID(), historyMgr.toHTML(history));
            }
        } catch (EQLException e) {
            IntegratorHelper.throwException("Eql exception occured. Caused by :" + e.getMessage() + ". ", e);
        } catch (RuntimeException th) {
            IntegratorHelper.reThrowException(th);
        }

        return ret;
    }

    public static AccumulatedEntityDataResponse clearEntity(ClearEntityRequestObject clearRequest, HttpServletRequest request) throws DisplayableException {
        AccumulatedEntityDataResponse response = null;
        try {
            ServletContext ctx = request.getSession().getServletContext();
            LogonSession ls = WebLoginManager.getLogonSession(request);

            BoundFormsOperationsHelper.ResultFormStructure boundResultSet =
                    BoundFormsOperationsHelper.getClearBoundFormResult(clearRequest.getFormID(), ls, IntegratorHelper.getActionContext(ctx));
            List<EntityData> fields = boundResultSet.getFieldDatas();
            response = new AccumulatedEntityDataResponse(new EntityData[0], fields.toArray(new EntityData[fields.size()]), null);
        } catch (RuntimeException th) {
            IntegratorHelper.reThrowException(th);
        }
        return response;
    }

    public static boolean sendEmail(EmailComposeRequestObject request, HttpServletRequest httpRequest) throws DisplayableException {
        LogonSession ls = WebLoginManager.getLogonSession(httpRequest);
        ServletContext ctx = httpRequest.getSession().getServletContext();


        MailAddress[] to = MailAddress.parse( request.getTo() );
        MailAddress from;
        String fromAddr = request.getFrom();
        if (!StringHelper.isEmpty(fromAddr)) {
            from = new MailAddress(fromAddr);
        } else {
            String defaultSender = InboxHelper.getDefSender(ls);
            from = new MailAddress(defaultSender);
        }

        InboxMessage message = new InboxMessage(to, from, request.getSubject(), request.getBody());

        String ccAddr = request.getCc();
        if( !StringHelper.isEmpty( ccAddr ) ) {
            message.setCc( MailAddress.parse( ccAddr ) );
        }

        message.setProcessId(request.getProcess_id());

        InboxManagerLocal inboxLocal = IntegratorHelper.getActionContext(ctx).getInboxManagerLocal();
        try {
            inboxLocal.sendEmailMessage(ls, message, null);
        } catch (MessagingException ex) {
            //IntegratorHelper.reThrowException(ex);
            return false;
        } catch (RuntimeException th) {
            IntegratorHelper.reThrowException(th);
            return false;
        }
        return true;
    }
}

⌨️ 快捷键说明

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