/** * 取配置信息,构建成JSON对象 * * @param userId -- 用户信息 * @return */ public String getPortalJson(String userId) { // 取用户所属角色的模板信息 List<Map<String, String>> lsTemp = queryTemplet(userId); if (lsTemp.isEmpty()) { // "构建首页失败,因为用户所属角色没有定义PORTAL模板!" setMessage(JsMessage.getValue("portalquery.notemp")); return _returnFaild; } // 构建PORTAL的JSON StringBuilder sbtemps = new StringBuilder(); for (int i = 0, n = lsTemp.size(); i < n; i++) { Map<String, String> mpTemp = lsTemp.get(i); try { String tempJson = templetJson(mpTemp); sbtemps.append(tempJson); sbtemps.append((i < n - 1) ? ",\n" : "\n"); } catch (BoException e) { _log.showError(e); setMessage(e.getMessage()); return _returnFaild; } } String portalJson = "{portalnum:" + lsTemp.size() + ", portals:[\n" + sbtemps.toString() + "]}"; _log.showDebug("---------portalJson=" + portalJson); setReturnData(portalJson); return _returnSuccess; }
/** * 输出图片到指定的单元格。 * * @param funId -- 功能ID * @param field -- 图片字段 * @param mpData -- 当前数据记录,取记录主键值 * @param cell -- 输出图片的指定单元格 */ private static boolean printCellImage( String funId, String fieldName, Map<String, String> mpData, HSSFCell cell) { // 取功能基础信息 Map<String, String> mpFun = FunDefineDao.queryFun(funId); if (mpFun == null || mpFun.isEmpty()) { _log.showDebug("--------printCellImage(): not find function is null!!"); return false; } // 取功能表名 String tableName = mpFun.get("table_name"); // 取主键,不带表名 String pkcol = mpFun.get("pk_col"); pkcol = StringUtil.getNoTableCol(pkcol); // 取主键值 String dataId = mpData.get(pkcol); if (dataId == null || dataId.length() == 0) { _log.showDebug("--------printCellImage(): not find data id!!"); return false; } AttachBO attachBO = new AttachBO(); // 取图文附件记录 Map<String, String> mpAttach = null; try { mpAttach = attachBO.queryAttach(dataId, tableName, fieldName); } catch (BoException e1) { e1.printStackTrace(); } if (mpAttach == null || mpAttach.isEmpty()) { _log.showDebug( "--------printCellImage(): not attach dataId=" + dataId + "; tableName=" + tableName + ";fieldName=" + fieldName); return false; } // 取图文附件字节信息 byte[] bytes = null; try { bytes = attachBO.queryAttachContent(mpAttach); } catch (BoException e1) { e1.printStackTrace(); } if (bytes == null || bytes.length == 0) { _log.showDebug("--------printCellImage(): not find attach image file!!"); return false; } // 输出图片到指定位置 addImageToSheet(cell, bytes); return true; }
/** * 批量发布公告。 * * @param keyIds -- 消息数组ID * @return */ public String gridSendMsg(String[] keyIds) { if (keyIds == null || keyIds.length == 0) { // "发送消息ID为空!" setMessage(JsMessage.getValue("portlet.msgidisnull")); return _returnFaild; } // 发送消息 try { for (int i = 0, n = keyIds.length; i < n; i++) { sendMsg(keyIds[i]); } } catch (BoException e) { _log.showError(e); setMessage(e.getMessage()); return _returnFaild; } return _returnSuccess; }
/** * 发布公告,如果有消息ID说明是先保存了再发送的,如果没有消息ID则需要先保存再发送。 * * @param requestContext * @return */ public String formSendMsg(RequestContext requestContext) { String sKeyID = requestContext.getRequestValue(JsParam.KEYID); // 消息ID为空,先保存再发送 if (sKeyID == null || sKeyID.length() == 0) { CreateEvent ce = new CreateEvent(); String bret = ce.create(requestContext); if (bret.equals(_returnFaild)) return _returnFaild; sKeyID = requestContext.getRequestValue(JsParam.KEYID); } // 发送消息 try { sendMsg(sKeyID); } catch (BoException e) { _log.showError(e); setMessage(e.getMessage()); return _returnFaild; } return _returnSuccess; }