ludc
2023-06-19 89a21c0eecacd040e8189faeda6f73f69167cdc9
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -881,21 +881,7 @@
      }
   }
   /**
    * 是否为修改忽略的属性
    * @param attrName 属性的名字
    * @return true 表示应该忽略
    */
   @Override
   public boolean checkUnAttrUnEdit(String attrName){
      return  (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
         ||"ts".equalsIgnoreCase(attrName)
         || "lastmodifier".equalsIgnoreCase(attrName)
         || "lastmodifytime".equalsIgnoreCase(attrName)
         || "createtime".equalsIgnoreCase(attrName)
         || "checkintime".equalsIgnoreCase(attrName)
         ||"checkouttime".equalsIgnoreCase(attrName));
   }
   /**
    * 保存可输可选的信息
@@ -1748,7 +1734,7 @@
    * @return Sql语句
    */
   private String getConditionSql(String key, String value, Map<String/**参照的属性**/, String/**实际的属性**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap,String btmType) {
      /*if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) {
      if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) {
         if (key.endsWith("_like")) {
            String field = UBCSSqlKeyword.getColumn(key, "_like");
            if (referFieldMap.containsKey(field)) {
@@ -1760,7 +1746,6 @@
         } else if (key.endsWith("_notequal")) {
            String field = UBCSSqlKeyword.getColumn(key, "_notequal");
            if (referFieldMap.containsKey(field)) {
               //说明还是参照里面的,我们默认这种情况下都是字符串吧,因为参照的属性不一定用的平台的属性池里的,所以大部分情况下,显示的属性都是字符串吧
               return referFieldMap.get(field) + SPACE + " != '" + value + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + " != " + getStringValueInWhere(field, value, attrVOMap);
@@ -1789,7 +1774,6 @@
         } else if (key.endsWith("_ge")) {
            String field = UBCSSqlKeyword.getColumn(key, "_ge");
            if (referFieldMap.containsKey(field)) {
               //说明还是参照里面的,我们默认这种情况下都是字符串吧,因为参照的属性不一定用的平台的属性池里的,所以大部分情况下,显示的属性都是字符串吧
               return referFieldMap.get(field) + SPACE + " >= '" + value + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + " >= '" + getStringValueInWhere(value, field, attrVOMap) + "'" + SPACE;
@@ -1798,7 +1782,6 @@
            //说明是<=的。我们需要先获取一下
            String field = UBCSSqlKeyword.getColumn(key, "_le");
            if (referFieldMap.containsKey(field)) {
               //说明还是参照里面的,我们默认这种情况下都是字符串吧,因为参照的属性不一定用的平台的属性池里的,所以大部分情况下,显示的属性都是字符串吧
               return referFieldMap.get(field) + SPACE + " <= '" + value + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + " <= '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
@@ -1813,7 +1796,6 @@
         } else if (key.endsWith("_lt")) {
            String field = UBCSSqlKeyword.getColumn(key, "_lt");
            if (referFieldMap.containsKey(field)) {
               //说明还是参照里面的,我们默认这种情况下都是字符串吧,因为参照的属性不一定用的平台的属性池里的,所以大部分情况下,显示的属性都是字符串吧
               return referFieldMap.get(field) + SPACE + "< '" + value + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE;
@@ -1821,7 +1803,6 @@
         } else if (key.endsWith("_datege")) {
            String field = UBCSSqlKeyword.getColumn(key, "_datege");
            if (referFieldMap.containsKey(field)) {
               //说明还是参照里面的,我们默认这种情况下都是字符串吧,因为参照的属性不一定用的平台的属性池里的,所以大部分情况下,显示的属性都是字符串吧
               return referFieldMap.get(field) + SPACE + ">= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + ">= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
@@ -1868,17 +1849,25 @@
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + "IS NOT NULL" + SPACE;
            }
         } else {
         } else if(key.endsWith("_dateequal")) {
            String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
            if (referFieldMap.containsKey(field)) {
               return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE;
            } else {
               return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap)+ "'" + SPACE;
            }
         }else {
            if (referFieldMap.containsKey(key)) {
               //说明是参照的,我们参照的查询都认为是字符串,如果是时间格式的查询肯定有问题,
               String selectKey = referFieldMap.get(key);
               return getSqlByValue(selectKey, value, null,btmType);
            } else {
               return getSqlByValue(key, value, attrVOMap,btmType);
            }
         }
      }*/
      if (key.endsWith("_begin")) {
      }
      return "";
      /*if (key.endsWith("_begin")) {
         //说明是>=的。我们需要先获取一下
         String field = (key.substring(0, key.length() - 6).toLowerCase().trim());
         if (referFieldMap.containsKey(field)) {
@@ -1904,7 +1893,8 @@
         } else {
            return getSqlByValue(key, value, attrVOMap,btmType);
         }
      }
      }*/
   }
   /**