부식 수발주 하기

학교에서 들어오는 발주서에는 정확한 품명과 제조사가 적혀있지 않고, 구매처가 없기 때문에 기존에 해왔던 자료들을 확인하는 수 밖에 없다. 품명을 보고 해당 상품을 찾고 거래처에 발주를 해야 한다.

기존의 데이터들을 구글 스프레드시트에 올렸고, 여기서 학교와 품명을 검색하면 발주 내역이 나오게 만들었다. 부식의 경우 발주 프로세스가 '친환경'품목과는 다르다.

  1. 학교에서 발주메일이 오면, 이것을 취합엑셀파일에 옮겨적는다
  2. 발주 품목을 어디서 발주할지 거래처를 검색한다
  3. 발주서를 ERP 에 입력하고 발주통보를 한다

발주서 취합 가공

학교에서 보내는 발주서는 친환경 발주와 동일한 포맷이다.

'식품명' 으로 찾기(검색)하고 전체선택(Ctrl + a) 한 후, 가장 윗쪽은 선택 해제한다.
'시트행 삭제' 를 선택한다.
중간의 빈 행을 삭제한다.
B5(식품명)에서 시작해서 달의 마지막 날짜 숫자(30 또는 31)까지 선택하고, 맨 아랫줄까지 선택하고 복사한다.
새로운 시트를 만들고 붙여넣기한다(값 붙여넣기).
'식품속성'을 수정하고, 22/29일 뒤의 빈 열을 삭제한다.
전체선택(Ctrl + a)하고, Ctrl + t 를 누른다. '머리글 포함'을 체크하고 확인을 누른다.
'데이터 - 테이블/범위에서' 를 선택한다.
새로운 창에서 '값 바꾸기' 메뉴로 'null' 을 '0' 으로 변경한다.
'식품명(단위), 규격, 식품속성' 열을 선택하고, '변환 - 다른 열 피벗해제' 를 선택한다.
'특성' 을 '날짜' 로 변경하고, '값'을 '수량'으로 수정한다.
'날짜' 열을 가장 왼쪽으로 이동한다. '닫기 및 다음으로 로드' 를 선택한다.

취합 엑셀파일 입력

취합 엑셀 파일에 입력한다.

취급처(거래처) 찾기

품목명을 검색해서 취급처(거래처)를 찾아야 한다. 여기 에서 검색한다. 거래처가 지정되면, 발주서를 보내야 한다.

창 번호 설명
1 학교 품목 데이터베이스
2 발주취합 엑셀파일
3 메모장
4 Download 디렉토리(pdf 파일 저장되는 위치)
import pyautogui
import time
time.sleep(5)
 
for i in range(2):
    pyautogui.press('down')
    time.sleep(1)
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.click(x=428, y=884, button='right', clicks=1) // 1. 3번 윈도우
    time.sleep(1)
    pyautogui.hotkey('ctrl','v')
    time.sleep(1)
    pyautogui.press('backspace')
    time.sleep(1)
    pyautogui.hotkey('ctrl','a')
    time.sleep(1)    
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.press('backspace')
    time.sleep(1)    
    pyautogui.click(x=345, y=336, button='right', clicks=1) // 2. 1번 윈도우
    time.sleep(1)
    pyautogui.hotkey('ctrl','v')
    time.sleep(1)
    pyautogui.hotkey('alt','f')
    time.sleep(1)
    pyautogui.press('d')
    time.sleep(1)
    pyautogui.press('p')
    time.sleep(3)
    pyautogui.press('tab')
    time.sleep(1)
    pyautogui.press('enter')
    time.sleep(1)
    pyautogui.click(x=1477, y=499, button='right', clicks=1) // 3. 4번 윈도우
    time.sleep(1)
    pyautogui.press('pageup')
    time.sleep(1)
    pyautogui.press('down')
    time.sleep(1)    
    pyautogui.press('f2')
    time.sleep(1)
    pyautogui.hotkey('ctrl','v')
    time.sleep(1) 
    pyautogui.press('enter')
    time.sleep(1)
    pyautogui.click(x=1460, y=31, button='right', clicks=1)  // 4. 2번 윈도우
    time.sleep(1)
