diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/BomCopy.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/BomCopy.java index a570f082..6eb98802 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/BomCopy.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/BomCopy.java @@ -2,8 +2,10 @@ package com.nflg.product.bomnew.service.domain.PBom; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.nflg.product.base.core.conmon.util.SessionUtil; import com.nflg.product.bomnew.constant.PBomStatusEnum; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; @@ -15,6 +17,7 @@ import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.VersionUtil; import lombok.Getter; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -101,6 +104,14 @@ public class BomCopy { private BomNewPbomParentEntity getOldBom(BomNewPbomParentVO parent) { //目标工厂历史版本 + BomNewPbomParentEntity p = this.parentResult.stream() + .filter(it -> StrUtil.equals(it.getMaterialNo(), parent.getMaterialNo()) + && StrUtil.equals(it.getFacCode(), targetFacCode)) + .findFirst() + .orElse(null); + if (Objects.nonNull(p)) { + return p; + } return pBomParentService.lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parent.getMaterialNo()) .eq(BomNewPbomParentEntity::getLastVersionIs, 1) .eq(BomNewPbomParentEntity::getFacCode, targetFacCode).one(); @@ -117,6 +128,10 @@ public class BomCopy { newBom.setRowId(IdWorker.getId()); newBom.setCurrentVersion(VersionUtil.getNextVersion(preVersion)); newBom.setFacCode(targetFacCode); + newBom.setDeptName(SessionUtil.getDepartName()); + newBom.setDeptRowId(SessionUtil.getDepartRowId()); + newBom.setCreatedBy(SessionUtil.getUserCode()); + newBom.setCreatedTime(LocalDateTime.now()); parentResult.add(newBom); //子级 buildChildren(newBom.getRowId(),oldBomRowId); @@ -135,6 +150,8 @@ public class BomCopy { child.setRowId(IdWorker.getId()); child.setFacCode(targetFacCode); child.setParentRowId(newParentRowId); + child.setCreatedBy(SessionUtil.getUserCode()); + child.setCreatedTime(LocalDateTime.now()); childResult.add(child); } }