본문 바로가기
프로그래밍/DB/파워빌더

재고관리 프로그램 커스터 마이징

by 아유카와 2010. 3. 16.
  어떤 기업이든 기업마다 조금씩 업무 프로세서가 다르기 마련. 패키지보다 비용이 많이 드는 이유는 어떻게 보면 당연하다. 그 회사에서 요청하는 그 회사에 맞는 프로그램으로 만들어 주기 때문이다. 아래의 프로그램도 아직 미완성이지만 어느정도 프레임웍이 완성되어 있으니 어떤 기업에든 맞추어서 개발 할 수 있다. 

  미래를 위한 프로그램 리포팅 입니다. 업무 프로세스는 그때 그때 흔적을 남겨 놓아야 나중에 혼선이 없더군요. 아직 출고, 반품, 재고 및 레포트, 상세조회 등등 추가 할 것이 많이 남아 있지만 중간 점검 차 남겨 봅니다.이 후 상업용으로 사용 하기 위한 프로토 타입 입니다. PBGUI 이외의 경우는 저작권이 있으니 마음대로 퍼가지 말아주시기 바랍니다.

  사용자 등록을 하는 화면 입니다. 아직 로그인 화면은 없지만 나중을 위해 미리 만들어 놓은 화면.
기본적인 트랜잭션은 작동되도록 만들고 있으므로 MDB 이외에 오라클, MSSQL 등에서 다수의 유저가 사용 가능.

  거래처를 등록 하는 화면 입니다. 일반적인 기업에서 거래처 등록 하는 화면과 특별히 다른 점은 없습니다. 나중에 세금계산서 부가가치세 신고 등으로 활용 할 수 있도록 매입, 매출 체크 정도는 추가 해야 할것 같네요.

  우편번호 검색 화면 크게 설명한 부분이 없습니다. 검색 후 선택 하면 자동으로 주소와 우편번호가 세팅 됩니다.

  품목코드를 등록하는 화면입니다. 품목 등록시에 이 품목이 어느 거래처의 품목인지 설정해주도록 되어 있습니다. 사용자가 등록 후 중간 관리자가 승인 하는 룰을 생각해서 만들어 봤습니다. 대분류, 중분류, 소분류 또한 나중의 레포트 작업에서 도움이 될 수 있겠지요.( 아직 미 구현 ) 시리얼의 경우는 품목번호 이외에 이 품목을 나타내는 고유 코드로 인식 시키기 위해 넣어 놓았습니다.

  거래처 검색 화면 입니다. 우편번호와 마찬가지로 검색 후 선택 하면 저절로 세팅 됩니다.

  입고조회 및 등록 화면 입니다. 입력시 왼쪽 상단의 입력을 눌루면 됩니다. 삭제시는 각 라인의 체크 박스 선택후 삭제 버튼을 누르면 됩니다.( 전체 삭제, 부분 삭제 지원 ) 
입고 상세 내역에 보면 시리얼에 입력 버튼이 있는데, 이것은 품목등록의 시리얼과는 다릅니다. 이 시리얼은 각 품목의 하나 하나의 수량에 시리얼을 부여 하기 위해 만들어졌습니다. 한개 한개 품목의 히스토리 관리를 위해 사용 되어 집니다. 입고 삭제시 이 시리얼의 품목은 입고재고이어야 합니다. 반품재고시 반품된 내역이 있기 때문에 삭제 할 수 없습니다.

  입고 등록 화면 입니다. 저장하면 뒤의 화면에 추가되는 것이 실시간으로 나타납니다. 입력 팝업창은 F2키로 투명화가 가능합니다. 저장 후 하단의 품목번호를 변경하여 추가적으로 같은 거래처에 다른 품목을 입력 할 수 있습니다. 한번 저장이 되면 입고방법 부터 기타사항 까지는 수정이 불가 합니다. 반드시 삭제 후 다시 입력 해야 합니다. 
팝업 창을 닫은 후에 이 거래처에 더 추가 하고 싶다면 입고내역에서 해당되는 내용을 더블 클릭하면 됩니다. 팝업 창을 닫은 후에 추가된 상세내역을 수정하고 싶다면 상세내역에서 해당되는 내용을 더블 클릭하면 됩니다.
 입고내역 삭제시 그에 딸려있는 입고상세 내역도 같이 삭제 됩니다.

  품목 검색 화면입니다. 품목 검색시 유의 할 점은 상단의 거래처에 등록되어 있는 품목만 나온다는 것입니다. 2개의 거래처에 같은 품목이 있다면 2개의 거래처에 각각 품목을 따로 등록 해줘야 합니다.
