夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

           

          /**
               * <ul>
               * <li>Description:[處理文本]</li>
               * <li>Created by [Huyvanpull] [2011-1-9]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param fieldName
               * 
          @param params
               * 
          @return
               
          */

              
          private static String opTxt(String fieldName, String params)
              
          {
                  StringBuffer conditionName 
          = new StringBuffer();
                  
          if (ValidatorUtil.hasVal(params))
                  
          {
                      String[] paramArr 
          = params.split("[,]");
                      
          for (String param : paramArr)
                      
          {
                          param 
          = param.trim();
                          
                          
          // 第一種情況處理NULL值
                          if ("null".equalsIgnoreCase(param))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          " is null ");
                          }

                          
          // 第二種情況正常情況
                          else
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          " like '%");
                              conditionName.append(param.trim());
                              conditionName.append(
          "%'");
                          }

                      }

                      conditionName.replace(
          04" and (");
                      conditionName.append(
          ")");
                  }

                  
          return conditionName.toString();
              }

              
              
          /**
               * <ul>
               * <li>Description:[處理數字]</li>
               * <li>Created by [Huyvanpull] [2011-1-9]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
               * 
          @param fieldName
               * 
          @param params
               * 
          @return
               
          */

              
          private static String opNum(String fieldName, String params)
              
          {
                  StringBuffer conditionName 
          = new StringBuffer();
                  
          if (ValidatorUtil.hasVal(params))
                  
          {
                      String[] paramArr 
          = params.split("[,]");
                      
          for (String param : paramArr)
                      
          {
                          param 
          = param.trim();
                          
                          
          // 第一種情況處理NULL值
                          if ("null".equalsIgnoreCase(param))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          " is null ");
                          }

                          
                          
          // 第二種情況, 等于
                          else if (param.matches("^\\d+$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          "=");
                              conditionName.append(param);
                          }

                          
                          
          // 第三種情況, 大于
                          else if (param.matches("^>\\d+$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName.substring(
          1));
                              conditionName.append(
          ">");
                              conditionName.append(param);
                          }

                          
                          
          // 第四種情況, 小于
                          else if (param.matches("^<\\d+$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName.substring(
          1));
                              conditionName.append(
          "<");
                              conditionName.append(param);
                          }

                          
                          
          // 第五種情況, 大于小于的情況
                          else if (param.matches("^\\d+\\-\\d+$"))
                          
          {
                              conditionName.append(
          " or (");
                              conditionName.append(fieldName);
                              conditionName.append(
          ">");
                              conditionName.append(param.split(
          "[-]")[0]);
                              conditionName.append(
          " and ");
                              conditionName.append(fieldName);
                              conditionName.append(
          "<");
                              conditionName.append(param.split(
          "[-]")[1]);
                              conditionName.append(
          ")");
                          }

                      }

                      
                      
          // 是否有值
                      if (conditionName.length() > 4)
                      
          {
                          conditionName.replace(
          04" and (");
                          conditionName.append(
          ")");
                      }

                  }

                  
          return conditionName.toString();
              }

              
              
          /**
               * <ul>
               * <li>Description:[處理時間型]</li>
               * <li>Created by [Huyvanpull] [2011-1-9]</li>
               * <li>Midified by [modifier] [modified time]</li>
               * </ul>
               * 
          @param fieldName
               * 
          @param params
               * 
          @return
               
          */

              
          private String opDate(String fieldName, String params)
              
          {
                  StringBuffer conditionName 
          = new StringBuffer();
                  
          if (ValidatorUtil.hasVal(params))
                  
          {
                      String[] paramArr 
          = params.split("[,]");
                      
          for (String param : paramArr)
                      
          {
                          param 
          = param.trim();
                          
          //^\\d{4}/\\d{2}/\\d{2}\\-\\d{4}/\\d{2}/\\d{2}$
                          
          // 第一種情況處理NULL值
                          if ("null".equalsIgnoreCase(param))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          " is null ");
                          }

                          
                          
          // 第二種情況, 等于
                          else if (param.matches("^\\d{4}/\\d{2}/\\d{2}$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          "=");
                              conditionName.append(
          "to_date('");
                              conditionName.append(param);
                              conditionName.append(
          "','yyyy/mm/dd')");
                          }

                          
                          
          // 第三種情況, 大于
                          else if (param.matches("^>\\d+$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          ">");
                              conditionName.append(
          "to_date('");
                              conditionName.append(param.substring(
          1));
                              conditionName.append(
          "','yyyy/mm/dd')");
                          }

                          
                          
          // 第四種情況, 小于
                          else if (param.matches("^<\\d+$"))
                          
          {
                              conditionName.append(
          " or ");
                              conditionName.append(fieldName);
                              conditionName.append(
          "<");
                              conditionName.append(
          "to_date('");
                              conditionName.append(param.substring(
          1));
                              conditionName.append(
          "','yyyy/mm/dd')");
                          }

                          
                          
          // 第五種情況, 大于小于的情況
                          else if (param.matches("^\\d+\\-\\d+$"))
                          
          {
                              conditionName.append(
          " or (");
                              conditionName.append(fieldName);
                              conditionName.append(
          ">");
                              conditionName.append(
          "to_date('");
                              conditionName.append(param.substring(
          1));
                              conditionName.append(
          "','yyyy/mm/dd') and ");
                              conditionName.append(fieldName);
                              conditionName.append(
          "<");
                              conditionName.append(
          "to_date('");
                              conditionName.append(param.substring(
          1));
                              conditionName.append(
          "','yyyy/mm/dd'))");
                          }

                      }

                      
                      
          // 是否有值
                      if (conditionName.length() > 4)
                      
          {
                          conditionName.replace(
          04" and (");
                          conditionName.append(
          ")");
                      }

                  }

                  
          return conditionName.toString();
              }
          posted on 2011-01-09 21:39 HUIKK 閱讀(288) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 靖州| 佳木斯市| 大余县| 丹寨县| 太仆寺旗| 登封市| 莱阳市| 盘山县| 陇西县| 安图县| 慈利县| 贺兰县| 黄梅县| 彩票| 绥江县| 云安县| 桃园市| 庆阳市| 库尔勒市| 陆丰市| 乐至县| 固阳县| 临湘市| 桐梓县| 绥滨县| 格尔木市| 永善县| 芷江| 旺苍县| 新竹县| 襄汾县| 蓬溪县| 疏勒县| 竹山县| 岳西县| 宣汉县| 三亚市| 新巴尔虎右旗| 永清县| 曲阳县| 信阳市|