fix(pbom): 优化复制功能,设置创建人为当前登录用户,部门为当前登录用户所属部门,时间为当前时间
This commit is contained in:
parent
e8c01a2729
commit
232979ac02
|
|
@ -2,8 +2,10 @@ package com.nflg.product.bomnew.service.domain.PBom;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
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.constant.PBomStatusEnum;
|
||||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
|
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
|
||||||
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
|
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 com.nflg.product.bomnew.util.VersionUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
@ -101,6 +104,14 @@ public class BomCopy {
|
||||||
|
|
||||||
private BomNewPbomParentEntity getOldBom(BomNewPbomParentVO parent) {
|
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())
|
return pBomParentService.lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parent.getMaterialNo())
|
||||||
.eq(BomNewPbomParentEntity::getLastVersionIs, 1)
|
.eq(BomNewPbomParentEntity::getLastVersionIs, 1)
|
||||||
.eq(BomNewPbomParentEntity::getFacCode, targetFacCode).one();
|
.eq(BomNewPbomParentEntity::getFacCode, targetFacCode).one();
|
||||||
|
|
@ -117,6 +128,10 @@ public class BomCopy {
|
||||||
newBom.setRowId(IdWorker.getId());
|
newBom.setRowId(IdWorker.getId());
|
||||||
newBom.setCurrentVersion(VersionUtil.getNextVersion(preVersion));
|
newBom.setCurrentVersion(VersionUtil.getNextVersion(preVersion));
|
||||||
newBom.setFacCode(targetFacCode);
|
newBom.setFacCode(targetFacCode);
|
||||||
|
newBom.setDeptName(SessionUtil.getDepartName());
|
||||||
|
newBom.setDeptRowId(SessionUtil.getDepartRowId());
|
||||||
|
newBom.setCreatedBy(SessionUtil.getUserCode());
|
||||||
|
newBom.setCreatedTime(LocalDateTime.now());
|
||||||
parentResult.add(newBom);
|
parentResult.add(newBom);
|
||||||
//子级
|
//子级
|
||||||
buildChildren(newBom.getRowId(),oldBomRowId);
|
buildChildren(newBom.getRowId(),oldBomRowId);
|
||||||
|
|
@ -135,6 +150,8 @@ public class BomCopy {
|
||||||
child.setRowId(IdWorker.getId());
|
child.setRowId(IdWorker.getId());
|
||||||
child.setFacCode(targetFacCode);
|
child.setFacCode(targetFacCode);
|
||||||
child.setParentRowId(newParentRowId);
|
child.setParentRowId(newParentRowId);
|
||||||
|
child.setCreatedBy(SessionUtil.getUserCode());
|
||||||
|
child.setCreatedTime(LocalDateTime.now());
|
||||||
childResult.add(child);
|
childResult.add(child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue