optimize: 电气bom优化
This commit is contained in:
parent
2f138ae0c0
commit
48b97879a3
|
|
@ -40,10 +40,10 @@ public class TestApi {
|
|||
List<T1DTO> t1s = new ArrayList<>();
|
||||
T1DTO t1 = new T1DTO();
|
||||
t1.setID(RandomUtil.randomNumbers(5));
|
||||
t1.setMATNR("2200022146");
|
||||
t1.setIDNRK("2100724596");
|
||||
t1.setMATNR("2100677191");
|
||||
t1.setIDNRK("1100002498");
|
||||
t1.setMEINS("PC");
|
||||
t1.setMENGE("1.00");
|
||||
t1.setMENGE("3.00");
|
||||
t1.setPOSTP("L");
|
||||
t1.setDATUM(dateYMD);
|
||||
t1s.add(t1);
|
||||
|
|
|
|||
|
|
@ -112,30 +112,23 @@ public class DQBomImportService {
|
|||
//将导入图号重设为主物料图号
|
||||
Set<String> pMaterialNos = parents.stream().map(BomNewDQbomParentEntity::getMaterialNo).collect(Collectors.toSet());
|
||||
List<BomNewDQbomParentEntity> oldParents = dQBomParentService.getLatestByMaterialNo(pMaterialNos);
|
||||
Set<String> cMaterialNos = children.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet());
|
||||
cMaterialNos.addAll(pMaterialNos);
|
||||
List<BaseMaterialVO> materialBaseInfos = materialMainService.getMaterialBaseInfo(new ArrayList<>(cMaterialNos));
|
||||
parents.forEach(p -> {
|
||||
BomNewDQbomParentEntity oldParent = oldParents.stream().filter(op -> op.getMaterialNo().equals(p.getMaterialNo())).findFirst().orElse(null);
|
||||
BomNewDQbomParentEntity oldParent = oldParents.stream()
|
||||
.filter(op -> op.getMaterialNo().equals(p.getMaterialNo()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (!Objects.isNull(oldParent) && Objects.equals(oldParent.getStatus(), DQBomStatusEnum.WAIT_CONVERT.getValue())) {
|
||||
dQBomParentService.getBaseMapper().deleteById(oldParent.getRowId());
|
||||
dQBomChildService.deleteAllChildren(oldParent.getRowId());
|
||||
}
|
||||
BaseMaterialVO vo = materialBaseInfos.stream().filter(m -> m.getMaterialNo().equals(p.getMaterialNo())).findFirst().orElse(null);
|
||||
if (!Objects.isNull(vo)) {
|
||||
p.setDrawingNo(vo.getDrawingNo());
|
||||
}
|
||||
});
|
||||
dQBomParentService.setLastVersionIs0(pMaterialNos);
|
||||
dQBomParentService.saveBatch(parents);
|
||||
children.forEach(c -> {
|
||||
BaseMaterialVO vo = materialBaseInfos.stream().filter(m -> m.getMaterialNo().equals(c.getMaterialNo())).findFirst().orElse(null);
|
||||
if (!Objects.isNull(vo)) {
|
||||
c.setDrawingNo(vo.getDrawingNo());
|
||||
}
|
||||
});
|
||||
dQBomChildService.saveBatch(children);
|
||||
BomNewDQbomParentEntity root = parents.stream().filter(p -> p.getRootIs() == 1).findFirst().orElseThrow(() -> new NflgBusinessException(STATE.BusinessError, "根节点不存在"));
|
||||
BomNewDQbomParentEntity root = parents.stream()
|
||||
.filter(p -> p.getRootIs() == 1)
|
||||
.findFirst()
|
||||
.orElseThrow(() -> new NflgBusinessException(STATE.BusinessError, "根节点不存在"));
|
||||
dQBomService.checkException(root.getRowId());
|
||||
}
|
||||
|
||||
|
|
@ -143,15 +136,6 @@ public class DQBomImportService {
|
|||
List<BomNewDQbomChildEntity> children) throws JsonProcessingException {
|
||||
log.debug("checkInconsistentData,entity:" + JsonUtil.toJson(parent));
|
||||
BomNewDQbomParentEntity oldParent = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo());
|
||||
// if (parent.getRowId() > 0) {
|
||||
// old = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo());
|
||||
// } else {
|
||||
// old = dQBomChildService.lambdaQuery()
|
||||
// .eq(BomNewDQbomChildEntity::getParentRowId, parent.getRowId())
|
||||
// .eq(BomNewDQbomChildEntity::getMaterialNo, parent.getMaterialNo())
|
||||
// .one();
|
||||
// }
|
||||
//BomNewDQbomParentEntity oldParent = dQBomParentService.getLatestByMaterialNo(parent.getMaterialNo());
|
||||
boolean isSame = true;
|
||||
if (Objects.isNull(oldParent)) {
|
||||
return false;
|
||||
|
|
@ -171,8 +155,6 @@ public class DQBomImportService {
|
|||
isSame = cc.size() == oc.size()
|
||||
&& cc.stream().filter(c -> c.getProjectType().equals(BomConstant.PROJECT_TYPE_TEMPORARY)).count() == oc.stream().filter(c -> c.getProjectType().equals(BomConstant.PROJECT_TYPE_TEMPORARY)).count()
|
||||
&& Sets.difference(cc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet()), oc.stream().map(BomNewDQbomChildEntity::getMaterialNo).collect(Collectors.toSet())).isEmpty();
|
||||
//VUtils.isTure(isSame).throwMessage("导入的数据已存在,请勿重复导入");
|
||||
|
||||
for (BomNewDQbomChildEntity ccc : cc) {
|
||||
if (!checkInconsistentData(parent.getRowId(), ccc, parents, children)) {
|
||||
isSame = false;
|
||||
|
|
@ -249,15 +231,6 @@ public class DQBomImportService {
|
|||
);
|
||||
}
|
||||
|
||||
// List<Integer> noProjectType = datas.stream().filter(u -> !TYPES.contains(u.getProjectType()))
|
||||
// .map(BaseImportExcelDTO::getRowNum)
|
||||
// .collect(Collectors.toList());
|
||||
// if (!noProjectType.isEmpty()) {
|
||||
// errorMsg.addAll(noProjectType.stream().map(n -> OperationErrorMsgVO.create("第" + n + "行", "项目类别不正确"))
|
||||
// .collect(Collectors.toList())
|
||||
// );
|
||||
// }
|
||||
|
||||
List<Integer> remarkTooLong = datas.stream().filter(u -> StringUtil.CountForMysql(u.getRemark()) > 200)
|
||||
.map(BaseImportExcelDTO::getRowNum)
|
||||
.collect(Collectors.toList());
|
||||
|
|
@ -267,6 +240,18 @@ public class DQBomImportService {
|
|||
);
|
||||
}
|
||||
|
||||
List<String> materialNos = datas.stream().map(DQbomExcelVO::getMaterialNo).distinct().collect(Collectors.toList());
|
||||
List<BaseMaterialVO> materialBaseInfos = materialMainService.getMaterialBaseInfo(materialNos);
|
||||
datas.forEach(d -> {
|
||||
BaseMaterialVO vo = materialBaseInfos.stream()
|
||||
.filter(m -> m.getMaterialNo().equals(d.getMaterialNo()))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (!Objects.isNull(vo)) {
|
||||
d.setDrawingNo(vo.getDrawingNo());
|
||||
}
|
||||
});
|
||||
|
||||
return errorMsg;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ public class DQBomService {
|
|||
ImportSapParamDTO sapDto = new ImportSapParamDTO();
|
||||
sapDto.setZID(RandomUtil.randomNumbers(5));
|
||||
sapDto.setI_WERKS("1");
|
||||
sapDto.setI_STLAN("2");
|
||||
sapDto.setI_STLAN("1");
|
||||
List<T1DTO> t1s = new ArrayList<>();
|
||||
String dateYMD = DateUtil.format(new Date(), "yyyyMMdd");
|
||||
datas.forEach(d -> {
|
||||
|
|
|
|||
Loading…
Reference in New Issue