Merge remote-tracking branch 'origin/feature/DM/nflg-bom' into feature/DM/nflg-bom

This commit is contained in:
大米 2024-05-28 12:09:30 +08:00
commit a990f4804e
3 changed files with 83 additions and 45 deletions

View File

@ -1007,7 +1007,18 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
.list();
if (CollUtil.isNotEmpty(children)) {
String dateYMD = DateUtil.format(new Date(), "yyyyMMdd");
children.forEach(c -> {
for (BomNewEbomChildEntity c : children) {
BomNewEbomParentEntity cp = lambdaQuery()
.eq(BomNewEbomParentEntity::getMaterialNo, c.getMaterialNo())
.eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
.orderByDesc(BomNewEbomParentEntity::getRowId)
.last(" limit 1")
.one();
if (Objects.equals(c.getVirtualPartType(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue())) {
if (Objects.nonNull(cp) && !ebomChildService.lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, cp.getRowId()).exists()) {
continue;
}
}
T1DTO t1 = new T1DTO();
t1.setID(RandomUtil.randomNumbers(5));
t1.setMATNR(parent.getMaterialNo());
@ -1021,14 +1032,11 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
}
t1.setDATUM(dateYMD);
t1s.add(t1);
BomNewEbomParentEntity cp = lambdaQuery()
.eq(BomNewEbomParentEntity::getMaterialNo, c.getMaterialNo())
.eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
.one();
if (!Objects.isNull(cp)) {
buildChildrenForSap(cp, t1s);
}
});
}
}
}
@ -2386,23 +2394,28 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
if (CollUtil.isNotEmpty(keys)) {
datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys));
}
List<QueryMaterialsVO> vos = Convert.toList(QueryMaterialsVO.class, datas);
query.forEach(it -> {
if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) {
QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo())
|| StrUtil.equals(m.getDrawingNo(), it.getDrawingNo()))
.findFirst().orElse(null);
if (Objects.nonNull(vo)) {
if (Objects.nonNull(it.getUnitWeight())) {
vo.setUnitWeight(it.getUnitWeight());
}
if (StrUtil.isNotBlank(it.getProjectType())) {
vo.setProjectType(it.getProjectType());
}
}
return datas.stream().map(d -> {
QueryMaterialsVO vo = new QueryMaterialsVO();
vo.setMaterialNo(d.getMaterialNo());
vo.setMaterialName(d.getMaterialName());
vo.setMaterialDesc(d.getMaterialDesc());
vo.setUnitWeight(d.getMaterialWeight());
vo.setMaterialCategoryCode(d.getMaterialCategoryCode());
vo.setMaterialState(d.getMaterialState());
vo.setDrawingNo(d.getDrawingNo());
vo.setMaterialTexture(d.getMaterialTexture());
vo.setMaterialUnit(d.getMaterialUnit());
vo.setCategoryName(d.getCategoryName());
QueryMaterialsQuery q = query.stream()
.filter(f -> StrUtil.equals(f.getMaterialNo(), vo.getMaterialNo()) || StrUtil.equals(f.getDrawingNo(), vo.getDrawingNo()))
.findFirst()
.orElse(null);
if (Objects.nonNull(q)) {
vo.setUnitWeight(q.getUnitWeight());
vo.setProjectType(q.getProjectType());
}
});
return vos;
return vo;
}).collect(Collectors.toList());
}
public Integer getSapErrorNum() {

View File

@ -1152,7 +1152,19 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
.list();
if (CollUtil.isNotEmpty(children)) {
String dateYMD = DateUtil.format(new Date(), "yyyyMMdd");
children.forEach(c -> {
for (BomNewPbomChildEntity c : children) {
BomNewPbomParentEntity cp = lambdaQuery()
.eq(BomNewPbomParentEntity::getMaterialNo, c.getMaterialNo())
.eq(BomNewPbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
.orderByDesc(BomNewPbomParentEntity::getRowId)
.last(" limit 1")
.one();
if (Objects.equals(c.getVirtualPartType(), VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.getValue())) {
if (Objects.nonNull(cp) && !pbomChildService.lambdaQuery().eq(BomNewPbomChildEntity::getParentRowId, cp.getRowId()).exists()) {
continue;
}
}
T1DTO t1 = new T1DTO();
t1.setID(RandomUtil.randomNumbers(5));
t1.setMATNR(parent.getMaterialNo());
@ -1166,14 +1178,11 @@ public class BomNewPbomParentService extends ServiceImpl<BomNewPbomParentMapper,
}
t1.setDATUM(dateYMD);
t1s.add(t1);
BomNewPbomParentEntity cp = lambdaQuery()
.eq(BomNewPbomParentEntity::getMaterialNo, c.getMaterialNo())
.eq(BomNewPbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
.one();
if (!Objects.isNull(cp)) {
buildChildrenForSap(cp, t1s);
}
});
}
}
}

View File

@ -683,23 +683,28 @@ public class DQBomService {
if (CollUtil.isNotEmpty(keys)) {
datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys));
}
List<QueryMaterialsVO> vos = Convert.toList(QueryMaterialsVO.class, datas);
query.forEach(it -> {
if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) {
QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo())
|| StrUtil.equals(m.getDrawingNo(), it.getDrawingNo()))
.findFirst().orElse(null);
if (Objects.nonNull(vo)) {
if (Objects.nonNull(it.getUnitWeight())) {
vo.setUnitWeight(it.getUnitWeight());
}
if (StrUtil.isNotBlank(it.getProjectType())) {
vo.setProjectType(it.getProjectType());
}
}
return datas.stream().map(d -> {
QueryMaterialsVO vo = new QueryMaterialsVO();
vo.setMaterialNo(d.getMaterialNo());
vo.setMaterialName(d.getMaterialName());
vo.setMaterialDesc(d.getMaterialDesc());
vo.setUnitWeight(d.getMaterialWeight());
vo.setMaterialCategoryCode(d.getMaterialCategoryCode());
vo.setMaterialState(d.getMaterialState());
vo.setDrawingNo(d.getDrawingNo());
vo.setMaterialTexture(d.getMaterialTexture());
vo.setMaterialUnit(d.getMaterialUnit());
vo.setCategoryName(d.getCategoryName());
QueryMaterialsQuery q = query.stream()
.filter(f -> StrUtil.equals(f.getMaterialNo(), vo.getMaterialNo()) || StrUtil.equals(f.getDrawingNo(), vo.getDrawingNo()))
.findFirst()
.orElse(null);
if (Objects.nonNull(q)) {
vo.setUnitWeight(q.getUnitWeight());
vo.setProjectType(q.getProjectType());
}
});
return vos;
return vo;
}).collect(Collectors.toList());
}
public QueryMaterialsVO queryMaterial(QueryMaterialsQuery query) {
@ -710,7 +715,18 @@ public class DQBomService {
vos = SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(Collections.singletonList(query.getDrawingNo()));
}
if (CollUtil.isNotEmpty(vos)) {
QueryMaterialsVO vo = Convert.convert(QueryMaterialsVO.class, vos.get(0));
BaseMaterialVO d = vos.get(0);
QueryMaterialsVO vo = new QueryMaterialsVO();
vo.setMaterialNo(d.getMaterialNo());
vo.setMaterialName(d.getMaterialName());
vo.setMaterialDesc(d.getMaterialDesc());
vo.setUnitWeight(d.getMaterialWeight());
vo.setMaterialCategoryCode(d.getMaterialCategoryCode());
vo.setMaterialState(d.getMaterialState());
vo.setDrawingNo(d.getDrawingNo());
vo.setMaterialTexture(d.getMaterialTexture());
vo.setMaterialUnit(d.getMaterialUnit());
vo.setCategoryName(d.getCategoryName());
if (Objects.nonNull(query.getUnitWeight())) {
vo.setUnitWeight(query.getUnitWeight());
}