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