[출하] 정품 인증 등록 프로그램
1. 프로그램 개요
항목 |
내용 |
프로그램 명 |
GenuineProductRegister |
실행 파일 명 |
Authentication Register Program.exe |
설치 위치 |
4층 포장 구역 오른쪽 컴퓨터 |
용도 |
홈페이지 정품 인증 처리를 위해 출하 이력을 정품 인증 DB에 업로드 NAS DB의 OrderTbl에 있는 제품 시리얼 번호를 추출 후 가비아 쇼핑몰 정품 인증 DB에 저장 |
2. 프로그램 UI
메인 화면 |
SSH 연결 화면 |
 |
 |
3. 기능 요약
기능 |
설명 |
날짜별 정품 인증 데이터 조회 |
선택한 날짜에 해당하는 정품 데이터를 5개 테이블에서 조합하여 불러오기, 시리얼 분리 후 DTO 객체로 변환하여 그리드에 표시 |
정품 인증 DB 저장 |
그리드에 표시된 데이터를 SSH 터널을 통해 원격 DB(dualsonic.fm_genuine )에 INSERT 쿼리로 저장 |
CSV 파일 변환 및 내보내기 |
현재 그리드 내용을 UTF-8 인코딩으로 CSV 파일(Auth_N_YYYY-MM-DD.csv )로 저장, 특수문자 처리 포함 |
원격 DB 데이터 불러오기 |
SSH를 통해 원격 DB에서 선택한 날짜(buy_date ) 기준으로 데이터 조회 후 그리드에 표시 |
데이터 초기화 및 관리 |
날짜 선택 활성화, 그리드 초기화, 포트 및 쓰레드 안전 종료 처리 |
4. 검사 순서 흐름
[사용자 (UI)]
↓ ① 날짜 선택 후 포장 내역 버튼 클릭
[btnOrderSearch_Click]
↓
[GetGenuineDatasByDate(date)]
↓
[FindSerialsByDate() → 시리얼 분리]
↓
[FillFromOrderTbl() → 5개 테이블 조합]
↓ ② 데이터 그리드에 표시
[dgvNormal에 데이터 로드]
↓
[사용자 데이터 확인/수정]
↓ ③ 정품 인증 저장 버튼 클릭
[btnSave_Click]
↓ SSH 터널 통신
[SSHCommand(INSERT 쿼리)]
↓
├ 성공 → 저장 완료 메시지
└ 실패 → 에러 메시지
**데이터 흐름**
[로컬 NAS DB] → [데이터 조합] → [그리드 표시] → [원격 DB 저장] → [CSV 파일 저장]
5. 데이터베이스 구조
조회 시 사용 테이블 (로컬 NAS DB)
테이블명 |
사용 함수 |
용도 |
jomtOrderDB.jomtOrderTbl |
FindSerialsByDate(), FillFromOrderTblByLike(), FillFromOrderTblByIn() |
주문 정보 및 시리얼 번호 조회 |
jomtTesterDB.jomtProductTbl |
FillFromProductTbl() |
Face/Eye SN 정보 |
jomtTesterDB.jomtCartridgeTbl |
FillFromProdData() |
CountryCode, 제조일자 |
jomtTesterDB.jomtDeviceTbl |
FillFromProdData() |
// |
jomtTesterDB.jomtNonTDTbl |
FillFromProdData() |
// |
저장 대상 테이블 (원격 SSH DB) : DUALSONIC 쇼핑몰 DB
컬럼명 |
설명 |
그리드 인덱스 |
seq |
고유 번호(자동 증가) |
0 |
model_code |
모델 코드 |
1 |
model |
모델명 |
2 |
invoice_number |
송장 번호 |
3 |
packing_sn |
패킹번호 |
4 |
body_sn |
본체코드 또는 개별품목코드 |
5 |
face_sn |
페이스카트리지코드 |
6 |
eye_sn |
아이카트리지코드 |
7 |
buy_rental |
구매(B) 또는 렌탈(R) |
8 |
country_code |
국가코드 |
9 |
manufacture_date |
제조일 |
10 |
buy_date |
구매일 |
11 |
sales_store |
구매처 |
12 |
sales_order_no |
구매처 주문번호 |
13 |
order_name |
주문자 |
14 |
recipient_name |
수취인 |
15 |
order_hp |
주문자 연락처 |
16 |
order_address |
주문자 주소 |
17 |
note |
특이사항 |
18 |
6. SSH 연결 설정 (dualsonic.fm_genuine)
PuTTY 설정
항목 |
설정값 |
Host Name |
139.150.76.217 |
Port |
22 |
Connection type |
SSH |
Username |
5phbgsdualsonic |
Password |
vl4p9iz5 |
터널링 설정
항목 |
설정값 |
Source port |
3308 |
Destination |
10.9.218.4:3306 |
HeidiSQL 연결
항목 |
설정값 |
Hostname / IP |
127.0.0.1 |
Port |
3308 |
User |
dualsonic |
Password |
1703741406dualsonic |
Database |
dualsonic |
📎 기타 참고 자료 (sequenceDiagram)
sequenceDiagram
participant 사용자
participant UI
participant 시스템
participant 로컬DB
participant 원격DB
participant 파일시스템
사용자->>UI: ① 날짜 선택
사용자->>UI: 포장 내역 버튼 클릭
UI->>시스템: btnOrderSearch_Click()
시스템->>시스템: GetGenuineDatasByDate(date)
시스템->>로컬DB: FindSerialsByDate() 호출
로컬DB-->>시스템: 시리얼 번호 리스트 반환
시스템->>시스템: 시리얼 분리 처리 (/ 구분)
loop 5개 테이블 조합
시스템->>로컬DB: FillFromOrderTbl(), FillFromProductTbl(), FillFromProdData()
로컬DB-->>시스템: 테이블별 데이터 반환
end
시스템->>UI: dgvNormal에 데이터 표시
UI-->>사용자: ② 데이터 그리드 출력
사용자->>UI: ③ 정품 인증 저장 버튼 클릭
UI->>시스템: btnSave_Click()
시스템->>시스템: INSERT 쿼리 문자열 생성
시스템->>원격DB: SSHCommand(UpdateData)
alt 저장 성공
원격DB-->>시스템: 저장 완료
시스템->>UI: 성공 메시지 출력
else 저장 실패
원격DB-->>시스템: 에러 반환
시스템->>UI: 실패 메시지 출력
end
Note over 사용자,파일시스템: 추가 기능들
사용자->>UI: CSV 변환 버튼 클릭
UI->>시스템: btnCsv_Click()
시스템->>파일시스템: Auth_N_YYYY-MM-DD.csv 저장
사용자->>UI: 불러오기 버튼 클릭
UI->>시스템: btnLoad_Click()
시스템->>원격DB: SELECT WHERE buy_date = 선택날짜
원격DB-->>시스템: 조회 결과 반환
시스템->>UI: dgvNormal에 데이터 표시