ludc
2025-01-16 986aa62ed00bee39363bab41b4eeb8259d446efd
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -120,6 +120,23 @@
    */
   public static final Map<String,String> BO_BASE_FIELD_MAP = new HashMap<>();
   /**
    * 可以修改值的默认属性
    */
   public static final List<String> EDIT_BASE_FIELD_LIST = new ArrayList<String>(){{
      add("id");
      add("name");
      add("description");
      add("lcstatus");
      add("revisionvalue");
      add("versionvalue");
      add("copyfromversion");
      add("lastr");
      add("firstr");
      add("lastv");
      add("firstv");
   }};
   public WebBoServiceImpl(){
      List<Field> fields = WebUtil.getAllFieldForObj(BusinessObject.class);
      if(!CollectionUtils.isEmpty(fields)) {
@@ -1615,11 +1632,17 @@
             if(isEdit && checkUnAttrUnEdit(attrName)){
                //编辑的时候,TS和OID不能设置.因为平台那接口设置了就会报错
            }else {
               //需要判断是否默认的属性,如果是默认属性,则使用对象的赋值的方式
               if (WebUtil.isDefaultField(fieldName.toLowerCase()) && WebUtil.inArray(new String[]{"id", "name", "description","lcstatus","revisionvalue","versionvalue"}, fieldName.toLowerCase())) {
               //需要判断是否默认的属性,如果是,则使用对象的赋值的方式
               if (WebUtil.isDefaultField(fieldName.toLowerCase())) {
                  WebUtil.setValueToCboField(fieldName, cbo, value);
                  //判断是否为可以修改的默认属性
                  if(EDIT_BASE_FIELD_LIST.contains(fieldName.toLowerCase())){
                     //需要注意,默认属性中,部分属性名称,和数据库中的字段不一样,需要转换
                     ObjectTool.setBOAttributeValue(cbo, VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.getOrDefault(fieldName.toLowerCase(),fieldName.toLowerCase()), value);
                  }
               }else{
                  ObjectTool.setBOAttributeValue(cbo, attrName.toLowerCase(), value);
               }
               ObjectTool.setBOAttributeValue(cbo, attrName.toLowerCase(), value);
            }
          }
       }