번호 설명
1 3번 윈도우(메모장)의 첫 줄 위치
2 '학교명' 값은 고정으로 하고, '품목명' 입력 셀의 위치
3 윈도우 창의 윗줄 위치, '수정한 날짜'로 정렬함
4 엑셀 윈도우의 윗줄 위치

거래처찾기(v2)

import pyautogui
import time
time.sleep(3)
 
for i in range(2):
    pyautogui.press('down')
    time.sleep(1)    
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.click(x=298, y=762, button='right', clicks=1)
    time.sleep(1)
    pyautogui.hotkey('ctrl','v')
    time.sleep(1)
    pyautogui.press('backspace')
    time.sleep(1)
    pyautogui.click(x=1471, y=852, button='right', clicks=1)
    time.sleep(0.5)
    pyautogui.press('apps')
    time.sleep(0.5)
    pyautogui.press('up')
    time.sleep(0.2)
    pyautogui.press('up')
    time.sleep(0.2)
    pyautogui.press('right')
    time.sleep(0.2)
    pyautogui.press('up')
    time.sleep(0.2)
    pyautogui.press('up')
    time.sleep(0.2)
    pyautogui.press('enter')
    time.sleep(1)
    pyautogui.hotkey('ctrl','v')
    time.sleep(1)
    pyautogui.press('enter')
    time.sleep(1)
    pyautogui.press('enter')
    time.sleep(5)
    pyautogui.hotkey('win','right')
    time.sleep(1)    
    pyautogui.press('esc')   
    time.sleep(1)
    pyautogui.click(x=298, y=762, button='right', clicks=1)
    time.sleep(1)
    pyautogui.hotkey('ctrl','a')
    time.sleep(1)
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.press('backspace')
    time.sleep(1)
    pyautogui.click(x=337, y=334, button='right', clicks=1)
    time.sleep(1) 
    pyautogui.press('esc')
    time.sleep(1)    
    pyautogui.hotkey('ctrl','v')
    time.sleep(1)
    pyautogui.press('down')
    time.sleep(0.2)
    pyautogui.press('down')
    time.sleep(0.2)
    pyautogui.hotkey('ctrl','a')
    time.sleep(1)  
    pyautogui.hotkey('ctrl','c')
    time.sleep(1)
    pyautogui.click(x=1390, y=18, button='right', clicks=1)
    time.sleep(1)
    pyautogui.hotkey('ctrl', 'alt', 'v')
    time.sleep(1)
    pyautogui.press('down')
    time.sleep(0.2)
    pyautogui.press('enter')
    time.sleep(0.2)
    pyautogui.hotkey('ctrl','s')
    time.sleep(1)
    pyautogui.hotkey('alt','f4')
    time.sleep(1)
  1. 2번 윈도우에서 해당 품목명을 복사한다.
  2. 3번 윈도우(메모장)에 복사한다.
  3. 4번 윈도우에서 새로운 엑셀파일을 만들고, 이름은 품목명으로 한다.
  4. 새로 만들 엑셀파일을 실행하고, 창을 배치한다. 5번 윈도우라고 한다.
  5. 3번 윈도우에서 품목명을 복사한다.
  6. 1번 윈도우에서 품목명으로 검색한다. 결과값을 5번 윈도우(엑셀)에 복사한다. 저장하고 파일을 닫는다.

유의할 점은 1,2,3,4 번 윈도우가 화면전체의 절반을 넘지 않아야 한다는 것이다. 넘게되면, 파일 실행 시에 만들어지는 5번 윈도우의 배치를 할 수 없다.

  • computer/gsfood/급식_부식_수발주하기.txt
  • Last modified: 3 years ago
  • by likewind