kimi
2020-03-24 b5636e416a2fe029f96aec6ddfd3489394925b15
src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
@@ -16,11 +16,13 @@
import com.highdatas.mdm.service.IMaintainFieldService;
import com.highdatas.mdm.service.IMaintainService;
import com.highdatas.mdm.service.ISysFieldService;
import com.highdatas.mdm.util.Constant;
import com.highdatas.mdm.util.DbUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -283,12 +285,37 @@
        }
        return collect.get(0);
    }
    @Override
    public List<SysField> getFieldByMaintainField(String maintainId) {
        if (StringUtils.isEmpty(maintainId)) {
            return selectList(new EntityWrapper<SysField>().isNull("maintain_field_id").orderBy("order_no"));
            return null;
        }
        return selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainId).orderBy("order_no"));
    }
    @Override
    public List<SysField> getDefaultTableField(String tableName) {
        return selectList(new EntityWrapper<SysField>().eq("table_name", tableName).isNull("maintain_field_id").orderBy("order_no"));
    }
    @Override
    public List<SysField> getTotalTableField(String tableName) {
        List<TableSchemaResult> tableField = tableInfoMapper.getTableField(tableName);
        List<SysField> result = new ArrayList<>();
        for (TableSchemaResult tableSchemaResult : tableField) {
            String fieldName = tableSchemaResult.getFieldName();
            List<SysField> fieldList = selectList(new EntityWrapper<SysField>().eq("table_name", tableName).eq(Constant.FIELD, fieldName).orderBy("create_time"));
            if (fieldList.isEmpty()) {
                //没有中文名称的  应该属于系统自留字段 如id
                continue;
            }
            String alias = fieldList.stream().map(SysField::getAlias).collect(Collectors.joining(Constant.SEMICOLON));
            SysField sysField = new SysField().setField(fieldName).setAlias(alias);
            result.add(sysField);
        }
        return result;
    }
}