품목 추가를 눌러 이 거래처에 품목을 바로 추가 할 수도 있습니다.

  각각의 입고 상세내역의 품목 수량에 따라 시리얼을 등록 할 수 있는 화면입니다. 입고 상세내역에 세탁기라는 품목이 200개를 입고 했다면 시리얼내역도 200개가 생성이 됩니다. 이미 출고, 반품재고, 재고조정인 상태의 품목은 시리얼을 변경 할 수 없습니다. 

  출고등록 화면입니다. 입력을 누룬 후 출고 등록을 할 수 있습니다. 이 화면에서 삭제처리도 가능합니다. 체크박스 체크 후 삭제 버튼을 클릭하면 됩니다. 삭제시 해당 시리얼의 품목은 반품재고가 아닌 입고재고(반품이 내역이 없어야 함) 상태이어야 합니다. 그렇지 않을경우 에러 메세지를 출력 합니다.

  입력을 누른 화면입니다.  거래처번호와 품목번호를 입력 하시면 해당하는 재고 품목이 리스트에 나타압니다. 체크 박스에 체크 후 출고처리 버튼을 누르면 출고처리 됩니다. 출고처리 후 계속해서 추가적인 작업을 할 수 있습니다. 출고처리시엔 해당 시리얼의 품목이 재고 상태로 있어야 합니다. 그렇지 않을 경우 에러메세지를 출력 합니다.

  조회 화면의 출고 상세내역을 더블클릭 했을 경우 팝업 창입니다. 위의 화면과 별 다르지 않지만 이미 출고된 내역은 체크박스에 체크가 되어 있습니다. 체크박스 해제 후 저장 하게되면 출고처리가 취소 되게 됩니다. 물론 체크 안된 체크박스를 클릭 후 저장하면 출고 처리가 추가적으로 됩니다. 출고된 내역 중 반품 내역이 있으면 해당 출고내역은 반품 상태로 표시 됩니다. ( 같은 출고번호에서 똑같은 시리얼은 두번 출고 할 수 없습니다. )

  출고 등록 화면에서는 세금계산서와 거래명세표를 출력 할 수 있습니다. 각 항목의 출력을 클릭하면 프린트 미리보기 화면으로 전환되는 것을 확인 할 수 있습니다.

거래명세표 출력 화면

세금계산서 출력 화면

  반품등록/삭제 화면입니다. 출고된 내역중 반품처리를 할 수 있습니다. 세부 시리얼 리스트에서 체크박스를 체크 후 저장하면 반품, 체크 해제 후 저장하면 반품삭제(다시 출고 상태로 돌아 감)가 됩니다.
반품등록시에는 해당 시리얼의 품목이 판매상태로 되어 있어야 합니다. 반품 등록시 이 시리얼의 품목은 판매상태 이어야 합니다. 그렇지 않으면 에러메세지를 출력 합니다. 반품 삭제시 이 시리얼의 품목은 재고상태이어야 합니다. 그렇지 않을 경우 에러메세지를 출력 합니다.



마지막으로 이것은 제 지인의 회사 시스템에 맞추어 개발 중입니다.
입고 방법에 있어 바코드가 있다고 한다면 입고 할 때 바코드로 바로 바로 찍어 수량 및 품목 계산도 가능 하리라 생각 됩니다. 예를 들어 위의 입력 팝업 창에서 입고 하려는 품목 선택 후 바코드를 찍을 때마다 바로 DB INSERT 방법과 모두 읽어 들인 후 저장 버튼으로 INSERT 하는 방법을 고려 해 볼만 합니다.

학생분들이 소스를 달라는 말을 많이 하십니다. 상업적으로 이용을 고려 하고 있기 때문에 드릴수도 없지만, 기본적으로 본인이 공부하여 개발하지 않으면 실력이 늘지 않습니다.  
위의 내용 및 화면(PB GUI 디자인 제외)은 저작권이 있으니 불펌을 금지 합니다.