已发布选项不能删除提示

This commit is contained in:
jing's 2024-01-27 17:19:44 +08:00
parent e0531ca0e9
commit 4383367efb
4 changed files with 60 additions and 63 deletions

View File

@ -22,7 +22,7 @@ import java.util.List;
public interface OptionalEbomConfigRMapper extends BaseMapper<OptionalEbomConfigREntity> {
public List<OptionalEbomConfigRVO> countPublishList(@Param("optionRowIds")String optionRowIds);
public List<Long> countPublishList(@Param("optionRowIds")String optionRowIds);
}

View File

@ -44,7 +44,7 @@ public class OptionalEbomConfigRService extends ServiceImpl<OptionalEbomConfigRM
}
public List<OptionalEbomConfigRVO> countPublish(String optionRowIds){
public List<Long> countPublish(String optionRowIds){
return this.baseMapper.countPublishList(optionRowIds);
}

View File

@ -72,13 +72,12 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
}
OptionalEbomMainEntity deviceEntity= SpringUtil.getBean(OptionalEbomMainService.class).getById(dto.getRootRowId());
if(deviceEntity==null){
OptionalEbomMainEntity deviceEntity = SpringUtil.getBean(OptionalEbomMainService.class).getById(dto.getRootRowId());
if (deviceEntity == null) {
throw new NflgBusinessException(STATE.BusinessError, "rootRowId对应设备信息未找到");
}
String nos = dto.getDrawingNo();
List<OptionalEbomImportChildEntity> optionList = null;
@ -92,17 +91,15 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
//先统一后分割
String strMaterial= nos.replace("", ";")
.replace(" ",";")
.replace("",";")
.replace(",",";");
strMaterial=strMaterial.replace("\n","");
String strMaterial = nos.replace("", ";")
.replace(" ", ";")
.replace("", ";")
.replace(",", ";");
strMaterial = strMaterial.replace("\n", "");
List<String> listNo = StrUtil.splitTrim(strMaterial,";");
listNo = listNo.stream().filter(str -> !str.trim().replace(" ","").isEmpty()).collect(Collectors.toList());
List<String> listNo = StrUtil.splitTrim(strMaterial, ";");
listNo = listNo.stream().filter(str -> !str.trim().replace(" ", "").isEmpty()).collect(Collectors.toList());
List<BaseMaterialVO> materialListVo = SpringUtil.getBean(MaterialMainService.class).initMaterialForMaterialNo(listNo);
if (CollectionUtil.isEmpty(materialListVo)) {
@ -113,10 +110,7 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
}
if( Objects.equals(dto.getPartType() , OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())){
if (Objects.equals(dto.getPartType(), OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())) {
SpringUtil.getBean(OptionalEbomMainHistoryService.class).convertToHistory(dto.getRootRowId());
}
@ -130,7 +124,7 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
item.setPartType(dto.getPartType());
item.setRemak(dto.getRemak());
insertOptionAction(item );
insertOptionAction(item);
});
}
@ -164,29 +158,24 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
} else {
// item.setRowId(childEntity.getRowId());
// this.getBaseMapper().updateById(item);
String bizErr=item.getMaterialNo();
String bizErr = item.getMaterialNo();
if (StrUtil.isEmpty(bizErr)) {
bizErr=item.getMaterialName();
bizErr = item.getMaterialName();
}
throw new NflgBusinessException(STATE.BusinessError, "此项存在相同物料,"+bizErr);
throw new NflgBusinessException(STATE.BusinessError, "此项存在相同物料," + bizErr);
}
}
public Boolean openCloseStatus(OptionalEbomImportChildVO vo) {
OptionalEbomImportChildEntity childEntity=getById(vo.getRowId());
if(childEntity!=null){
if( Objects.equals(childEntity.getPartType() , OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())){
OptionalEbomImportChildEntity childEntity = getById(vo.getRowId());
if (childEntity != null) {
if (Objects.equals(childEntity.getPartType(), OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())) {
SpringUtil.getBean(OptionalEbomMainHistoryService.class).convertToHistory(childEntity.getRootRowId());
}
}
@ -198,6 +187,7 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
return this.updateById(entity);
}
public void updateRemark(OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO dto) {
OptionalEbomImportChildEntity entity = new OptionalEbomImportChildEntity();
@ -209,7 +199,6 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
}
// public Boolean updateBatchChoose(List<OptionalEbomImportChildVO> list){
// List<OptionalEbomImportChildEntity> entityLists= Convert.toList(OptionalEbomImportChildEntity.class,list);
//
@ -236,30 +225,42 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
/**
* 相同部分更改isDel标记
* 不同部分没有发布数据则删除
*
* @param longIds
* @return
*/
public Boolean deleteBiz(List<Long> longIds) {
List<Long> intersectionList=new ArrayList<>(); // 更新
List<Long> subList=new ArrayList<>(); // 删除
if(CollectionUtil.isNotEmpty(longIds)) {
List<Long> intersectionList = null; // 更新
List<Long> subList = null; // 删除
if (CollectionUtil.isNotEmpty(longIds)) {
String rowIds = longIds.stream().map(Object::toString)
.collect(Collectors.joining(","));
List<OptionalEbomConfigRVO> list= SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds);
List<Long> optionIdList=list.stream().map(OptionalEbomConfigRVO::getOptionRowId).collect(Collectors.toList());
//交集 相同
// List<Long> intersectionList2= CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList());
// 第一个list 不同部分
List<Long> subList2= CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList());
// if(CollectionUtil.isNotEmpty(intersectionList2)){
// intersectionList.addAll(intersectionList2);
// }
if(CollectionUtil.isNotEmpty(subList2)){
subList.addAll(subList2);
List<Long> optionIdList = SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds);
if (optionIdList == null) {
optionIdList = new ArrayList<>();
}
//交集 相同 已发布
intersectionList = CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList());
// 第一个list 不同部分 未发布
subList = CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList());
}
//已发布提示
if (CollectionUtil.isNotEmpty(intersectionList)) {
QueryWrapper<OptionalEbomImportChildEntity> queryWrapper = new QueryWrapper();
queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, intersectionList);
List<OptionalEbomImportChildEntity> entityList = getBaseMapper().selectList(queryWrapper);
StringBuffer stringBuffer = new StringBuffer();
for (OptionalEbomImportChildEntity item :
entityList) {
stringBuffer.append(StrUtil.format("{}({}) , ", item.getMaterialName(), item.getMaterialNo()));
}
stringBuffer.append("以上数据已发布不能删除");
throw new NflgBusinessException(STATE.Error, stringBuffer.toString());
}
@ -267,10 +268,9 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
//删除未发布的选配 及暂存的选配
if (CollectionUtil.isNotEmpty(subList)) {
deleteByRowId(subList);
QueryWrapper<OptionalEbomConfigREntity> delOptionWrapper= new QueryWrapper();
delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId,subList);
QueryWrapper<OptionalEbomConfigREntity> delOptionWrapper = new QueryWrapper();
delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId, subList);
SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper);
}
@ -278,9 +278,6 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
}
public Boolean updateDelStatusByRowId(List<Long> rowIds) {
QueryWrapper<OptionalEbomImportChildEntity> queryWrapper = new QueryWrapper();
queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, rowIds);

View File

@ -16,9 +16,9 @@ row_id,parent_row_id,option_row_id,choose_status,created_time
<!--是否存在已发布数据-->
<select id="countPublishList" resultType="com.nflg.product.bomnew.pojo.vo.OptionalEbomConfigRVO" >
SELECT t1.* from t_optional_ebom_config_r as t1 LEFT JOIN t_optional_ebom_config as t2 on t1.parent_row_id=t2.row_id
WHERE t1.option_row_id in (${optionRowIds}) and t2.edit_status=1
<select id="countPublishList" resultType="java.lang.Long" >
SELECT t1.option_row_id from t_optional_ebom_config_r as t1 LEFT JOIN t_optional_ebom_config as t2 on t1.parent_row_id=t2.row_id
WHERE t1.option_row_id in (${optionRowIds}) and t2.edit_status=1 GROUP BY t1.option_row_id
</select>