- USE_YN(사용여부) 정적 코드('사용'/'미사용') 검증 추가
(mutator가 잘못된 값을 기본 '사용'으로 변환해 묻혔던 케이스 차단)
- 소재단가/발주수량/가공단가 숫자 형식 검증 추가 (천단위 콤마 허용)
- fn_reverseSelectValue 강건화: 코드 컬럼 화이트리스트 기반으로
list 비어 있어도 isCodeColumn=true 처리, trim 비교 적용
- 코드 컬럼은 editable 체크 없이 무조건 검증 (가공업체 누락 방지)
- 알람을 html 모드로 변경: 행번호 정렬, 줄바꿈, 좌측정렬·모노스페이스
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 코드 컬럼(가공업체/공급업체/환종/자급사급/소재재질) 기준정보 매칭 검증
- 숫자 컬럼(제작수량) 형식 검증, 미매칭/형식오류 시 알람 + 저장 버튼 숨김
- M-BOM 규격/소재품번은 PART_MNG 마스터 서버 검증 API 신설
(/productionplanning/validateMbomMaterial.do, NFC 정규화, 디버깅 힌트 포함)
- 알람을 html 모드로 변경하여 행번호 정렬 + 줄바꿈 + hint 작은 글자 표시
- 미매칭 데이터는 그리드에 머지 반영하되 저장 버튼만 차단
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- 노란색(편집 가능) 컬럼만 머지 대상, 그 외 컬럼은 base 값 보존 → 비-노란 컬럼(가공품의서일 등) 빈 값 덮어쓰기 위험 차단
- highlighted 판정 통합: title HTML 배경색 / titleFormatter editable-header / downloadHighlighted 옵션 / 필드 화이트리스트
- M-BOM 소재품번(RAW_MATERIAL_NO)을 필드 화이트리스트로 강제 highlighted 처리 → 다운 헤더 노란색 + 사용자 입력 머지 반영
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>
- 영업관리(견적/주문서/판매) 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>
- 컬럼 드래그 시 양쪽 컬럼 너비 맞교환 (테이블 전체 너비 고정)
- getBoundingClientRect로 시작 너비 정확히 측정 (폭 점프 제거)
- requestAnimationFrame으로 렌더링 스로틀 (빠른 드래그 시 부드러움)
- 마지막 컬럼 핸들 제거
- tabulator_custom.js 임시 overflow 코드 정리
Co-Authored-By: Claude Sonnet 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>
- 팝업 폼 전체 너비 확장 + 중앙 정렬 (calc(100% - 16px), margin: 0 auto)
- 품목 그리드 컬럼 경계선 드래그로 너비 조절 가능 (colgroup + th 동시 수정)
- Select2(품번/품명) 텍스트 드래그 복사 지원 (capturing phase로 드롭다운 방지)
- Select2 x(초기화) 버튼 화살표 왼쪽으로 분리 배치
- PCC 문서 포함
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 수주수량: 정수 포맷(formatInteger) 유지, 우측정렬
- 공급가액/부가세/총액: blur 시 formatMoney로 .00 포맷 복원
- blur 이벤트를 이벤트 위임 방식으로 변경하여 동적 행에도 적용
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- tfoot에 Total 행 추가 (No~반납사유 7컬럼 병합)
- 수주수량/수주공급가액/수주부가세/수주총액 합계 자동 계산
- 품목 추가/삭제/금액 변경 시 합계 실시간 갱신
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- deliveryMngAcceptanceList: 발주/입고/미입고 금액 및 합계 소수점 2자리 적용
- purchaseCloseList: 입고금액/환율/관세/수입부가세 그리드 포맷 적용
- purchaseCloseList: 마감정보입력 팝업 금액 입력/표시/저장 포맷 처리
Made-with: Cursor
- 영업관리: 단가/금액/환율 소수점 2자리 + 천단위 콤마 표시
- 구매관리: 영문 발주서/리스트/현황/입고 소수점 2자리, 일반/가공 발주서는 정수 유지
- common.js에 formatMoney, formatInteger, removeComma 공통 함수 추가
- Java 서비스: Long.parseLong → Double.parseDouble 수정 (소수점 데이터 보존)
- MyBatis: goodsMgmt.xml BIGINT → NUMERIC 캐스팅 변경
- CommonUtils.numberFormatDecimal2 추가
Made-with: Cursor