This commit is contained in:
李文飞 2026-01-01 17:12:05 +08:00
parent 13447953cb
commit 0366142229

View File

@ -151,6 +151,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService {
.collect(Collectors.groupingBy(ConPurchaseImportVO::getContractNumber)); .collect(Collectors.groupingBy(ConPurchaseImportVO::getContractNumber));
List<ConPurchaseImportVO> res = new ArrayList<>(); List<ConPurchaseImportVO> res = new ArrayList<>();
// 遍历每个合同分组 // 遍历每个合同分组
List<ConPurchaseBo> purchaseBoList = new ArrayList<>();
for (Map.Entry<String, List<ConPurchaseImportVO>> entry : mapByContractNumber.entrySet()) { for (Map.Entry<String, List<ConPurchaseImportVO>> entry : mapByContractNumber.entrySet()) {
String contractNumber = entry.getKey(); String contractNumber = entry.getKey();
List<ConPurchaseImportVO> rows = entry.getValue(); List<ConPurchaseImportVO> rows = entry.getValue();
@ -236,31 +237,33 @@ public class ConPurchaseServiceImpl implements IConPurchaseService {
return mediaBo; return mediaBo;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
purchaseBo.setPurchaseMediaBoList(mediaBoList); purchaseBo.setPurchaseMediaBoList(mediaBoList);
purchaseBoList.add(purchaseBo);
this.insertByBo(purchaseBo);
} else { } else {
// 合同已存在 -> 调用 updateByBo 追加媒体信息 firstRow.setState("0" );
ConPurchaseVo existingVo = this.queryById(existingContract.getId()); firstRow.setNotes("合同已存在" );
ConPurchaseBo purchaseBo = BeanUtil.toBean(existingVo, ConPurchaseBo.class); res.add(firstRow);
return R.fail(res);
// 获取已有的媒体信息 // // 合同已存在 -> 调用 updateByBo 追加媒体信息
List<ConPurchaseMediaBo> existingMedia = purchaseBo.getPurchaseMediaBoList(); // ConPurchaseVo existingVo = this.queryById(existingContract.getId());
if (existingMedia == null) { // ConPurchaseBo purchaseBo = BeanUtil.toBean(existingVo, ConPurchaseBo.class);
existingMedia = new ArrayList<>(); //
} // // 获取已有的媒体信息
// List<ConPurchaseMediaBo> existingMedia = purchaseBo.getPurchaseMediaBoList();
// 创建并添加本次导入的新媒体信息 // if (existingMedia == null) {
List<ConPurchaseMediaBo> newMediaList = rows.stream().map(row -> { // existingMedia = new ArrayList<>();
ConPurchaseMediaBo mediaBo = new ConPurchaseMediaBo(); // }
this.mapRowToMediaBo(row, mediaBo); //
return mediaBo; // // 创建并添加本次导入的新媒体信息
}).collect(Collectors.toList()); // List<ConPurchaseMediaBo> newMediaList = rows.stream().map(row -> {
existingMedia.addAll(newMediaList); // ConPurchaseMediaBo mediaBo = new ConPurchaseMediaBo();
purchaseBo.setPurchaseMediaBoList(existingMedia); // this.mapRowToMediaBo(row, mediaBo);
// return mediaBo;
this.updateByBo(purchaseBo); // }).collect(Collectors.toList());
// existingMedia.addAll(newMediaList);
// purchaseBo.setPurchaseMediaBoList(existingMedia);
// this.updateByBo(purchaseBo);
} }
purchaseBoList.forEach(this::insertByBo);
} }
return R.ok(res); return R.ok(res);
} }