fix(pbom): 优化复制功能,设置创建人为当前登录用户,部门为当前登录用户所属部门,时间为当前时间

This commit is contained in:
曹鹏飞 2024-06-03 11:06:43 +08:00
parent e8c01a2729
commit 232979ac02
1 changed files with 17 additions and 0 deletions

View File

@ -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);
}
}