예제 #1
0
  public void storeRoworder(ReportRequest rrequest, ReportBean rbean) {
    String rowordertype = rrequest.getStringAttribute(rbean.getId() + "_ROWORDERTYPE", "");
    if (rowordertype.equals("") || !Consts.lstAllRoworderTypes.contains(rowordertype)) return;

    String roworderparams = rrequest.getStringAttribute(rbean.getId() + "_ROWORDERPARAMS", "");
    if (roworderparams.equals("")) return;
    AbsListReportBean alrbean =
        (AbsListReportBean) rbean.getExtendConfigDataForReportType(AbsListReportType.KEY);
    IListReportRoworderPersistence lsObj = alrbean.getLoadStoreRoworderObject(); // 获取到读写行排序顺序值的类对象
    if (lsObj == null) lsObj = Config.default_roworder_object;
    List<Map<String, String>> lstColValusInAllRows =
        EditableReportAssistant.getInstance().parseSaveDataStringToList(roworderparams);
    if (lstColValusInAllRows.size() == 0) return;
    Map<String, String> mColValuesInRow = lstColValusInAllRows.get(0);
    log.debug("被排序记录行参数:" + mColValuesInRow);
    if (rowordertype.equals(Consts.ROWORDER_INPUTBOX)) {
      String newrowordervalue = rrequest.getStringAttribute(rbean.getId() + "_ROWORDERVALUE", "");
      lsObj.storeRoworderByInputbox(rrequest, rbean, mColValuesInRow, newrowordervalue);
    } else if (rowordertype.equals(Consts.ROWORDER_TOP)) {
      lsObj.storeRoworderByTop(rrequest, rbean, mColValuesInRow);
    } else {
      String direct = rrequest.getStringAttribute(rbean.getId() + "_ROWORDERDIRECT", "");
      String destrowParams = rrequest.getStringAttribute(rbean.getId() + "_DESTROWPARAMS", "");
      Map<String, String> mColValuesInDestRow = null;
      if (!destrowParams.trim().equals("")) {
        mColValuesInDestRow =
            EditableReportAssistant.getInstance().parseSaveDataStringToList(destrowParams).get(0);
        log.debug("目标位置记录行参数:" + mColValuesInDestRow);
      }
      if (rowordertype.equals(Consts.ROWORDER_DRAG)) {
        lsObj.storeRoworderByDrag(
            rrequest,
            rbean,
            mColValuesInRow,
            mColValuesInDestRow,
            direct.toLowerCase().trim().equals("true"));
      } else {
        lsObj.storeRoworderByArrow(
            rrequest,
            rbean,
            mColValuesInRow,
            mColValuesInDestRow,
            direct.toLowerCase().trim().equals("true"));
      }
    }
  }