| | |
| | | } |
| | | } |
| | | //如果版本本次序号的属性,需要从属性的映射中,获取业务类型中的字段名称 |
| | | clientBoAttrName = VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName); |
| | | clientBoAttrName = VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.getOrDefault(clientBoAttrName.toLowerCase(Locale.ROOT),clientBoAttrName); |
| | | return clientBoAttrName; |
| | | } |
| | | |
| | |
| | | * @return 方法 |
| | | */ |
| | | public static Method getSetmethod(Class c,String fieldName){ |
| | | if(c!=null&&isNotNull(fieldName)){ |
| | | if(c != null && isNotNull(fieldName)){ |
| | | try { |
| | | PropertyDescriptor pd = new PropertyDescriptor(fieldName, c); |
| | | return pd.getWriteMethod(); |
| | | } catch (SecurityException e) { |
| | | } catch (IntrospectionException e) { |
| | | } catch (Exception e) { |
| | | //TODO 不做处理 |
| | | } |
| | | } |
| | | return null; |
| | |
| | | * @param value 属性值 |
| | | */ |
| | | public static void setValueForFieldFromCbo(String fieldName,Object obj,String value){ |
| | | System.out.println("fieldName:"+fieldName+",value:"+value); |
| | | try{ |
| | | Field field = getFieldForObject(fieldName,obj); |
| | | if(field != null){ |
| | |
| | | List<Field> boFields = getAllFieldForObj(bo.getClass()); |
| | | if(!CollectionUtils.isEmpty(boFields)){ |
| | | for(Field field : boFields){ |
| | | //说明这个就是在BO对象上的 |
| | | Object value = getValueFromField(field.getName(), bo); |
| | | if(value != null){ |
| | | //BusinessObject和BaseModel中,以下的属性,不相同,需要单独处理 |
| | | switch (field.getName().toLowerCase()){ |
| | | case "revoid": |
| | | setValueForFieldFromCbo("revisionOid", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "btname": |
| | | setValueForFieldFromCbo("btmName", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "islastr": |
| | | setValueForFieldFromCbo("lastr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "isfirstr": |
| | | setValueForFieldFromCbo("firstr", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "islastv": |
| | | setValueForFieldFromCbo("lastv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "isfirstv": |
| | | setValueForFieldFromCbo("firstv", obj, getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"); |
| | | break; |
| | | case "modifytime": |
| | | setValueForFieldFromCbo("lastmodifytime", obj, getStringValueFromObject(value)); |
| | | break; |
| | | case "fromversion": |
| | | setValueForFieldFromCbo("copyFromVersion", obj, getStringValueFromObject(value)); |
| | | break; |
| | | default: |
| | | setValueForFieldFromCbo(fieldAttrMap.get(field.getName().toLowerCase()), obj, getStringValueFromObject(value)); |
| | | break; |
| | | if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsValue(field.getName().toLowerCase())){ |
| | | //说明这个就是在BO对象上的 |
| | | Object value = getValueFromField(field.getName(), bo); |
| | | if(value != null){ |
| | | //BusinessObject和BaseModel中,是否第一版本版次的属性,需要单独处理 |
| | | String fieldValue; |
| | | if(VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(field.getName().toLowerCase())){ |
| | | fieldValue = getStringValueFromObject(value).equalsIgnoreCase("true")?"1":"0"; |
| | | }else{ |
| | | fieldValue = getStringValueFromObject(value); |
| | | } |
| | | setValueForFieldFromCbo(fieldAttrMap.get(field.getName().toLowerCase()), obj, fieldValue); |
| | | } |
| | | } |
| | | } |
| | |
| | | * @return true为默认 |
| | | */ |
| | | public static boolean isDefaultField(String fieldNames){ |
| | | if(VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.LIFECYCLE_MANAGE_FIELD_MAP.containsKey(fieldNames) |
| | | || VciQueryWrapperForDO.REVISION_MANAGE_FIELD_MAP.containsKey(fieldNames) || VciQueryWrapperForDO.BASE_MODEL_COMPATIBILITY_MAP.containsValue(fieldNames)) { |
| | | if(VciQueryWrapperForDO.BASEMODEL_CBO_FIELD_MAP.containsKey(fieldNames)) { |
| | | return true; |
| | | } |
| | | return false; |