|
@@ -26,6 +26,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -177,7 +178,7 @@ public class PersonFieldService {
|
|
|
});
|
|
|
}
|
|
|
//当是专利的配置时
|
|
|
- if (item.getTableName().trim().equals(PatentDictionary.NAME)) {
|
|
|
+ if (item.getTableName().trim().equals(PatentDictionary.NAME)&&item.getProjectId()!=null) {
|
|
|
//根据专题库id 查询所有自定义字段
|
|
|
List<AllCustomFieldVO> allCustomFieldVOS = customFieldService.getAllProjectCustomField(item.getProjectId());
|
|
|
//遍历装载
|
|
@@ -254,6 +255,7 @@ public class PersonFieldService {
|
|
|
Integer projectId = getTabelColumDTO.getProjectId();
|
|
|
Integer taskId = getTabelColumDTO.getTaskId();
|
|
|
String tableName = getTabelColumDTO.getTableName();
|
|
|
+ Integer productId = getTabelColumDTO.getProductId();
|
|
|
//根据登录人id和type查询
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
try {
|
|
@@ -265,19 +267,23 @@ public class PersonFieldService {
|
|
|
String key = "";
|
|
|
|
|
|
if (projectId == null) {
|
|
|
- key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId);
|
|
|
+ if (productId != null) {
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.PRODUCT + RedisConf.SYMBOL_COLON + productId);
|
|
|
+ } else {
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId);
|
|
|
+ }
|
|
|
} else {
|
|
|
- key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + projectId);
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.PROJECT + RedisConf.SYMBOL_COLON + projectId);
|
|
|
}
|
|
|
+ String redisKey = RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key;
|
|
|
+ String json = redisUtil.get(redisKey);
|
|
|
|
|
|
- String json = redisUtil.get(RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key);
|
|
|
-
|
|
|
+ String fieldJson = "";
|
|
|
//如果查到
|
|
|
+ List<PersonSelfFieldVO> reFieldVos =new ArrayList<>();
|
|
|
if (StringUtils.isNotEmpty(json)) {
|
|
|
- return JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
|
|
|
+ reFieldVos =JsonUtils.jsonToList(json, PersonSelfFieldVO.class);
|
|
|
}
|
|
|
- String fieldJson = "";
|
|
|
- //如果没查询到,则获取所有栏位添加到redis里
|
|
|
try {
|
|
|
fieldJson = CommonService.readJsonFile(tableName + ".json");
|
|
|
} catch (Exception e) {
|
|
@@ -292,15 +298,14 @@ public class PersonFieldService {
|
|
|
if (fieldVOS == null || fieldVOS.size() == 0) {
|
|
|
throw new XiaoShiException("表中无字段");
|
|
|
}
|
|
|
- fieldVOS.forEach(item -> {
|
|
|
- item.setCreateType(1);
|
|
|
- });
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//当tableName是patent时
|
|
|
- if (PatentDictionary.NAME.equals(tableName)) {
|
|
|
+ if (PatentDictionary.NAME.equals(tableName)&&projectId!=null) {
|
|
|
//获得所有自定义字段
|
|
|
List<AllCustomFieldVO> allCustomFieldVOS = customFieldService.getAllProjectCustomField(projectId);
|
|
|
- AllCustomFieldVO allCustomFieldVO =new AllCustomFieldVO();
|
|
|
+ AllCustomFieldVO allCustomFieldVO = new AllCustomFieldVO();
|
|
|
allCustomFieldVO.setName("标签");
|
|
|
allCustomFieldVO.setId(0);
|
|
|
allCustomFieldVO.setType(10);
|
|
@@ -320,20 +325,25 @@ public class PersonFieldService {
|
|
|
|
|
|
}
|
|
|
//装载顺序
|
|
|
- Integer order = 0;
|
|
|
for (PersonSelfFieldVO item : fieldVOS) {
|
|
|
- item.setOrder(order);
|
|
|
- if (item.getDefaultHidden() != null && item.getDefaultHidden().equals(true)) {
|
|
|
- item.setIfHidden(true);
|
|
|
- } else {
|
|
|
- item.setIfHidden(false);
|
|
|
+ PersonSelfFieldVO personSelfFieldVO =reFieldVos.stream().filter(t->t.getValue().equals(item.getValue())&&t.getType().equals(item.getType())).findFirst().orElse(null);
|
|
|
+
|
|
|
+ if(personSelfFieldVO==null) {
|
|
|
+ if(StringUtils.isNotEmpty(json))
|
|
|
+ {
|
|
|
+ item.setIfHidden(true);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if (item.getDefaultHidden() != null && item.getDefaultHidden().equals(true)) {
|
|
|
+ item.setIfHidden(true);
|
|
|
+ } else {
|
|
|
+ item.setIfHidden(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ reFieldVos.add(item);
|
|
|
}
|
|
|
- order++;
|
|
|
}
|
|
|
-
|
|
|
- //保存到redis
|
|
|
- redisUtil.set(RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key, JsonUtils.objectToJson(fieldVOS));
|
|
|
- return fieldVOS;
|
|
|
+ return reFieldVos;
|
|
|
}
|
|
|
|
|
|
public List<PersonSelfFieldVO> setTableColumns(AddSelfFieldDTO addSelfFieldDTO) {
|
|
@@ -346,49 +356,23 @@ public class PersonFieldService {
|
|
|
String userId = personnelVO.getId();
|
|
|
String tableName = addSelfFieldDTO.getTableName();
|
|
|
Integer projectId = addSelfFieldDTO.getProjectId();
|
|
|
+ Integer productId =addSelfFieldDTO.getProductId();
|
|
|
+ List<PersonSelfFieldVO> personSelfFieldVOS =addSelfFieldDTO.getValue();
|
|
|
+ personSelfFieldVOS= personSelfFieldVOS.stream().filter(item->item.getIfHidden()!=null&&item.getIfHidden().equals(false)).collect(Collectors.toList());
|
|
|
String key = "";
|
|
|
if (projectId == null) {
|
|
|
- key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId);
|
|
|
- } else {
|
|
|
- key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + projectId);
|
|
|
- }
|
|
|
- String fieldJson = CommonService.readJsonFile(addSelfFieldDTO.getTableName() + ".json");
|
|
|
- List<PersonSelfFieldVO> fieldVOS = JSON.parseArray(fieldJson, PersonSelfFieldVO.class);
|
|
|
- fieldVOS = fieldVOS.stream().filter(item -> item.getIfShow().equals(true)).collect(Collectors.toList());
|
|
|
- //当tableName是patent时
|
|
|
- if (PatentDictionary.NAME.equals(tableName)) {
|
|
|
- //获得所有自定义字段
|
|
|
- List<AllCustomFieldVO> allCustomFieldVOS = customFieldService.getAllProjectCustomField(projectId);
|
|
|
- if (allCustomFieldVOS.size() != 0) {
|
|
|
- for (AllCustomFieldVO item : allCustomFieldVOS) {
|
|
|
- PersonSelfFieldVO personSelfFieldVO = new PersonSelfFieldVO();
|
|
|
- personSelfFieldVO.setIfHidden(true);
|
|
|
- personSelfFieldVO.setName(item.getName());
|
|
|
- personSelfFieldVO.setType(item.getType().toString());
|
|
|
- personSelfFieldVO.setValue(item.getId().toString());
|
|
|
- personSelfFieldVO.setDefaultHidden(true);
|
|
|
- fieldVOS.add(personSelfFieldVO);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- for (PersonSelfFieldVO item : fieldVOS) {
|
|
|
- PersonSelfFieldVO temVO = addSelfFieldDTO.getValue().stream().filter(tem -> tem.getValue().equals(item.getValue())).findFirst().orElse(null);
|
|
|
- if (temVO == null) {
|
|
|
- item.setIfHidden(true);
|
|
|
+ if (productId != null) {
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.PRODUCT + RedisConf.SYMBOL_COLON + productId);
|
|
|
} else {
|
|
|
- item.setIfHidden(temVO.getIfHidden());
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ key = SecureUtil.md5(tableName + RedisConf.SYMBOL_COLON + userId + RedisConf.SYMBOL_COLON + RedisConf.PROJECT + RedisConf.SYMBOL_COLON + projectId);
|
|
|
}
|
|
|
+ String redisKey = RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key;
|
|
|
+ redisUtil.set(redisKey, JsonUtils.objectToJson(personSelfFieldVOS));
|
|
|
|
|
|
- Integer order = 0;
|
|
|
-
|
|
|
- for (PersonSelfFieldVO item : fieldVOS) {
|
|
|
- item.setOrder(order);
|
|
|
- order++;
|
|
|
- }
|
|
|
- redisUtil.set(RedisConf.USER_FIELD + RedisConf.SYMBOL_COLON + key, JsonUtils.objectToJson(fieldVOS));
|
|
|
-
|
|
|
- return fieldVOS;
|
|
|
+ return personSelfFieldVOS;
|
|
|
}
|
|
|
|
|
|
/**
|