|
@@ -396,7 +396,8 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
featureList = allFeatures
|
|
|
.stream()
|
|
|
.filter(item -> item.getRightSort().equals(sort))
|
|
|
- .sorted(Comparator.comparingInt(Feature::getSysOrder))
|
|
|
+ .sorted(Comparator.comparing(Feature::getSysOrder,
|
|
|
+ Comparator.nullsLast(Integer::compareTo)))
|
|
|
.collect(Collectors.toList());
|
|
|
PatentRightVo patentRightVo = new PatentRightVo();
|
|
|
patentRightVo.setPatentNo(patentRights.get(i).getPatentNo());
|
|
@@ -544,7 +545,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
if (patentSplitMessage == null) {
|
|
|
throw new XiaoShiException("未进行拆分过");
|
|
|
}
|
|
|
- List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId);
|
|
|
+ List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId,signPatentNo);
|
|
|
return ids;
|
|
|
}
|
|
|
|
|
@@ -557,7 +558,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
* @param projectId
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId) {
|
|
|
+ public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId,String patentNo) {
|
|
|
List<Integer> addIds = new ArrayList<>();
|
|
|
LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.select(Feature::getId);
|
|
@@ -570,35 +571,36 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
personnelVO.setTenantId(1);
|
|
|
|
|
|
List<Feature> addFeatures = new ArrayList<>();
|
|
|
- features.forEach(item -> {
|
|
|
- Integer id = item.getId();
|
|
|
- if (id == null) {
|
|
|
- Feature feature = new Feature();
|
|
|
- feature.setCreateId(personnelVO.getId());
|
|
|
- feature.setSplitMessageId(splitMessageId);
|
|
|
- feature.setContent(item.getContent());
|
|
|
- feature.setExplainText(item.getExplainText());
|
|
|
- feature.setRightSort(item.getRightSort());
|
|
|
- feature.setProjectId(projectId);
|
|
|
- feature.setSysOrder(item.getSysOrder());
|
|
|
- feature.setTenantId(personnelVO.getTenantId());
|
|
|
- addFeatures.add(feature);
|
|
|
- } else {
|
|
|
- ids.remove(id);
|
|
|
- if (item.getIfChange() != null && item.getIfChange().equals(true)) {
|
|
|
- Feature feature = this.getById(id);
|
|
|
- feature.setSysOrder(item.getSysOrder());
|
|
|
+ Integer order=1;
|
|
|
+ for(UpdateFeatureDTO.ChangedFeatures item:features) {
|
|
|
+ Integer id = item.getId();
|
|
|
+ if (id == null || !ids.contains(id)) {
|
|
|
+ Feature feature = new Feature();
|
|
|
+ feature.setCreateId(personnelVO.getId());
|
|
|
+ feature.setSplitMessageId(splitMessageId);
|
|
|
feature.setContent(item.getContent());
|
|
|
feature.setExplainText(item.getExplainText());
|
|
|
- feature.updateById();
|
|
|
- }
|
|
|
- }
|
|
|
+ feature.setRightSort(item.getRightSort());
|
|
|
+ feature.setProjectId(projectId);
|
|
|
+ feature.setSysOrder(order);
|
|
|
+ feature.setPatentNo(patentNo);
|
|
|
+ feature.setRightType(item.getRightType());
|
|
|
+ feature.setTenantId(personnelVO.getTenantId());
|
|
|
+ feature.insert();
|
|
|
+ } else {
|
|
|
+ ids.remove(id);
|
|
|
+ Feature feature = this.getById(id);
|
|
|
+ feature.setSysOrder(order);
|
|
|
+ feature.setContent(item.getContent());
|
|
|
+ feature.setExplainText(item.getExplainText());
|
|
|
+ feature.updateById();
|
|
|
|
|
|
- });
|
|
|
+ }
|
|
|
+ order++;
|
|
|
+ }
|
|
|
|
|
|
//添加特征
|
|
|
if (addFeatures.size() != 0) {
|
|
|
- this.saveBatch(addFeatures);
|
|
|
addIds = addFeatures.stream().map(Feature::getId).collect(Collectors.toList());
|
|
|
}
|
|
|
if (ids.size() != 0) {
|