| | |
| | | import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.ubcs.starter.web.util.VciBaseUtil; |
| | | import org.apache.commons.collections4.BidiMap; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.collections4.bidimap.DualHashBidiMap; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springblade.core.tool.utils.StringPool; |
| | | import org.springblade.core.tool.utils.StringUtil; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | } |
| | | |
| | | public abstract VciFieldTypeEnum getFieldTypeByColumnStr(String columnStr,Integer length); |
| | | |
| | | protected final VciFieldTypeEnum getFieldTypeBeColumnStrInMap(String columnStr,Integer length,BidiMap<VciFieldTypeEnum, DdlFieldMappingAttrBO> map){ |
| | | List<VciFieldTypeEnum> fieldTypes = listFieldInMapByColumnStr(columnStr, map); |
| | | VciFieldTypeEnum finalField = null; |
| | | int i = Integer.MAX_VALUE; |
| | | if (CollectionUtils.isEmpty(fieldTypes)){ |
| | | return null; |
| | | } |
| | | if (fieldTypes.size() == 1){ |
| | | return fieldTypes.get(0); |
| | | } |
| | | for (VciFieldTypeEnum fieldType : fieldTypes) { |
| | | DdlFieldMappingAttrBO bo = map.get(fieldType); |
| | | int i1 = Math.abs(bo.getDataLength() - length); |
| | | if (i1 < i){ |
| | | finalField = fieldType; |
| | | i = i1; |
| | | } |
| | | } |
| | | return finalField; |
| | | } |
| | | |
| | | } |