已发布选项不能删除提示
This commit is contained in:
parent
e0531ca0e9
commit
4383367efb
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,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.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<>();
|
||||
// 同一个机型下不可以存在相同的物料信息(物料编号),如果是“无”的情况,需同一个机型+同一个选项来做唯一判断
|
||||
if (StrUtil.isEmpty(item.getMaterialNo()) && item.getMaterialName().equals("无")) {
|
||||
|
|
@ -154,39 +148,34 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
|
|||
queryWrapper3.lambda().eq(OptionalEbomImportChildEntity::getIsDel, 0);
|
||||
}
|
||||
|
||||
OptionalEbomImportChildEntity childEntity = getOne(queryWrapper3);
|
||||
OptionalEbomImportChildEntity childEntity = getOne(queryWrapper3);
|
||||
item.setCreatedBy(SessionUtil.getUserCode());
|
||||
if (childEntity == null) {
|
||||
|
||||
item.setCreatedTime(DateUtil.now());
|
||||
item.setCreatedTime(DateUtil.now());
|
||||
|
||||
save(item);
|
||||
} 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,18 +187,18 @@ public class OptionalEbomImportChildService extends ServiceImpl<OptionalEbomImpo
|
|||
return this.updateById(entity);
|
||||
|
||||
}
|
||||
public void updateRemark(OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO dto) {
|
||||
|
||||
public void updateRemark(OptionalEbomSubmitEditDTO.OptionalEbomImportChildSubmitDTO dto) {
|
||||
|
||||
OptionalEbomImportChildEntity entity = new OptionalEbomImportChildEntity();
|
||||
entity.setRowId(dto.getRowId());
|
||||
entity.setRemak(dto.getRemak());
|
||||
|
||||
this.updateById(entity);
|
||||
this.updateById(entity);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// public Boolean updateBatchChoose(List<OptionalEbomImportChildVO> list){
|
||||
// List<OptionalEbomImportChildEntity> entityLists= Convert.toList(OptionalEbomImportChildEntity.class,list);
|
||||
//
|
||||
|
|
@ -236,51 +225,59 @@ 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)) {
|
||||
public Boolean deleteBiz(List<Long> 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> optionIdList = SpringUtil.getBean(OptionalEbomConfigRService.class).countPublish(rowIds);
|
||||
if (optionIdList == null) {
|
||||
optionIdList = new ArrayList<>();
|
||||
}
|
||||
|
||||
//交集 相同
|
||||
// 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);
|
||||
}
|
||||
//交集 相同 已发布
|
||||
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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
//删除未发布的选配 及暂存的选配
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public Boolean updateDelStatusByRowId(List<Long> rowIds) {
|
||||
QueryWrapper<OptionalEbomImportChildEntity> queryWrapper = new QueryWrapper();
|
||||
queryWrapper.lambda().in(OptionalEbomImportChildEntity::getRowId, rowIds);
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue