已发布选项不能删除提示

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 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); 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()); OptionalEbomMainEntity deviceEntity = SpringUtil.getBean(OptionalEbomMainService.class).getById(dto.getRootRowId());
if(deviceEntity==null){ if (deviceEntity == null) {
throw new NflgBusinessException(STATE.BusinessError, "rootRowId对应设备信息未找到"); throw new NflgBusinessException(STATE.BusinessError, "rootRowId对应设备信息未找到");
} }
String nos = dto.getDrawingNo(); String nos = dto.getDrawingNo();
List<OptionalEbomImportChildEntity> optionList = null; List<OptionalEbomImportChildEntity> optionList = null;
@ -92,17 +91,15 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
//先统一后分割 //先统一后分割
String strMaterial= nos.replace("", ";") String strMaterial = nos.replace("", ";")
.replace(" ",";") .replace(" ", ";")
.replace("",";") .replace("", ";")
.replace(",",";"); .replace(",", ";");
strMaterial=strMaterial.replace("\n",""); 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); List<BaseMaterialVO> materialListVo = SpringUtil.getBean(MaterialMainService.class).initMaterialForMaterialNo(listNo);
if (CollectionUtil.isEmpty(materialListVo)) { if (CollectionUtil.isEmpty(materialListVo)) {
@ -113,11 +110,8 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
} }
if (Objects.equals(dto.getPartType(), OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())) {
SpringUtil.getBean(OptionalEbomMainHistoryService.class).convertToHistory(dto.getRootRowId());
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.setPartType(dto.getPartType());
item.setRemak(dto.getRemak()); item.setRemak(dto.getRemak());
insertOptionAction(item ); insertOptionAction(item);
}); });
} }
@ -139,7 +133,7 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
} }
public void insertOptionAction(OptionalEbomImportChildEntity item) throws NflgBusinessException { public void insertOptionAction(OptionalEbomImportChildEntity item) throws NflgBusinessException {
QueryWrapper<OptionalEbomImportChildEntity> queryWrapper3 = new QueryWrapper<>(); QueryWrapper<OptionalEbomImportChildEntity> queryWrapper3 = new QueryWrapper<>();
// 同一个机型下不可以存在相同的物料信息物料编号如果是的情况需同一个机型+同一个选项来做唯一判断 // 同一个机型下不可以存在相同的物料信息物料编号如果是的情况需同一个机型+同一个选项来做唯一判断
if (StrUtil.isEmpty(item.getMaterialNo()) && item.getMaterialName().equals("")) { if (StrUtil.isEmpty(item.getMaterialNo()) && item.getMaterialName().equals("")) {
@ -154,39 +148,34 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getIsDel, 0); queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getIsDel, 0);
} }
OptionalEbomImportChildEntity childEntity = getOne(queryWrapper3); OptionalEbomImportChildEntity childEntity = getOne(queryWrapper3);
item.setCreatedBy(SessionUtil.getUserCode()); item.setCreatedBy(SessionUtil.getUserCode());
if (childEntity == null) { if (childEntity == null) {
item.setCreatedTime(DateUtil.now()); item.setCreatedTime(DateUtil.now());
save(item); save(item);
} else { } else {
// item.setRowId(childEntity.getRowId()); // item.setRowId(childEntity.getRowId());
// this.getBaseMapper().updateById(item); // this.getBaseMapper().updateById(item);
String bizErr=item.getMaterialNo(); String bizErr = item.getMaterialNo();
if (StrUtil.isEmpty(bizErr)) { 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) { public Boolean openCloseStatus(OptionalEbomImportChildVO vo) {
OptionalEbomImportChildEntity childEntity = getById(vo.getRowId());
OptionalEbomImportChildEntity childEntity=getById(vo.getRowId()); if (childEntity != null) {
if(childEntity!=null){ if (Objects.equals(childEntity.getPartType(), OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())) {
if( Objects.equals(childEntity.getPartType() , OptionalBomConstant.PartTypeEnum.PART_TYPE_RADIO.getValue())){
SpringUtil.getBean(OptionalEbomMainHistoryService.class).convertToHistory(childEntity.getRootRowId()); SpringUtil.getBean(OptionalEbomMainHistoryService.class).convertToHistory(childEntity.getRootRowId());
} }
} }
@ -198,18 +187,18 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
return this.updateById(entity); return this.updateById(entity);
} }
public void updateRemark(OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO dto) {
public void updateRemark(OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO dto) {
OptionalEbomImportChildEntity entity = new OptionalEbomImportChildEntity(); OptionalEbomImportChildEntity entity = new OptionalEbomImportChildEntity();
entity.setRowId(dto.getRowId()); entity.setRowId(dto.getRowId());
entity.setRemak(dto.getRemak()); entity.setRemak(dto.getRemak());
this.updateById(entity); this.updateById(entity);
} }
// public Boolean updateBatchChoose(List<OptionalEbomImportChildVO> list){ // public Boolean updateBatchChoose(List<OptionalEbomImportChildVO> list){
// List<OptionalEbomImportChildEntity> entityLists= Convert.toList(OptionalEbomImportChildEntity.class,list); // List<OptionalEbomImportChildEntity> entityLists= Convert.toList(OptionalEbomImportChildEntity.class,list);
// //
@ -236,51 +225,59 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
/** /**
* 相同部分更改isDel标记 * 相同部分更改isDel标记
* 不同部分没有发布数据则删除 * 不同部分没有发布数据则删除
*
* @param longIds * @param longIds
* @return * @return
*/ */
public Boolean deleteBiz(List<Long> longIds) { public Boolean deleteBiz(List<Long> longIds) {
List<Long> intersectionList=new ArrayList<>(); // 更新 List<Long> intersectionList = null; // 更新
List<Long> subList=new ArrayList<>(); // 删除 List<Long> subList = null; // 删除
if(CollectionUtil.isNotEmpty(longIds)) { if (CollectionUtil.isNotEmpty(longIds)) {
String rowIds = longIds.stream().map(Object::toString) String rowIds = longIds.stream().map(Object::toString)
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
List<OptionalEbomConfigRVO> list= SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds); List<Long> optionIdList = SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds);
List<Long> optionIdList=list.stream().map(OptionalEbomConfigRVO::getOptionRowId).collect(Collectors.toList()); if (optionIdList == null) {
optionIdList = new ArrayList<>();
}
//交集 相同 //交集 相同 已发布
// List<Long> intersectionList2= CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList()); intersectionList = CollectionUtil.intersection(longIds, optionIdList).stream().collect(Collectors.toList());
// 第一个list 不同部分 // 第一个list 不同部分 未发布
List<Long> subList2= CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList()); subList = CollectionUtil.subtract(longIds, optionIdList).stream().collect(Collectors.toList());
// if(CollectionUtil.isNotEmpty(intersectionList2)){
// intersectionList.addAll(intersectionList2);
// }
if(CollectionUtil.isNotEmpty(subList2)){
subList.addAll(subList2);
}
} }
//已发布提示
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());
}
//删除未发布的选配 及暂存的选配 //删除未发布的选配 及暂存的选配
if (CollectionUtil.isNotEmpty(subList)) { if (CollectionUtil.isNotEmpty(subList)) {
deleteByRowId(subList); deleteByRowId(subList);
QueryWrapper<OptionalEbomConfigREntity> delOptionWrapper= new QueryWrapper(); QueryWrapper<OptionalEbomConfigREntity> delOptionWrapper = new QueryWrapper();
delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId,subList); delOptionWrapper.lambda().in(OptionalEbomConfigREntity::getOptionRowId, subList);
SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper); SpringUtil.getBean(OptionalEbomConfigRService.class).remove(delOptionWrapper);
} }
return true; return true;
} }
public Boolean updateDelStatusByRowId(List<Long> rowIds) { public Boolean updateDelStatusByRowId(List<Long> rowIds) {
QueryWrapper<OptionalEbomImportChildEntity> queryWrapper = new QueryWrapper(); QueryWrapper<OptionalEbomImportChildEntity> queryWrapper = new QueryWrapper();
queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, rowIds); 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 id="countPublishList" resultType="java.lang.Long" >
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 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 WHERE t1.option_row_id in (${optionRowIds}) and t2.edit_status=1 GROUP BY t1.option_row_id
</select> </select>