- 코드 컬럼(가공업체/공급업체/환종/자급사급/소재재질) 기준정보 매칭 검증
- 숫자 컬럼(제작수량) 형식 검증, 미매칭/형식오류 시 알람 + 저장 버튼 숨김
- M-BOM 규격/소재품번은 PART_MNG 마스터 서버 검증 API 신설
(/productionplanning/validateMbomMaterial.do, NFC 정규화, 디버깅 힌트 포함)
- 알람을 html 모드로 변경하여 행번호 정렬 + 줄바꿈 + hint 작은 글자 표시
- 미매칭 데이터는 그리드에 머지 반영하되 저장 버튼만 차단
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 공용 엑셀 파싱 유틸(ExcelParseUtil) + /common/parseExcelFile.do 엔드포인트 추가 (xlsx/xls/csv 지원, 임시 업로드 후 파싱·삭제)
- 두 팝업에 Excel Upload 버튼 추가, PART_NO 우선 매칭(중복 시 OBJID), 신규 행 추가·기존 행 삭제·OBJID 변경 시 업로드 차단
- Excel Download를 ExcelJS 기반 xlsx로 교체: 헤더 색상(편집 가능 컬럼 노란색), Select2 코드값→코드명 변환, 날짜 셀 텍스트 강제, hidden OBJID 컬럼 포함
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
기존: CONTRACT_ITEM 을 (CONTRACT_OBJID + PART_OBJID) 로 JOIN 후 CIS 조회 →
같은 계약/품번을 분할판매한 경우 형제 CONTRACT_ITEM 의 S/N 까지 섞여서 표시되는 버그
신규: CIS.ITEM_OBJID = PROJECT_MGMT.CONTRACT_ITEM_OBJID 직결 → 프로젝트별 본인 S/N 만 정확히 표시
productionplanning.xml 의 기존 패턴과 통일.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
selectListPagingNew 경로에서 SELECT 절 정규식 '^\d+\.?\d*$' 의 '?' 가 JDBC 파라미터 자리로
오인되어 "No value specified for parameter 1" 발생. '\.?' → '\.{0,1}' 로 치환(동일 의미).
contractMgmt.xml 의 유사 패턴도 함께 정리.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 검색 드롭박스를 등록팝업과 동일한 COMM_CODE 부모코드 0001820 기반 전체 목록으로 변경 (기존에는 PMS_QUALITY_SEMI_PRODUCT_INSPECTION에 등록된 DEFECT_TYPE만 distinct로 노출되어 선택지 부족)
- getSemiProductDefectTypeList 쿼리에도 COMM_CODE JOIN 추가하여 코드명 fallback 처리
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 영업관리(견적/주문서/판매) S/N 검색: '외 N건'에 숨은 시리얼도 CONTRACT_ITEM_SERIAL EXISTS로 매치되도록 OR 조건 추가
- 생산관리(M-BOM관리/생산계획&실적관리) S/N 컬럼: '첫S/N 외 N건' 표시 + 전체 목록 팝업 + 숨은 S/N 검색 지원, PROJECT_MGMT.CONTRACT_ITEM_OBJID로 직접 매칭하도록 통일
- 프로젝트관리(진행관리) S/N 표시/검색도 CONTRACT_ITEM_OBJID 기반으로 일치시켜 같은 품목 CI 중복 집계 방지
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- formatNumber, formatDecimalNumber 정규식에 eE 포함하여 "3.745E7" 문자열도 정상 파싱
- CommonUtils.checkNull()이 Number를 String으로 변환 시 과학적 표기법이 되는 경우 대응
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- formatNumber, formatDecimalNumber: Number 타입 직접 처리하여 과학적 표기법(3.745E7) 문제 방지
- ORDER_QUANTITY: Integer.parseInt → Number/Double 파싱으로 소수점 포함 수량(2.00) 처리
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 기본정보 제품구분 드롭다운 제거 (CONTRACT_MGMT.PRODUCT 주석처리)
- 품목정보 No~품번 사이에 제품구분 컬럼 추가 (공통코드 0000001)
- Machine(0000928) 선택 시 수량만큼 행 분할, 각 수량=1 고정
- CONTRACT_ITEM.PRODUCT 컬럼 추가 및 UPSERT/SELECT 반영
- getContractItems/getContractItemList GROUP BY에 PRODUCT 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 영업관리: 단가/금액/환율 소수점 2자리 + 천단위 콤마 표시
- 구매관리: 영문 발주서/리스트/현황/입고 소수점 2자리, 일반/가공 발주서는 정수 유지
- common.js에 formatMoney, formatInteger, removeComma 공통 함수 추가
- Java 서비스: Long.parseLong → Double.parseDouble 수정 (소수점 데이터 보존)
- MyBatis: goodsMgmt.xml BIGINT → NUMERIC 캐스팅 변경
- CommonUtils.numberFormatDecimal2 추가
Made-with: Cursor