feature/jp-0331 #526
@ -116,11 +116,18 @@ public class DisplayItemService {
|
||||
*/
|
||||
public int setBomSyncSave(List<BomSyncResponse> bomSyncList) throws Exception {
|
||||
int cnt = 0;
|
||||
// 2026-05-12 같은 키(PACKAGE_ITEM_ID, ITEM_ID)에 A/D 가 함께 오는 케이스 대비,
|
||||
// 외부 응답 순서와 무관하게 결정적 결과(A 가 이김)를 보장하기 위해 2단계로 처리.
|
||||
// 1단계: D 먼저 전부 DELETE
|
||||
for (BomSyncResponse bomSyncData : bomSyncList) {
|
||||
if ("D".equals(bomSyncData.getStatCd())) {
|
||||
// Bom 아이템 삭제 처리
|
||||
cnt += displayItemMapper.deleteBomSync(bomSyncData);
|
||||
} else {
|
||||
}
|
||||
}
|
||||
// 2단계: D 외 전부 MERGE (upsert)
|
||||
for (BomSyncResponse bomSyncData : bomSyncList) {
|
||||
if (!"D".equals(bomSyncData.getStatCd())) {
|
||||
// Bom 아이템 수정/등록 처리
|
||||
cnt += displayItemMapper.setBomSyncSave(bomSyncData);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user