diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java index 27645a70..4c299334 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewMbomBackMaterialService.java @@ -2,8 +2,10 @@ package com.nflg.product.bomnew.service; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.product.base.core.conmon.util.SessionUtil; @@ -14,11 +16,13 @@ import com.nflg.product.bomnew.pojo.dto.BomNewMbomApplyBackMaterialDTO; import com.nflg.product.bomnew.pojo.dto.BomNewMbomBackMaterialDTO; import com.nflg.product.bomnew.pojo.entity.BomNewMbomBackMaterialEntity; import com.nflg.product.bomnew.pojo.entity.BomNewMbomDetailEntity; +import com.nflg.product.bomnew.pojo.entity.BomNewMbomParentEntity; import com.nflg.product.bomnew.pojo.query.BomNewMbomBackMaterialQuery; import com.nflg.product.bomnew.pojo.query.BomNewMbomParentQuery; import com.nflg.product.bomnew.pojo.vo.BomNewMbomBackMaterialVO; import nflg.product.common.constant.STATE; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; @@ -136,6 +140,7 @@ public class BomNewMbomBackMaterialService extends ServiceImpl rowIds ){ QueryWrapper queryWrapper=new QueryWrapper<>(); @@ -151,20 +156,45 @@ public class BomNewMbomBackMaterialService extends ServiceImpl updateList=new ArrayList<>(); - rowIds.forEach(id->{ - BomNewMbomBackMaterialEntity bean=new BomNewMbomBackMaterialEntity(); - bean.setRowId(id); - bean.setBackStatus(MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue()); - bean.setConfirmTime(LocalDateTime.now()); - bean.setConfirmUserCode(SessionUtil.getUserCode()); - bean.setConfirmUserName(SessionUtil.getUserName()); - updateList.add(bean); - }); - if(CollectionUtil.isNotEmpty(updateList)){ - this.updateBatchById(updateList); + //退回逻辑 + + //同一个bom下退回的物料 + Map> groupBackMap2=backList.stream().collect(Collectors.groupingBy(BomNewMbomBackMaterialEntity::getBomRowId)); + + groupBackMap2.forEach((bomRowId,val)->{ + + BomNewMbomParentEntity parentEntity=SpringUtil.getBean(BomNewMbomParentService.class).getById(bomRowId); + if(parentEntity==null){ + throw new NflgBusinessException(STATE.BusinessError , StrUtil.format("{} 数据不存在 退回生成异常",bomRowId)); } + List updateSourceIdList=val.stream().map(BomNewMbomBackMaterialEntity::getSourceRowId).collect(Collectors.toList()); + //重新发布 + //SpringUtil.getBean(BomNewPbomParentService.class).reConvertToMBom(parentEntity.getSourceRowId(),updateSourceIdList); + + + + //更新状态 + List updateIdList=val.stream().map(BomNewMbomBackMaterialEntity::getRowId).collect(Collectors.toList()); + UpdateWrapper updateWrapper=new UpdateWrapper(); + updateWrapper.lambda().in(BomNewMbomBackMaterialEntity::getRowId,updateIdList); + + updateWrapper.lambda().set(BomNewMbomBackMaterialEntity::getBackStatus, MBomConstantEnum.MBomBackStatusEnum.DEAL_1.getValue()); + updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmTime,LocalDateTime.now()); + updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmUserName,SessionUtil.getUserName()); + updateWrapper.lambda(). set(BomNewMbomBackMaterialEntity::getConfirmUserCode,SessionUtil.getUserCode()); + + update(updateWrapper); + + }); + + + + + + + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 17cab06c..e16c5343 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.TypeReference; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -523,6 +524,20 @@ public class BomNewPbomParentService extends ServiceImpl backRowId){ + + + UpdateWrapper updateWrapper=new UpdateWrapper<>(); + updateWrapper.lambda().set(BomNewPbomChildEntity::getProductionFactoryCode,backRowId); + updateWrapper.lambda().in(BomNewPbomChildEntity::getRowId,backRowId); + + + + } + + + /** * 发布MBOM */ @@ -563,6 +578,8 @@ public class BomNewPbomParentService extends ServiceImpl