fix(quotation): 修复机型配置模块的数据处理问题
- 将AdminMenuButtonVO中的id字段从Integer改为Long类型 - 修复ModelConfigController中排序逻辑,使用getItemId替代getId进行排序 - 在配置复制时清理children数据并移除无用节点 - 添加配置状态重置逻辑,将configStatus设为0,清空年份和版本信息 - 修复ID重新分配逻辑,确保父子关系正确映射 - 添加重复名称验证防止部件或系统名称冲突 - 优化删除逻辑,支持级联删除子项目 - 修复启用禁用功能,添加父级状态检查 - 在发布配置时自动生成年份信息 - 添加itemId字段到ModelConfigItemUpdateRequest请求类 - 为ModelConfigVO添加key字段用于标识 - 修复查询排序,按更新时间、创建时间降序排列 - 统一菜单按钮相关接口的menuId参数类型为Long
This commit is contained in:
parent
85987c0b01
commit
0975b122b9
|
|
@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
|
||||||
public class SearchMenuButtonRequest extends PageRequest {
|
public class SearchMenuButtonRequest extends PageRequest {
|
||||||
|
|
||||||
// 菜单id
|
// 菜单id
|
||||||
private Integer menuId;
|
private Long menuId;
|
||||||
|
|
||||||
// 菜单按钮名称
|
// 菜单按钮名称
|
||||||
private String name;
|
private String name;
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import java.time.LocalDateTime;
|
||||||
@Data
|
@Data
|
||||||
public class AdminMenuButtonVO {
|
public class AdminMenuButtonVO {
|
||||||
|
|
||||||
private Integer id;
|
private Long id;
|
||||||
|
|
||||||
// 按钮名称
|
// 按钮名称
|
||||||
private String name;
|
private String name;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.nflg.mobilebroken.common.pojo.vo;
|
package com.nflg.mobilebroken.common.pojo.vo;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -7,6 +8,8 @@ import java.time.LocalDateTime;
|
||||||
@Data
|
@Data
|
||||||
public class ModelConfigVO {
|
public class ModelConfigVO {
|
||||||
|
|
||||||
|
private String key= IdUtil.getSnowflakeNextIdStr();
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -77,20 +77,15 @@ public class ModelConfigController extends ControllerBase {
|
||||||
return ApiResult.success(Collections.emptyList());
|
return ApiResult.success(Collections.emptyList());
|
||||||
}
|
}
|
||||||
vos.stream().filter(vo -> vo.getItemParentId() == 0L)
|
vos.stream().filter(vo -> vo.getItemParentId() == 0L)
|
||||||
.sorted(Comparator.comparing(ModelConfigItemLanguageVO::getId))
|
.sorted(Comparator.comparing(ModelConfigItemLanguageVO::getItemId))
|
||||||
.forEach(vo -> vo.setChildren(vos.stream()
|
.forEach(vo ->
|
||||||
.filter(i -> i.getItemParentId().equals(vo.getId()))
|
vo.setChildren(vos.stream()
|
||||||
.map(i -> new ModelConfigItemLanguageVO()
|
.filter(i -> i.getItemParentId().equals(vo.getItemId()))
|
||||||
.setId(i.getId())
|
.sorted(Comparator.comparing(ModelConfigItemLanguageVO::getItemId))
|
||||||
.setPartName(i.getPartName())
|
.collect(Collectors.toList())
|
||||||
.setPartRemark(i.getPartRemark())
|
)
|
||||||
.setImageUrl(i.getImageUrl())
|
);
|
||||||
.setEnable(i.getEnable())
|
vos.removeIf(it -> it.getItemParentId() != 0L);
|
||||||
.setType(i.getType())
|
|
||||||
.setOptionalType(i.getOptionalType())
|
|
||||||
).sorted(Comparator.comparing(ModelConfigItemLanguageVO::getId))
|
|
||||||
.collect(Collectors.toList())
|
|
||||||
));
|
|
||||||
return ApiResult.success(vos);
|
return ApiResult.success(vos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,6 +107,9 @@ public class ModelConfigController extends ControllerBase {
|
||||||
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
||||||
.eq(QuotationModelConfigItemLanguage::getConfigId, request.getConfigId())
|
.eq(QuotationModelConfigItemLanguage::getConfigId, request.getConfigId())
|
||||||
.list();
|
.list();
|
||||||
|
config.setConfigStatus(0);
|
||||||
|
config.setConfigYear(null);
|
||||||
|
config.setConfigVersion(null);
|
||||||
config.setId(IdUtil.getSnowflakeNextId());
|
config.setId(IdUtil.getSnowflakeNextId());
|
||||||
request.setConfigId(config.getId());
|
request.setConfigId(config.getId());
|
||||||
config.setUpdateById(AdminUserUtil.getUserId());
|
config.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
|
@ -120,19 +118,26 @@ public class ModelConfigController extends ControllerBase {
|
||||||
modelConfigService.save(config);
|
modelConfigService.save(config);
|
||||||
if (CollectionUtil.isNotEmpty(items)) {
|
if (CollectionUtil.isNotEmpty(items)) {
|
||||||
items.forEach(it -> {
|
items.forEach(it -> {
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
Long id = IdUtil.getSnowflakeNextId();
|
||||||
|
if (Objects.equals(request.getParentId(), it.getId())){
|
||||||
|
request.setParentId(id);
|
||||||
|
}
|
||||||
|
itemLanguages.stream()
|
||||||
|
.filter(i -> i.getConfigItemId().equals(it.getId()))
|
||||||
|
.forEach(i -> {
|
||||||
|
i.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
i.setConfigId(config.getId());
|
||||||
|
i.setConfigItemId(id);
|
||||||
|
i.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
i.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
i.setUpdateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
items.stream().filter(i -> i.getParentId().equals(it.getId()))
|
||||||
|
.forEach(i -> i.setParentId(id));
|
||||||
|
it.setId(id);
|
||||||
it.setConfigId(config.getId());
|
it.setConfigId(config.getId());
|
||||||
});
|
});
|
||||||
modelConfigItemService.saveBatch(items);
|
modelConfigItemService.saveBatch(items);
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
|
||||||
itemLanguages.forEach(it -> {
|
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
|
||||||
it.setConfigId(config.getId());
|
|
||||||
it.setUpdateById(AdminUserUtil.getUserId());
|
|
||||||
it.setUpdateBy(AdminUserUtil.getUserName());
|
|
||||||
it.setUpdateTime(LocalDateTime.now());
|
|
||||||
});
|
|
||||||
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -208,6 +213,9 @@ public class ModelConfigController extends ControllerBase {
|
||||||
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
||||||
.eq(QuotationModelConfigItemLanguage::getConfigId, languageItem.getConfigId())
|
.eq(QuotationModelConfigItemLanguage::getConfigId, languageItem.getConfigId())
|
||||||
.list();
|
.list();
|
||||||
|
config.setConfigStatus(0);
|
||||||
|
config.setConfigYear(null);
|
||||||
|
config.setConfigVersion(null);
|
||||||
config.setId(IdUtil.getSnowflakeNextId());
|
config.setId(IdUtil.getSnowflakeNextId());
|
||||||
config.setUpdateById(AdminUserUtil.getUserId());
|
config.setUpdateById(AdminUserUtil.getUserId());
|
||||||
config.setUpdateBy(AdminUserUtil.getUserName());
|
config.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
|
@ -215,7 +223,32 @@ public class ModelConfigController extends ControllerBase {
|
||||||
modelConfigService.save(config);
|
modelConfigService.save(config);
|
||||||
if (CollectionUtil.isNotEmpty(items)) {
|
if (CollectionUtil.isNotEmpty(items)) {
|
||||||
items.forEach(it -> {
|
items.forEach(it -> {
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
Long id = IdUtil.getSnowflakeNextId();
|
||||||
|
if (Objects.equals(request.getParentId(), it.getId())){
|
||||||
|
request.setParentId(id);
|
||||||
|
}
|
||||||
|
itemLanguages.stream()
|
||||||
|
.filter(i -> i.getConfigItemId().equals(it.getId()))
|
||||||
|
.forEach(i -> {
|
||||||
|
VUtils.trueThrowBusinessError(modelConfigItemLanguageService.lambdaQuery()
|
||||||
|
.eq(QuotationModelConfigItemLanguage::getConfigId, languageItem.getConfigId())
|
||||||
|
.eq(QuotationModelConfigItemLanguage::getLanguageId, languageItem.getLanguageId())
|
||||||
|
.eq(QuotationModelConfigItemLanguage::getPartName, request.getPartName())
|
||||||
|
.exists())
|
||||||
|
.throwMessage("已存在该名称的部件或系统");
|
||||||
|
if (i.getId().equals(request.getId())) {
|
||||||
|
i.setPartName(request.getPartName());
|
||||||
|
i.setPartRemark(request.getPartRemark());
|
||||||
|
}
|
||||||
|
i.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
i.setConfigId(config.getId());
|
||||||
|
i.setConfigItemId(id);
|
||||||
|
i.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
i.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
i.setUpdateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
items.stream().filter(i -> i.getParentId().equals(it.getId()))
|
||||||
|
.forEach(i -> i.setParentId(id));
|
||||||
it.setConfigId(config.getId());
|
it.setConfigId(config.getId());
|
||||||
if (StrUtil.equals(request.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE)
|
if (StrUtil.equals(request.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE)
|
||||||
&& it.getId().equals(languageItem.getConfigItemId())) {
|
&& it.getId().equals(languageItem.getConfigItemId())) {
|
||||||
|
|
@ -226,29 +259,29 @@ public class ModelConfigController extends ControllerBase {
|
||||||
it.setPartRemark(request.getPartRemark());
|
it.setPartRemark(request.getPartRemark());
|
||||||
it.setImageUrl(request.getImageUrl());
|
it.setImageUrl(request.getImageUrl());
|
||||||
}
|
}
|
||||||
|
it.setId(id);
|
||||||
});
|
});
|
||||||
modelConfigItemService.saveBatch(items);
|
modelConfigItemService.saveBatch(items);
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
|
||||||
itemLanguages.forEach(it -> {
|
|
||||||
VUtils.trueThrowBusinessError(modelConfigItemLanguageService.lambdaQuery()
|
|
||||||
.eq(QuotationModelConfigItemLanguage::getConfigId, languageItem.getConfigId())
|
|
||||||
.eq(QuotationModelConfigItemLanguage::getLanguageId, languageItem.getLanguageId())
|
|
||||||
.eq(QuotationModelConfigItemLanguage::getPartName, request.getPartName())
|
|
||||||
.exists())
|
|
||||||
.throwMessage("已存在该名称的部件或系统");
|
|
||||||
if (it.getId().equals(request.getId())) {
|
|
||||||
it.setPartName(request.getPartName());
|
|
||||||
it.setPartRemark(request.getPartRemark());
|
|
||||||
}
|
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
|
||||||
it.setConfigId(config.getId());
|
|
||||||
it.setUpdateById(AdminUserUtil.getUserId());
|
|
||||||
it.setUpdateBy(AdminUserUtil.getUserName());
|
|
||||||
it.setUpdateTime(LocalDateTime.now());
|
|
||||||
});
|
|
||||||
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
languageItem.setPartName(request.getPartName());
|
||||||
|
languageItem.setPartRemark(request.getPartRemark());
|
||||||
|
languageItem.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
languageItem.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
languageItem.setUpdateTime(LocalDateTime.now());
|
||||||
|
if (StrUtil.equals(request.getLanguageCode(), Constant.DEFAULT_LANGUAGE_CODE)) {
|
||||||
|
modelConfigItemService.lambdaUpdate()
|
||||||
|
.set(QuotationModelConfigItem::getType, request.getType())
|
||||||
|
.set(QuotationModelConfigItem::getOptionalType, request.getOptionalType())
|
||||||
|
.set(QuotationModelConfigItem::getParentId, request.getParentId())
|
||||||
|
.set(QuotationModelConfigItem::getPartName, request.getPartName())
|
||||||
|
.set(QuotationModelConfigItem::getPartRemark, request.getPartRemark())
|
||||||
|
.set(QuotationModelConfigItem::getImageUrl, request.getImageUrl())
|
||||||
|
.eq(QuotationModelConfigItem::getId, request.getItemId())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
modelConfigItemLanguageService.updateById(languageItem);
|
||||||
}
|
}
|
||||||
return ApiResult.success(config.getId());
|
return ApiResult.success(config.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -263,7 +296,8 @@ public class ModelConfigController extends ControllerBase {
|
||||||
List<QuotationModelConfigItem> items = modelConfigItemService.lambdaQuery()
|
List<QuotationModelConfigItem> items = modelConfigItemService.lambdaQuery()
|
||||||
.in(QuotationModelConfigItem::getId, ids)
|
.in(QuotationModelConfigItem::getId, ids)
|
||||||
.list();
|
.list();
|
||||||
VUtils.trueThrowBusinessError(items.size() > 1).throwMessage("数据错误");
|
VUtils.trueThrowBusinessError(items.stream().map(QuotationModelConfigItem::getConfigId).distinct().count() > 1)
|
||||||
|
.throwMessage("数据错误");
|
||||||
QuotationModelConfig config = modelConfigService.getById(items.get(0).getConfigId());
|
QuotationModelConfig config = modelConfigService.getById(items.get(0).getConfigId());
|
||||||
VUtils.trueThrowBusinessError(Objects.isNull(config)).throwMessage("无效的机型配置");
|
VUtils.trueThrowBusinessError(Objects.isNull(config)).throwMessage("无效的机型配置");
|
||||||
if (config.getConfigStatus() != 0) {
|
if (config.getConfigStatus() != 0) {
|
||||||
|
|
@ -273,34 +307,61 @@ public class ModelConfigController extends ControllerBase {
|
||||||
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
||||||
.eq(QuotationModelConfigItemLanguage::getConfigId, config.getId())
|
.eq(QuotationModelConfigItemLanguage::getConfigId, config.getId())
|
||||||
.list();
|
.list();
|
||||||
|
config.setConfigStatus(0);
|
||||||
config.setId(IdUtil.getSnowflakeNextId());
|
config.setId(IdUtil.getSnowflakeNextId());
|
||||||
config.setUpdateById(AdminUserUtil.getUserId());
|
config.setUpdateById(AdminUserUtil.getUserId());
|
||||||
config.setUpdateBy(AdminUserUtil.getUserName());
|
config.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
config.setUpdateTime(LocalDateTime.now());
|
config.setUpdateTime(LocalDateTime.now());
|
||||||
modelConfigService.save(config);
|
modelConfigService.save(config);
|
||||||
|
List<Long> childrenIds = modelConfigItemService.lambdaQuery()
|
||||||
|
.select(QuotationModelConfigItem::getId)
|
||||||
|
.in(QuotationModelConfigItem::getParentId, ids)
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(QuotationModelConfigItem::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Collection<Long> allIds = CollectionUtil.union(childrenIds, ids);
|
||||||
if (CollectionUtil.isNotEmpty(items)) {
|
if (CollectionUtil.isNotEmpty(items)) {
|
||||||
items.removeIf(it -> ids.contains(it.getId()));
|
items.removeIf(it -> allIds.contains(it.getId()));
|
||||||
|
itemLanguages.removeIf(it -> allIds.contains(it.getConfigItemId()));
|
||||||
|
List<QuotationModelConfigItem> finalItems = items;
|
||||||
items.forEach(it -> {
|
items.forEach(it -> {
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
Long id = IdUtil.getSnowflakeNextId();
|
||||||
|
itemLanguages.forEach(i -> {
|
||||||
|
i.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
i.setConfigId(config.getId());
|
||||||
|
i.setConfigItemId(id);
|
||||||
|
i.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
i.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
i.setUpdateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
finalItems.stream().filter(i -> i.getParentId().equals(it.getId()))
|
||||||
|
.forEach(i -> i.setParentId(id));
|
||||||
|
it.setId(id);
|
||||||
it.setConfigId(config.getId());
|
it.setConfigId(config.getId());
|
||||||
});
|
});
|
||||||
if (CollectionUtil.isNotEmpty(items)) {
|
if (CollectionUtil.isNotEmpty(items)) {
|
||||||
modelConfigItemService.saveBatch(items);
|
modelConfigItemService.saveBatch(items);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
|
||||||
itemLanguages.removeIf(it -> ids.contains(it.getConfigItemId()));
|
|
||||||
itemLanguages.forEach(it -> {
|
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
|
||||||
it.setConfigId(config.getId());
|
|
||||||
it.setUpdateById(AdminUserUtil.getUserId());
|
|
||||||
it.setUpdateBy(AdminUserUtil.getUserName());
|
|
||||||
it.setUpdateTime(LocalDateTime.now());
|
|
||||||
});
|
|
||||||
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
||||||
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
List<Long> childrenIds = modelConfigItemService.lambdaQuery()
|
||||||
|
.select(QuotationModelConfigItem::getId)
|
||||||
|
.in(QuotationModelConfigItem::getParentId, ids)
|
||||||
|
.list()
|
||||||
|
.stream()
|
||||||
|
.map(QuotationModelConfigItem::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Collection<Long> allIds = CollectionUtil.union(childrenIds, ids);
|
||||||
|
modelConfigItemService.lambdaUpdate()
|
||||||
|
.in(QuotationModelConfigItem::getId, allIds)
|
||||||
|
.remove();
|
||||||
|
modelConfigItemLanguageService.lambdaUpdate()
|
||||||
|
.in(QuotationModelConfigItemLanguage::getConfigItemId, allIds)
|
||||||
|
.remove();
|
||||||
}
|
}
|
||||||
return ApiResult.success(config.getId());
|
return ApiResult.success(config.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -324,6 +385,9 @@ public class ModelConfigController extends ControllerBase {
|
||||||
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
List<QuotationModelConfigItemLanguage> itemLanguages = modelConfigItemLanguageService.lambdaQuery()
|
||||||
.eq(QuotationModelConfigItemLanguage::getConfigId, config.getId())
|
.eq(QuotationModelConfigItemLanguage::getConfigId, config.getId())
|
||||||
.list();
|
.list();
|
||||||
|
config.setConfigStatus(0);
|
||||||
|
config.setConfigYear(null);
|
||||||
|
config.setConfigVersion(null);
|
||||||
config.setId(IdUtil.getSnowflakeNextId());
|
config.setId(IdUtil.getSnowflakeNextId());
|
||||||
config.setUpdateById(AdminUserUtil.getUserId());
|
config.setUpdateById(AdminUserUtil.getUserId());
|
||||||
config.setUpdateBy(AdminUserUtil.getUserName());
|
config.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
|
@ -331,24 +395,48 @@ public class ModelConfigController extends ControllerBase {
|
||||||
modelConfigService.save(config);
|
modelConfigService.save(config);
|
||||||
if (CollectionUtil.isNotEmpty(items)) {
|
if (CollectionUtil.isNotEmpty(items)) {
|
||||||
items.forEach(it -> {
|
items.forEach(it -> {
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
Long id = IdUtil.getSnowflakeNextId();
|
||||||
|
itemLanguages.stream()
|
||||||
|
.filter(i -> i.getConfigItemId().equals(it.getId()))
|
||||||
|
.forEach(i -> {
|
||||||
|
i.setId(IdUtil.getSnowflakeNextId());
|
||||||
|
i.setConfigId(config.getId());
|
||||||
|
i.setConfigItemId(id);
|
||||||
|
i.setUpdateById(AdminUserUtil.getUserId());
|
||||||
|
i.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
|
i.setUpdateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
it.setId(id);
|
||||||
it.setConfigId(config.getId());
|
it.setConfigId(config.getId());
|
||||||
if (it.getId().equals(request.getId())) {
|
if (it.getId().equals(request.getId())) {
|
||||||
|
VUtils.trueThrowBusinessError(
|
||||||
|
request.getEnable() && modelConfigItemService.lambdaQuery()
|
||||||
|
.eq(QuotationModelConfigItem::getId, it.getParentId())
|
||||||
|
.eq(QuotationModelConfigItem::getEnable, false)
|
||||||
|
.exists()
|
||||||
|
).throwMessage("父级部件或系统已禁用");
|
||||||
|
it.setEnable(request.getEnable());
|
||||||
|
}
|
||||||
|
if (it.getParentId().equals(request.getId())) {
|
||||||
it.setEnable(request.getEnable());
|
it.setEnable(request.getEnable());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
modelConfigItemService.saveBatch(items);
|
modelConfigItemService.saveBatch(items);
|
||||||
}
|
|
||||||
if (CollectionUtil.isNotEmpty(itemLanguages)) {
|
|
||||||
itemLanguages.forEach(it -> {
|
|
||||||
it.setId(IdUtil.getSnowflakeNextId());
|
|
||||||
it.setConfigId(config.getId());
|
|
||||||
it.setUpdateById(AdminUserUtil.getUserId());
|
|
||||||
it.setUpdateBy(AdminUserUtil.getUserName());
|
|
||||||
it.setUpdateTime(LocalDateTime.now());
|
|
||||||
});
|
|
||||||
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
modelConfigItemLanguageService.saveBatch(itemLanguages);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
VUtils.trueThrowBusinessError(
|
||||||
|
request.getEnable() && modelConfigItemService.lambdaQuery()
|
||||||
|
.eq(QuotationModelConfigItem::getId, item.getParentId())
|
||||||
|
.eq(QuotationModelConfigItem::getEnable, false)
|
||||||
|
.exists()
|
||||||
|
).throwMessage("父级部件或系统已禁用");
|
||||||
|
item.setEnable(request.getEnable());
|
||||||
|
modelConfigItemService.updateById(item);
|
||||||
|
modelConfigItemService.lambdaUpdate()
|
||||||
|
.set(QuotationModelConfigItem::getEnable, request.getEnable())
|
||||||
|
.eq(QuotationModelConfigItem::getParentId, item.getId())
|
||||||
|
.update();
|
||||||
}
|
}
|
||||||
return ApiResult.success(config.getId());
|
return ApiResult.success(config.getId());
|
||||||
}
|
}
|
||||||
|
|
@ -372,6 +460,7 @@ public class ModelConfigController extends ControllerBase {
|
||||||
.update();
|
.update();
|
||||||
config.setConfigStatus(1);
|
config.setConfigStatus(1);
|
||||||
config.setConfigVersion("MC" + DateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmm"));
|
config.setConfigVersion("MC" + DateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmm"));
|
||||||
|
config.setConfigYear(String.valueOf(LocalDateTime.now().getYear()));
|
||||||
config.setUpdateById(AdminUserUtil.getUserId());
|
config.setUpdateById(AdminUserUtil.getUserId());
|
||||||
config.setUpdateBy(AdminUserUtil.getUserName());
|
config.setUpdateBy(AdminUserUtil.getUserName());
|
||||||
config.setUpdateTime(LocalDateTime.now());
|
config.setUpdateTime(LocalDateTime.now());
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@ public class ModelConfigItemUpdateRequest{
|
||||||
@NotNull
|
@NotNull
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private Long itemId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多语言
|
* 多语言
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,6 @@
|
||||||
AND pm.`no` like concat('%', #{request.no}, '%')
|
AND pm.`no` like concat('%', #{request.no}, '%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by qmc.update_time desc,pm.id
|
order by qmc.update_time desc,qmc.create_time desc,pm.id
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue