|
@@ -247,22 +247,26 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
|
|
|
|
|
|
|
|
public List<AllCustomFieldVO> getAllProjectCustomField(Integer projectId) {
|
|
public List<AllCustomFieldVO> getAllProjectCustomField(Integer projectId) {
|
|
- Integer order = 0;
|
|
|
|
|
|
+
|
|
List<AllCustomFieldVO> allCustomFieldVOS = cacheUtils.getPatentCustomField(projectId);
|
|
List<AllCustomFieldVO> allCustomFieldVOS = cacheUtils.getPatentCustomField(projectId);
|
|
if (CollectionUtils.isEmpty(allCustomFieldVOS)) {
|
|
if (CollectionUtils.isEmpty(allCustomFieldVOS)) {
|
|
allCustomFieldVOS = new ArrayList<>();
|
|
allCustomFieldVOS = new ArrayList<>();
|
|
- //根据 project获得栏位值
|
|
|
|
- List<CustomField> customFields = new ArrayList<>();
|
|
|
|
- LambdaQueryWrapper<CustomField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper.eq(CustomField::getProjectId, projectId);
|
|
|
|
- customFields = this.list(queryWrapper);
|
|
|
|
- //
|
|
|
|
- LambdaQueryWrapper<AssoProjectTreeNode> assoQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- assoQueryWrapper.eq(AssoProjectTreeNode::getProjectId, projectId);
|
|
|
|
- List<AssoProjectTreeNode> projectTreeNodes = assoProjectTreeNodeService.list(assoQueryWrapper);
|
|
|
|
-
|
|
|
|
- for (CustomField item : customFields) {
|
|
|
|
- AllCustomFieldVO allCustomFieldVO = new AllCustomFieldVO();
|
|
|
|
|
|
+ }
|
|
|
|
+ Integer order = allCustomFieldVOS.size();
|
|
|
|
+ //根据 project获得栏位值
|
|
|
|
+ List<CustomField> customFields = new ArrayList<>();
|
|
|
|
+ LambdaQueryWrapper<CustomField> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(CustomField::getProjectId, projectId);
|
|
|
|
+ customFields = this.list(queryWrapper);
|
|
|
|
+ //
|
|
|
|
+ LambdaQueryWrapper<AssoProjectTreeNode> assoQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ assoQueryWrapper.eq(AssoProjectTreeNode::getProjectId, projectId);
|
|
|
|
+ List<AssoProjectTreeNode> projectTreeNodes = assoProjectTreeNodeService.list(assoQueryWrapper);
|
|
|
|
+
|
|
|
|
+ for (CustomField item : customFields) {
|
|
|
|
+ AllCustomFieldVO allCustomFieldVO = allCustomFieldVOS.stream().filter(i -> i.getId().equals(item.getId()) && i.getType().equals(item.getType())).findFirst().orElse(null);
|
|
|
|
+ if (allCustomFieldVO == null) {
|
|
|
|
+ allCustomFieldVO = new AllCustomFieldVO();
|
|
allCustomFieldVO.setId(item.getId());
|
|
allCustomFieldVO.setId(item.getId());
|
|
allCustomFieldVO.setName(item.getName());
|
|
allCustomFieldVO.setName(item.getName());
|
|
allCustomFieldVO.setType(item.getType());
|
|
allCustomFieldVO.setType(item.getType());
|
|
@@ -270,31 +274,32 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
allCustomFieldVOS.add(allCustomFieldVO);
|
|
allCustomFieldVOS.add(allCustomFieldVO);
|
|
order += 1;
|
|
order += 1;
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- for (AssoProjectTreeNode item : projectTreeNodes) {
|
|
|
|
- //根据类型和id
|
|
|
|
- AllCustomFieldVO allCustomFieldVO = new AllCustomFieldVO();
|
|
|
|
|
|
+ for (AssoProjectTreeNode item : projectTreeNodes) {
|
|
|
|
+ //根据类型和id
|
|
|
|
+ AllCustomFieldVO allCustomFieldVO = allCustomFieldVOS.stream().filter(i -> i.getId().equals(item.getId()) && i.getType().equals(item.getTreeType())).findFirst().orElse(null);
|
|
|
|
+ if (allCustomFieldVO == null) {
|
|
|
|
+ allCustomFieldVO = new AllCustomFieldVO();
|
|
allCustomFieldVO.setId(item.getId());
|
|
allCustomFieldVO.setId(item.getId());
|
|
allCustomFieldVO.setType(item.getTreeType());
|
|
allCustomFieldVO.setType(item.getTreeType());
|
|
allCustomFieldVO.setSysOrder(order);
|
|
allCustomFieldVO.setSysOrder(order);
|
|
switch (item.getTreeType()) {
|
|
switch (item.getTreeType()) {
|
|
- case 7:
|
|
|
|
- Product product = productService.getById(item.getId());
|
|
|
|
|
|
+ case 2:
|
|
|
|
+ Product product = productService.getById(item.getFieldId());
|
|
allCustomFieldVO.setName(product.getName());
|
|
allCustomFieldVO.setName(product.getName());
|
|
break;
|
|
break;
|
|
- case 8:
|
|
|
|
- ProductCategory productCategory = productCategoryService.getById(item.getId());
|
|
|
|
|
|
+ case 3:
|
|
|
|
+ ProductCategory productCategory = productCategoryService.getById(item.getFieldId());
|
|
allCustomFieldVO.setName(productCategory.getName());
|
|
allCustomFieldVO.setName(productCategory.getName());
|
|
break;
|
|
break;
|
|
- case 9:
|
|
|
|
|
|
+ case 1:
|
|
//TODO 技术类别
|
|
//TODO 技术类别
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
allCustomFieldVOS.add(allCustomFieldVO);
|
|
allCustomFieldVOS.add(allCustomFieldVO);
|
|
order += 1;
|
|
order += 1;
|
|
}
|
|
}
|
|
-
|
|
|
|
- cacheUtils.addPatentCustomField(projectId, allCustomFieldVOS);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
return allCustomFieldVOS;
|
|
return allCustomFieldVOS;
|
|
@@ -459,15 +464,15 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
fieldValueVO.setPath(item.getPath());
|
|
fieldValueVO.setPath(item.getPath());
|
|
|
|
|
|
List<String> idStrs = new ArrayList<>();
|
|
List<String> idStrs = new ArrayList<>();
|
|
- List<String> pathNames =new ArrayList<>();
|
|
|
|
|
|
+ List<String> pathNames = new ArrayList<>();
|
|
if (item.getPath() != null && !item.getPath().equals("")) {
|
|
if (item.getPath() != null && !item.getPath().equals("")) {
|
|
idStrs = Arrays.asList(item.getPath().split("/"));
|
|
idStrs = Arrays.asList(item.getPath().split("/"));
|
|
- pathNames= treeNodeService.getBaseMapper().getTreeFieldPath(idStrs);
|
|
|
|
|
|
+ pathNames = treeNodeService.getBaseMapper().getTreeFieldPath(idStrs);
|
|
|
|
|
|
}
|
|
}
|
|
pathNames.add(item.getName());
|
|
pathNames.add(item.getName());
|
|
- String pathValue= StringUtils.join(pathNames,"/");
|
|
|
|
- fieldValueVO.setPathValue(pathValue);
|
|
|
|
|
|
+ String pathValue = StringUtils.join(pathNames, "/");
|
|
|
|
+ fieldValueVO.setPathValue(pathValue);
|
|
fieldValueVO.setValue(pathValue);
|
|
fieldValueVO.setValue(pathValue);
|
|
fieldValueVOS.add(fieldValueVO);
|
|
fieldValueVOS.add(fieldValueVO);
|
|
});
|
|
});
|
|
@@ -506,7 +511,7 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
List<EsCustomFieldValueDTO> esCustomFieldDTOS = new ArrayList<>();
|
|
List<EsCustomFieldValueDTO> esCustomFieldDTOS = new ArrayList<>();
|
|
//根据名称获得标引栏位以及标引值
|
|
//根据名称获得标引栏位以及标引值
|
|
LambdaQueryWrapper<CustomField> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CustomField> queryWrapper = new LambdaQueryWrapper<>();
|
|
- queryWrapper.in(CustomField::getType, Arrays.asList(4, 5, 6))
|
|
|
|
|
|
+ queryWrapper.in(CustomField::getType, Arrays.asList(4, 5))
|
|
.eq(CustomField::getProjectId, projectId);
|
|
.eq(CustomField::getProjectId, projectId);
|
|
List<CustomField> customFields = this.list(queryWrapper);
|
|
List<CustomField> customFields = this.list(queryWrapper);
|
|
List<Integer> ids = customFields.stream().map(CustomField::getId).collect(Collectors.toList());
|
|
List<Integer> ids = customFields.stream().map(CustomField::getId).collect(Collectors.toList());
|
|
@@ -518,12 +523,6 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
optionWrapper.eq(CustomOption::getName, name)
|
|
optionWrapper.eq(CustomOption::getName, name)
|
|
.in(CustomOption::getCustomFieldId, ids);
|
|
.in(CustomOption::getCustomFieldId, ids);
|
|
List<CustomOption> options = customOptionService.list(optionWrapper);
|
|
List<CustomOption> options = customOptionService.list(optionWrapper);
|
|
- // 从 treeNode 查询名称相同的节点
|
|
|
|
- LambdaQueryWrapper<TreeNode> treeNodeWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- treeNodeWrapper.eq(TreeNode::getName, name)
|
|
|
|
- .eq(TreeNode::getType, 4)
|
|
|
|
- .in(TreeNode::getTypeId, ids);
|
|
|
|
- List<TreeNode> treeNodes = treeNodeService.list(treeNodeWrapper);
|
|
|
|
|
|
|
|
if (options != null && options.size() != 0) {
|
|
if (options != null && options.size() != 0) {
|
|
options.forEach(item -> {
|
|
options.forEach(item -> {
|
|
@@ -532,32 +531,18 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
.equals(item.getCustomFieldId()))
|
|
.equals(item.getCustomFieldId()))
|
|
.findFirst().orElse(null);
|
|
.findFirst().orElse(null);
|
|
if (esCustomFieldDTO == null) {
|
|
if (esCustomFieldDTO == null) {
|
|
|
|
+ esCustomFieldDTO = new EsCustomFieldValueDTO();
|
|
esCustomFieldDTO.setFieldId(item.getCustomFieldId().toString());
|
|
esCustomFieldDTO.setFieldId(item.getCustomFieldId().toString());
|
|
List<String> values = new ArrayList<>();
|
|
List<String> values = new ArrayList<>();
|
|
values.add(item.getId().toString());
|
|
values.add(item.getId().toString());
|
|
esCustomFieldDTO.setFieldValue(values);
|
|
esCustomFieldDTO.setFieldValue(values);
|
|
|
|
+ esCustomFieldDTOS.add(esCustomFieldDTO);
|
|
} else {
|
|
} else {
|
|
esCustomFieldDTO.getFieldValue().add(item.getId().toString());
|
|
esCustomFieldDTO.getFieldValue().add(item.getId().toString());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
- if (treeNodes != null && treeNodes.size() != 0) {
|
|
|
|
- treeNodes.forEach(item -> {
|
|
|
|
- EsCustomFieldValueDTO esCustomFieldDTO = esCustomFieldDTOS.stream()
|
|
|
|
- .filter(i -> i.getFieldId()
|
|
|
|
- .equals(item.getTypeId()))
|
|
|
|
- .findFirst().orElse(null);
|
|
|
|
- if (esCustomFieldDTO == null) {
|
|
|
|
- esCustomFieldDTO.setFieldId(item.getTypeId().toString());
|
|
|
|
- List<String> values = new ArrayList<>();
|
|
|
|
- values.add(item.getId().toString());
|
|
|
|
- esCustomFieldDTO.setFieldValue(values);
|
|
|
|
- } else {
|
|
|
|
- esCustomFieldDTO.getFieldValue().add(item.getId().toString());
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
return esCustomFieldDTOS;
|
|
return esCustomFieldDTOS;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -631,12 +616,10 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
if (customField != null) {
|
|
if (customField != null) {
|
|
return customField.getId();
|
|
return customField.getId();
|
|
}
|
|
}
|
|
- PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
CustomField customField1 = new CustomField();
|
|
CustomField customField1 = new CustomField();
|
|
customField1.setName(name);
|
|
customField1.setName(name);
|
|
customField1.setProjectId(projectId);
|
|
customField1.setProjectId(projectId);
|
|
customField1.setType(type);
|
|
customField1.setType(type);
|
|
- customField1.setCreateId(personnelVO.getId());
|
|
|
|
customField1.insert();
|
|
customField1.insert();
|
|
return customField1.getId();
|
|
return customField1.getId();
|
|
}
|
|
}
|
|
@@ -835,4 +818,54 @@ public class CustomFieldService extends ServiceImpl<CustomFieldMapper, CustomFie
|
|
//
|
|
//
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @param customerFieldList
|
|
|
|
+ */
|
|
|
|
+ public List<EsCustomFieldDTO> getFieldDTOByStrings(List<UploadParamsVO.Field> customerFieldList, Integer projectId) {
|
|
|
|
+ List<EsCustomFieldDTO> esCustomFieldDTOs =new ArrayList<>();
|
|
|
|
+ if (customerFieldList != null && customerFieldList.size() != 0) {
|
|
|
|
+
|
|
|
|
+ for (UploadParamsVO.Field field : customerFieldList) {
|
|
|
|
+ EsCustomFieldDTO esCustomFieldDTO =new EsCustomFieldDTO();
|
|
|
|
+ String key = field.getKey();
|
|
|
|
+ List<String> fieldList = field.getFieldList();
|
|
|
|
+ String[] keys = key.split(":");
|
|
|
|
+ if (keys.length < 2) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String type = keys[1].trim();
|
|
|
|
+ String fieldName = keys[0].trim();
|
|
|
|
+ Integer typeInt = Integer.parseInt(type);
|
|
|
|
+ Integer fieldId = this.GetIdByName(fieldName, projectId, typeInt);
|
|
|
|
+ esCustomFieldDTO.setFieldId(fieldId.toString());
|
|
|
|
+ List<String> values =new ArrayList<>();
|
|
|
|
+ switch (type) {
|
|
|
|
+ case "0":
|
|
|
|
+ case "1":
|
|
|
|
+ case "2":
|
|
|
|
+ esCustomFieldDTO.setFieldType(Integer.parseInt(type));
|
|
|
|
+ values =fieldList;
|
|
|
|
+ break;
|
|
|
|
+ case "4":
|
|
|
|
+ case "5":
|
|
|
|
+ esCustomFieldDTO.setFieldType(Integer.parseInt(type));
|
|
|
|
+ values = customOptionService.getIdsByNames(fieldList,fieldId);
|
|
|
|
+ break;
|
|
|
|
+ case "6":
|
|
|
|
+ esCustomFieldDTO.setFieldType(Integer.parseInt(type));
|
|
|
|
+ values =treeNodeService.getIdByNames(fieldList,fieldId);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ esCustomFieldDTO.setFieldValue(values);
|
|
|
|
+
|
|
|
|
+ esCustomFieldDTO.setProjectId(projectId);
|
|
|
|
+ esCustomFieldDTOs.add(esCustomFieldDTO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ return esCustomFieldDTOs;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|