2025-07-09 09:09:24 +09:00

6.6 KiB

[출하] 정품 인증 등록 프로그램

1. 프로그램 개요

항목 내용
프로그램 명 GenuineProductRegister
실행 파일 명 Authentication Register Program.exe
설치 위치 4층 포장 구역 오른쪽 컴퓨터
용도 홈페이지 정품 인증 처리를 위해 출하 이력을 정품 인증 DB에 업로드
NAS DB의 OrderTbl에 있는 제품 시리얼 번호를 추출 후 가비아 쇼핑몰 정품 인증 DB에 저장

2. 프로그램 UI

메인 화면 SSH 연결 화면
메인 화면 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에 데이터 표시