- parseAmaranthUserObject에서 emailAddr + emailDomain 조합으로 전체 이메일 생성
- updateLoginId 배치(자동/수동) 실행 시 user_info.email 컬럼에 이메일 업데이트
- batch.xml updateLoginId 쿼리에 email 컬럼 SET 추가
Made-with: Cursor
- partMng.xml: selectPartByObjid, selectAllPartListForErp에 COMM_CODE JOIN 추가하여 UNIT_DC_NM, UNITMANG_DC_NM 반환
- partMng.xml: partMngBaseSimple에 ODRFG_NM CASE WHEN 변환 추가 (구매/생산/Phantom), LOT_FG 등 NULL일 때 빈값 처리
- BatchService: sendAllPartsToErp, sendSinglePartToErp에서 unit_dc_nm, unitmang_dc_nm 사용
- BatchService: updatePartToErp, updateAllPartsToErp 하드코딩 제거 → DB 값 사용 + 필수값 검증 추가
- BatchService: deletePartFromErp 주석 해제
- BatchService: sendSinglePartToErp에 전송 데이터 및 응답 로그 추가
Made-with: Cursor
- EmployeeApiClient: API 요청에 extraColumns 추가 (emalAdd, outemalAdd, emgcTel, tel, joinDt)
- BatchService: 급여이메일(emalAdd) 우선, 없으면 외부이메일(outemalAdd) fallback 처리, tel 매핑 추가
- batch.xml: upsertEmployee에 user_id, tel 컬럼 추가, ON CONFLICT (sabun) 기준 upsert
Made-with: Cursor
E-BOM & M-BOM 파트 추가 삭제시 반제품 추가 삭제하면 하위 품목 같이 추가 삭제 되는 기능
E-BOM & M-BOM 파트 추가시 원하는 위치로 집어 넣는 기능(현재는 왼쪽에서 선택한 하위레벨의 제일 밑으로만 들어감)
E-BOM & M-BOM 파트 추가 삭제시 자동저장이 아니라, 저장/닫기 버튼이 있어서 저장버튼 누를때만 저장되도록 변경 필요
신규 프로젝트 생성하고, M-BOM 처음 만들때 E-BOM 을 가져와서 할당할때
최상위 제품을 변경하는 로직이 필요(최상위 제품을 삭제하고 반제품을 최상위 품으로 만드는 로직)
최상위 제품으로 만들려고 하는 반제품의 하위 부품도 딸려와서 구성이 되어야 하며,
M-BOM 의 이름도 변경된 최상위 제품의 품번으로 변경되어 저장되어야 함
- getPurchaseListForQuotationFromMBom: CTE로 동일 품번 GROUP BY 적용
- getGroupedSalesRequestPartInfo 신규: ORIGINAL_OBJIDS 기반 합산 조회
- createQuotationRequest: 그룹핑된 데이터로 견적요청서 상세 생성
- purchaseListFormPopUp.jsp, salesRequestMngRegList.jsp: ORIGINAL_OBJIDS 전달
- insertProposalPartFromMBom/Processing: MATERIAL_YN 컬럼 추가
- SalesMngService: RAW_MATERIAL_NO 기반 MATERIAL_YN 판별 로직
Co-authored-by: Cursor <cursoragent@cursor.com>