73 lines
3.2 KiB
Markdown
Raw Normal View History

2025-06-24 12:17:35 +09:00
# [출하] 포장 일반 및 자동화 프로그램
### **1. 프로그램 정보**
| 항목 | 내용 |
| --------- | ----------------------------------------------------- |
| **프로그램명** | **DUALSONIC SalesPacking MES Program Ver.1.0.1** |
| **설치 위치** | 4층 포장 구역 |
| **주요 기능** | - 출하장 제품 자동 포장 처리지시 기반 포장<br>- 일반건 및 대량건 무게 측정 자동화 지원 |
| **실행 파일** | `SalesPacking_MES_API_Project.exe` |
---
### **2. 프로그램 실행 화면**
2025-06-24 12:20:35 +09:00
![메인화면]()
2025-06-24 12:17:35 +09:00
---
### **3. UI 구성요소**
* **상단 영역**: MES 로그인, 송장 등록, P/N 입력 버튼, 패킹코드, 설정, 종료
* **오른쪽 영역**: 요청 수량, 작업 수량, 잔여 수량, 제품 사양(메인/단일 정보, 수량, 시작/종료/소요/평균 시간), 초기화/등록 버튼
* **왼쪽 영역**: 대기 중 출고 조건(구성 품목 명, 구매 수량, 확인 수량)
* **설정 화면**:
* 통신 포트, 자동 설정
* 무게 오차범위 설정
* 출고 이벤트/이벤트명 등록
* 포장 개수 설정, 프린터 및 PC 식별 코드 관리
* 라벨 변경, 새로고침, 저장
---
### **4. Mode1 vs Mode2 동작 흐름**
| 구분 | Mode1 (일반 모드) | Mode2 (자동화 모드) |
| ------------- | -------------------------- | ------------------------- |
| **조건** | `rdbMode1.Checked = True` | `rdbMode2.Checked = True` |
| **작동 방식** | 수동 포장 (바코드/무게 수동 처리) | 자동 포장 (API + 무게 자동 처리) |
| **무게 검증** | 체크박스 `ckbWeight`에 따라 수동 측정 | 라디오버튼 `rdbAuto2`로 자동 측정 |
| **주문 처리** | 바코드 기반 단건 처리 | ERP/MES API 연동, 다건 처리 |
| **Save Flow** | `saveStart()` → 수동 데이터 저장 | `saveStart()` → 자동 데이터 저장 |
| **세트 코드 처리** | 수동 분해 또는 처리 없음 | 세트코드 자동 분해 및 구성품 계산 |
| **로그 저장** | 필요 시 `saveLogOrder()` | 자동 로그 저장 (무게 포함) |
| **적용 예시** | 단일 상품, 실험용 포장 | 대량 출하용 자동 포장 시스템 |
---
### **5. 전체 동작 FlowChart**
```mermaid
flowchart TD
A["프로그램 시작 (mainForm_Load)"] --> B["설정 로드 (loadConfig)"]
B --> C["UI 초기화"]
C --> D["바코드 입력"]
D --> E["입력값 분기 (codeParsing())"]
E -->|ERPORDER| F["ERP 처리"]
E -->|MESORDER| G["MES API 처리"]
E -->|PRODSCAN| H["제품 스캔 처리"]
E -->|COMSCAN| I["복수 코드 처리"]
E -->|PACKING| J["포장 처리"]
E -->|기타| K["오류 처리"]
F & G & H & I & J --> L["packingRun() → 조건 검사"]
L --> M{"조건 만족?"}
M -->|Yes| N["saveStart() 호출 (DB 저장, 무게검증 등)"]
M -->|No| O["오류 출력 및 Exit"]
N --> P["DB 저장"]
P --> Q["로컬 저장"]
Q --> R["작업 완료"]
```