fix(ebom): 修复导入到sap的错误信息保存问题

This commit is contained in:
曹鹏飞 2024-05-29 11:42:38 +08:00
parent cacbdc0fc8
commit 1cb3869052
2 changed files with 18 additions and 12 deletions

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
target
.idea
logs
/ABAP_AS_WITH_POOL.jcoDestination
/dev_jco_rfc.trc

View File

@ -976,24 +976,28 @@ public class BomNewEbomParentService extends ServiceImpl<BomNewEbomParentMapper,
} else if (sapDto.getT1().size() != liErrMsg.size()) {
state = SapStatusEnum.PUB_ERROR;
}
if (CollUtil.isNotEmpty(liErrMsg)) {
bomNewSapErrorMsgService.getBaseMapper().delete(Wrappers.lambdaQuery(BomNewSapErrorMsgEntity.class)
.eq(BomNewSapErrorMsgEntity::getTargetRowId, rootBomRowId));
} else {
BomNewSapErrorMsgEntity sapErrorMsgEntity = new BomNewSapErrorMsgEntity();
sapErrorMsgEntity.setTargetRowId(rootBomRowId);
sapErrorMsgEntity.setType(0);
sapErrorMsgEntity.setData(JSON.toJSONString(liErrMsg));
sapErrorMsgEntity.setCreatedName(SessionUtil.getRealName());
sapErrorMsgEntity.setCreatedTime(LocalDateTime.now());
bomNewSapErrorMsgService.saveOrUpdate(sapErrorMsgEntity);
}
saveSapErrorMsg(rootBomRowId, liErrMsg);
} finally {
updateSapState(rootBomRowId, state);
}
return liErrMsg;
}
private void saveSapErrorMsg(Long rootBomRowId, List<OperationErrorMsgVO> liErrMsg) {
bomNewSapErrorMsgService.getBaseMapper().delete(Wrappers.lambdaQuery(BomNewSapErrorMsgEntity.class)
.eq(BomNewSapErrorMsgEntity::getTargetRowId, rootBomRowId));
if (CollUtil.isNotEmpty(liErrMsg)) {
BomNewSapErrorMsgEntity sapErrorMsgEntity = new BomNewSapErrorMsgEntity();
sapErrorMsgEntity.setTargetRowId(rootBomRowId);
sapErrorMsgEntity.setType(0);
sapErrorMsgEntity.setData(JSON.toJSONString(liErrMsg));
sapErrorMsgEntity.setCreatedName(SessionUtil.getRealName());
sapErrorMsgEntity.setCreatedTime(LocalDateTime.now());
bomNewSapErrorMsgService.saveOrUpdate(sapErrorMsgEntity);
}
}
private void updateSapState(Long rootBomRowId, SapStatusEnum sapState) {
lambdaUpdate().eq(BomNewEbomParentEntity::getRowId, rootBomRowId)
.set(BomNewEbomParentEntity::getSapTime, LocalDateTime.now())