본문으로 건너뛰기

설치와 관리

현장 태블릿 앱을 처음 열고, 태블릿을 등록하고, 작업자 계정과 맡은 범위 · 정지 이유 목록을 정하는 법입니다. 앱의 설정 화면은 관리자 역할만 볼 수 있습니다. 작업자 계정(로그인 번호 · PIN · 역할 · 맡은 범위)은 앱이 아니라 플랫폼 콘솔의 «직원» 에서 관리합니다 — 작업자 계정.

설치​

현장 태블릿 앱은 플랫폼의 필수 구성요소입니다. 플랫폼을 설치하면 언제나 함께 올라오고, 따로 켜거나 끄는 스위치는 없습니다.

설치 때 운영자가 고르거나 넣을 값은 없습니다. 플랫폼 설치기가 아래를 모두 맞춰 둡니다.

  • 컨테이너 plantpulse-frontline-web 은 플랫폼 compose 의 기본 서비스입니다. server-web 이 정상(healthy)이 된 뒤에 뜹니다.
  • 포트 9700 · 9701 은 설치기가 방화벽에 등록합니다.
  • 플랫폼 인증과 DB 접속은 플랫폼이 이미 가진 값을 그대로 씁니다 — 아래 플랫폼 인증, 표의 «저장소».
  • 운영자가 할 일은 하나, 태블릿마다 루트 인증서 를 넣는 것입니다.
항목값
접속 주소https://<플랫폼 호스트>:9701/
포트9701 (HTTPS, 화면과 API) · 9700 (HTTP, 상태 확인 전용)
저장소플랫폼 데이터베이스 pp 의 pf 스키마(표 이름은 fl_ 로 시작). DB 계정도 플랫폼 것(PP_PG_USER · PP_PG_PASSWORD)을 그대로 씁니다 — 기기 · 설정 · 설비별 정지 이유 목록 · 교대 메모 · 감사 로그와, 플랫폼이 멈췄을 때 쓰는 로그인 캐시만 둡니다
작업자 계정플랫폼 표 pp.mm_app_account(맡은 범위는 pp.mm_app_account_scope). 로그인 번호 · PIN · 역할 · 맡은 범위 · 화면 언어 · 화면 테마의 정본입니다 — 작업자 계정
플랫폼 데이터상태 · OEE · 정지 · 오더 · 알람 · 정비 오더 · 불량 기록은 모두 플랫폼 V5 API 에서 읽고 씁니다. 앱 DB 에 사본을 두지 않습니다
이전 판에서 올리면 — 스키마 이름과 작업자 계정이 저절로 옮겨집니다
  • 앱의 스키마 이름이 frontline 에서 pf 로 바뀌었습니다. 앱이 기동할 때, DB 를 올리기(Flyway) 전에 한 번 이름을 바꿉니다. 표 · 데이터 · Flyway 이력 · 설정(AI 주소와 키 포함)이 그대로 옮겨지고 복사는 하지 않습니다. 다시 기동해도 아무 일도 하지 않습니다(멱등).
  • 앱에 있던 작업자(fl_operator · fl_operator_scope)는 기동 뒤 플랫폼으로 한 번 옮겨집니다. PIN 은 해시 그대로 옮겨지므로 쓰던 PIN 으로 그대로 로그인합니다. 직원에 연결돼 있지 않던 로그인은 플랫폼에 직원 EMP_FL_<로그인 번호> 가 만들어져 거기에 붙습니다. 플랫폼에 이미 같은 로그인 번호가 있으면 플랫폼 쪽을 그대로 둡니다.
  • 올린 뒤에는 모든 태블릿에서 한 번씩 다시 로그인 합니다(옛 로그인 세션은 지웁니다).
플랫폼도 같은 판이어야 합니다

정비 호출 · 불량 기록 · 오더 중단 · 완성률 보고 · 변경 이력과, 교대 창 · 짧은 정지 기준을 읽는 V5 API 는 플랫폼 server-web 에 있습니다. 플랫폼이 이 API 가 없는 옛 판이면 해당 화면이 동작하지 않습니다 — 예를 들어 정비 화면에 «플랫폼에 정비 기록 API 가 아직 없습니다» 가 보입니다. 플랫폼을 함께 올립니다.

플랫폼 인증​

앱은 플랫폼 V5 를 키 하나로 부릅니다. 작업자 한 명 한 명에게 플랫폼 계정이 필요하지 않습니다.

  • 그 키는 플랫폼 마스터 API 키 PP_MASTER_API_KEY 입니다 — server-web · batch-web · warehouse-web 이 쓰는 것과 같습니다(환경 변수).
  • 운영자가 따로 토큰을 발급하거나 값을 넣을 일은 없습니다.
  • 마스터 키 값을 바꾸면 server-web · batch-web · warehouse-web · frontline-web 넷을 함께 재시작 합니다. 하나라도 빠지면 옛 키로 부르다가 거절됩니다.
  • 키는 하나여도, 플랫폼에 보내는 쓰기마다 로그인한 사람의 사번을 함께 싣습니다. 그래서 플랫폼 기록에도 누가 했는지 남습니다(감사 로그).

태블릿에 루트 인증서 설치​

앱 화면을 태블릿에 받아 두는 기능(PWA)은 브라우저가 신뢰하는 HTTPS 에서만 켜집니다. 플랫폼의 HTTPS 인증서는 플랫폼 CA 가 서명하므로, 태블릿마다 플랫폼 루트 인증서 를 설치해 둡니다.

  • 파일: 플랫폼 호스트의 /etc/kopens/ca/root.crt
  • 설치: MDM 으로 배포하거나 태블릿 설정에서 «인증서 설치» 로 직접 넣습니다.
설치하지 않으면 앱을 다시 열 수 없는 때가 생깁니다

인증서가 없으면 브라우저가 앱 화면을 태블릿에 받아 두지 못합니다. 플랫폼이 재시작되는 동안의 입력 모으기는 그대로 되지만, 태블릿의 네트워크가 끊긴 채로 앱을 새로 열거나 새로고침하면 화면이 뜨지 않습니다. 앱은 이때 «이 주소에서는 오프라인 기능을 켤 수 없습니다(신뢰된 HTTPS 필요 — 루트 인증서를 태블릿에 설치하세요)» 를 화면에 띄웁니다.

첫 관리자​

설치 직후에는 관리자 한 명만 있습니다.

사번PIN역할
admin0000관리자

첫 로그인에서 새 PIN 을 정해야 다른 화면이 열립니다. 이 관리자도 플랫폼 계정입니다 — 플랫폼 직원 EMP_FL_ADMIN 의 프론트라인 로그인으로 등록됩니다. 그 뒤 플랫폼 콘솔 «직원» 에서 실제 관리자의 프론트라인 로그인을 만들고 쓰는 것을 권합니다. 관리자는 한 명은 남아야 해서, 마지막 관리자는 역할을 바꾸거나 끄거나 지울 수 없습니다.

태블릿 등록​

등록하지 않은 태블릿으로 앱 주소를 열면 태블릿 등록 화면이 나옵니다.

등록은 그 브라우저에 남습니다

등록하면 태블릿 서버가 기기 토큰을 내주고, 앱은 그것을 그 브라우저의 사이트 저장소(localStorage)에 둡니다. 그래서 «등록한 태블릿» 은 정확히는 «등록한 브라우저» 입니다. 같은 태블릿이라도 다른 브라우저, 시크릿(비공개) 창, 사이트 데이터를 지운 브라우저는 등록하지 않은 것으로 보고 다시 등록 화면을 엽니다. 키오스크 앱이나 MDM 으로 브라우저 데이터를 지우는 정책이 있으면 이 사이트는 빼 둡니다. 로그인 세션은 그 탭에만 남으므로(sessionStorage), 새로고침해도 같은 사람으로 남고 탭을 닫으면 끝납니다.

태블릿 등록 화면

번호자리하는 일
①순서관리자: 설정 → 기기 → 새 기기 / 이 태블릿: 코드 6자리 입력
②코드 패드관리자 화면에 나온 6자리 코드를 넣고 등록. 넣은 자리가 6칸에 한 자씩 채워집니다
③관리자 로그인등록 전 기기에서는 관리자만 들어갈 수 있습니다. 관리자가 이 태블릿에서 직접 등록할 때 씁니다

등록하는 방법은 둘입니다.

  • 다른 기기에서 코드 만들기 — 관리자가 설정 → 기기 → 새 기기 에서 «기기 이름» 과 «기본 범위» 를 정하고 코드 만들기 를 누릅니다(«이름과 범위를 정하고 코드를 만드세요. 코드는 10분, 한 번만 쓸 수 있습니다»). 태블릿에서 그 코드를 넣습니다.
  • 이 기기 등록 — 관리자가 등록할 태블릿에서 직접 관리자 로그인 한 뒤 설정 → 기기 → 이 기기 등록 을 누릅니다. 이 버튼은 아직 등록하지 않은 브라우저에서만 보입니다.

새 기기 — 일회용 코드

번호자리하는 일
①코드«태블릿에서 이 코드를 넣으세요» — 6자리 일회용 코드. 10분 동안, 한 번만 쓸 수 있습니다
②만료 시각«… 까지». 이 시각이 지나면 «코드가 만료됐습니다» 가 뜹니다. 새로 만듭니다
③앱 주소태블릿에서 열 앱 주소. 등록할 태블릿의 브라우저로 이 주소를 엽니다

기기 등록과 관리​

설정 — 기기, 번호는 읽는 순서

번호자리하는 일
①설정 탭작업자 · 기기 · 정지 이유 목록 · 키오스크 · AI · 감사 로그
②새 기기이름과 범위를 정하고 일회용 코드를 만든다. 아직 등록하지 않은 브라우저에서는 옆에 이 기기 등록 도 보인다
③기기 목록«기기 이름», «기본 범위»(«프레스 #1 (설비)» · «프레스 라인 1 (라인)» · «2공장 (사이트)» 처럼 이름과 단계), «첫 화면», «마지막 접속»
④이 기기지금 쓰고 있는 태블릿의 줄에 붙는다
⑤고치기 · 해제이름 · 범위 · 첫 화면 · 기본 언어 · 화면 테마를 바꾸거나, 기기 등록을 푼다
  • 기본 범위 는 태블릿이 묶이는 곳입니다. 사이트 · 구역 · 라인 · 설비 어느 단계든 고를 수 있습니다. 고르기 창에서 사이트 › 구역 › 라인 › 설비 순으로 내려가다 원하는 단계에서 멈춥니다. 설비 태블릿에서 남긴 기록에는 그 설비와 로그인한 사번이 자동으로 실립니다 — 작업자가 설비를 따로 고르지 않습니다. 라인 태블릿은 카드에서 고른 설비로 남습니다. 사이트 · 구역 태블릿은 그 안에서 볼 수 있는 첫 라인으로 시작합니다.

범위 고르기 — 사이트를 고른 다음 단계

번호자리하는 일
①제목 · 위치«범위 고르기» 와 지금까지 고른 길(«2공장», 한 단계 더 내려가면 «2공장 / 프레스 구역»). 처음에는 «사이트를 고르세요»
②이 단계 전체«2공장 사이트 전체» 처럼 지금 단계 자체를 범위로 고르고 창을 닫습니다. 구역 단계에서는 «프레스 구역 전체», 라인 단계에서는 «… 라인 전체»
③아래 단계구역(그다음 라인, 설비) 목록. 누르면 한 단계 내려갑니다
④뒤로한 단계 올라갑니다. 닫기 는 고르지 않고 닫습니다
  • 기본 범위는 로그인한 사람이 볼 수 있는 곳을 좁힙니다. 보이는 것은 그 사람의 맡은 범위 가운데 이 태블릿의 범위 안에 드는 부분입니다(맡은 범위 ∩ 태블릿 범위). 태블릿이 범위를 넓히거나 «보기» 를 «작업» 으로 바꾸지는 않습니다. 관리자 역할은 좁히지 않고, 기본 범위가 없는 태블릿도 좁히지 않습니다.
  • 그 안에서 기기의 기본 범위 자체를 볼 수 없는 사람에게는 그가 받은 첫 설비나 라인이 대신 열립니다. 겹치는 곳이 하나도 없으면 «이 태블릿에서 볼 수 있는 범위가 없습니다» 화면과 로그아웃만 보입니다.
  • 키오스크의 «PIN 없이 «지금» 보기» 를 켠 태블릿은 로그인하지 않은 동안 자기 기본 범위만 보기로 읽습니다.
  • 첫 화면 은 지금 · 기록 · 워크오더 · 정비 · 대시보드 가운데 고릅니다. «기록» 메뉴는 없어져서, «기록» 을 고른 기기는 «지금» 으로 시작합니다. 그 역할이 볼 수 없는 화면이면 역할의 기본으로 시작합니다. 정비 역할은 언제나 «정비», 첫 화면이 «지금»(기본)인 기기에서 반장은 «워크오더» 로 시작합니다.

기기 고치기 — 기본 언어와 화면 테마

번호자리하는 일
①기기 기본 언어설치 언어 따름 · 한국어 · English
②화면 테마밝게 · 어둡게 · 기기 설정 따름
  • 기본 언어 는 로그인하기 전 화면의 언어입니다(한국어 · English · 설치 언어 따름). 로그인한 사람에게 언어가 정해져 있으면 그 언어가 앞섭니다 — 화면 언어.
  • 화면 테마 는 밝게(기본) · 어둡게 · 기기 설정 따름 가운데 고릅니다. «기기 설정 따름» 은 태블릿 자체의 밝게/어둡게 설정을 따라 바뀝니다. 이것은 태블릿의 기본 테마입니다 — 로그인한 사람이 «내 프로필» 에서 밝게나 어둡게를 골라 두었으면 그 사람이 쓰는 동안 그 테마가 앞서고, 로그아웃하면 태블릿 기본으로 돌아갑니다(화면 언어와 테마).
  • 사람이 어느 설비를 볼 수 있는지는 기기가 아니라 사람마다 정합니다 — 맡은 범위.
  • 해제 하면 그 태블릿은 다음 요청부터 막히고 등록 화면으로 돌아갑니다. 보내지 못한 입력이 있으면 버리지 않고 «이 기기는 등록이 해제됐습니다 · 보내지 못한 입력 N건» 을 보입니다.

작업자 계정​

작업자 계정의 정본은 플랫폼입니다(표 pp.mm_app_account). 태블릿에 로그인하는 사람은 모두 플랫폼에 직원으로 등록돼 있어야 하고, 직원 한 명에게 프론트라인 로그인은 하나입니다. 계정은 플랫폼 콘솔 «직원» 의 등록 · 수정 화면에 있는 «프론트라인 로그인» 칸에서 만들고 고칩니다. 이 칸은 플랫폼 ADMIN 만 봅니다.

칸 · 버튼하는 일
프론트라인 로그인 허용이 직원이 태블릿에 로그인할 수 있는지. 끄면 PIN 이 맞아도 로그인되지 않습니다
로그인 번호태블릿 키패드에 누르는 번호(공백 없이 1~64자). frontline 안에서 한 사람에게만 쓸 수 있습니다. 사번과 달라도 됩니다
프론트라인 역할작업자 · 반장 · 정비 · 관리자 — 역할
임시 PIN숫자 4~6자리. 처음 로그인할 때 본인이 새 PIN 으로 바꿉니다. 비워 두면 PIN 초기화 전에는 로그인할 수 없습니다
상태로그인 없음 · 로그인 가능 · 로그인 꺼짐 · PIN 초기화 필요 · 임시 PIN — 첫 로그인 때 변경 · «… 까지 잠김» · «PIN N회 틀림»
로그인 저장위 값을 저장합니다
PIN 초기화새 임시 PIN 을 정합니다. 다음 로그인 때 본인이 바꿔야 하고, 잠금도 함께 풀립니다
잠금 해제PIN 을 여러 번 틀려 잠긴 것을 바로 풉니다
로그인 삭제이 직원의 프론트라인 로그인만 지웁니다. 직원 정보는 그대로 남습니다
맡은 범위공장 전체 또는 선택한 곳만. 선택한 곳마다 작업(입력까지) 또는 보기만 — 맡은 범위. 범위 저장 으로 저장합니다
PIN 기록PIN 틀림 · 잠김 · 본인 PIN 변경 · PIN 초기화 · 잠금 해제가 언제 있었는지
  • 퇴직 · 휴직 인 직원은 PIN 이 맞아도 로그인되지 않습니다. 직원의 재직 상태만 바꾸면 되고, 로그인을 따로 끄지 않아도 됩니다.
  • 직원을 지우면 그 사람의 프론트라인 로그인도 함께 지워집니다.
  • 앱에 있던 CSV 일괄 등록은 없어졌습니다. 콘솔 «직원» 에서 사람마다 넣고, 여러 명을 한 번에 넣으려면 V5 API PUT /api/v5/app-accounts/frontline/{employee_id} 를 사람마다 부릅니다(작업자 계정 V5).

앱의 «작업자» 탭 — 읽기 전용​

앱의 설정 → 작업자 탭은 이 태블릿에 누가 로그인할 수 있는지 를 보여 주기만 합니다. 위에 «작업자 계정(로그인 번호·PIN·역할·범위)은 플랫폼 콘솔의 «직원» 화면에서 관리합니다. 새 작업자·PIN 초기화·잠금 해제도 콘솔에서 합니다.» 안내가 늘 보입니다.

열보이는 것
사번로그인 번호
이름직원 이름과 직원 ID
역할작업자 · 반장 · 정비 · 관리자
언어그 사람이 고른 화면 언어(정하지 않았으면 기본)
상태사용 중 · 꺼짐 · 초기화 필요 · PIN 변경 대기 · 퇴직 — 로그인 불가 · 휴직 — 로그인 불가. 잠겨 있으면 «· 잠김» 이 붙습니다
맡은 범위«전체», 관리자면 «전체(관리자 역할)», 그 밖에는 받은 설비 · 라인 이름. 범위가 없는 사람은 빨간 «범위 미지정 — 아무것도 볼 수 없음»
  • 이 탭에는 추가 · 고치기 · PIN 초기화 · 잠금 풀기 · 삭제 · CSV 일괄 등록 · 직원 연결이 없습니다. 모두 콘솔 «직원» 에서 합니다.
  • 플랫폼에 닿지 않으면 «플랫폼에 닿지 않아 마지막 동기화 사본을 보여 줍니다(잠금 상태는 빠짐).» 가 보이고, 태블릿 서버가 받아 둔 사본으로 목록을 보입니다.

역할​

역할은 메뉴와 첫 화면, 몇 가지 동작을 정합니다. 어느 설비를 볼 수 있는지는 역할이 아니라 맡은 범위가 정합니다.

역할API 값보이는 메뉴첫 화면이 역할만 하는 일
작업자OPERATOR지금 · 설비 · 워크오더 · 정비 · 대시보드 · 리포트지금(기기의 첫 화면을 따름)—
반장LEADER작업자와 같음워크오더(기기의 첫 화면이 «지금» 이 아니면 그것)워크오더 중단
정비MAINTENANCE지금 · 설비 · 정비 · 대시보드 · 리포트언제나 정비정비 호출 접수 · 시작 · 완료
관리자ADMIN모든 메뉴 + 설정지금(기기의 첫 화면을 따름)워크오더 중단, 정비 단계, 설정 전부. 맡은 범위 없이 전체 를 봅니다
  • 정비 호출 · 자기 호출 취소 · 불량 기록은 모든 역할이 합니다. 오더 시작 · 일시정지 · 재개 · 종료 · 완성률 보고 · 정지 이유 · 수량 정정도 역할로 막지 않습니다 — 막는 것은 맡은 범위의 «보기» 입니다(작업과 보기).
  • 역할이 막는 동작은 맡은 범위에서 «작업» 을 받아도 여전히 막힙니다.
  • 관리자는 한 명은 남아야 합니다. 마지막 관리자의 역할을 바꾸거나 끄거나 지울 수 없습니다.
  • 프론트라인 역할은 플랫폼 콘솔의 로그인 권한과 별개입니다. 프론트라인 관리자라고 플랫폼 콘솔에 들어갈 수 있는 것은 아닙니다.

맡은 범위​

사람마다 볼 수 있고 입력할 수 있는 설비 · 라인을 정합니다. 역할은 메뉴를 정하고, 맡은 범위는 그 메뉴 안에서 보이는 데이터를 정합니다. 콘솔 «직원» 의 «프론트라인 로그인» 칸 아래 맡은 범위 에서 정합니다. 이렇게 정한 범위가 그대로 보이는 것은 아닙니다 — 로그인한 태블릿의 기본 범위 안에 드는 부분만 보입니다(기기 등록과 관리).

  • 공장 전체 이거나, 선택한 곳만 이면 위치(사이트 · 구역 · 라인 · 설비)를 범위에 추가 로 하나씩 넣습니다. 줄마다 권한을 작업 또는 보기만 으로 고르고 범위 저장 을 누릅니다. 위치는 200개까지입니다.
  • 노드를 주면 그 아래도 함께 받습니다. 사이트를 주면 그 사이트의 라인 · 설비 모두, 라인을 주면 그 라인의 설비 모두입니다. 같은 설비가 «작업» 과 «보기» 를 함께 받으면 «작업» 이 이깁니다.
  • 범위가 없으면 아무것도 볼 수 없습니다. «선택한 곳만» 인데 위치가 하나도 없으면 «선택한 곳이 없습니다 — 아무것도 보이지 않습니다.» 가 보입니다.
  • 관리자 역할은 범위와 상관없이 전체를 봅니다.
  • 노드는 플랫폼의 설비 구성에서 읽습니다. 플랫폼에서 지워진 노드는 아무것도 열어 주지 않고 앱에서 «없는 설비» 로 보입니다. 플랫폼에서 바꾼 구성은 몇 분 안에 반영됩니다.
  • 계정을 바꿀 때마다 플랫폼이 변경 이력을 남깁니다. 태블릿 서버는 이 이력을 60초마다 받아 로그인 캐시를 맞춥니다.

«작업» 과 «보기» 의 차이는 아래와 같습니다.

동작작업보기
지금 · 설비 · 워크오더 · 대시보드 · 리포트 보기된다된다
정비 호출된다된다
자기 정비 호출 취소된다된다
정지 이유 · 불량 기록 · 수량 정정된다안 된다
오더 시작 · 일시정지 · 재개 · 종료 · 중단 · 워크오더 바꾸기 · 완성률 보고 · 워크오더 메모된다안 된다

범위 밖의 설비는 보는 것도 안 됩니다. 역할이 막는 동작(예: 오더 중단은 반장 · 관리자, 정비 단계는 정비 · 관리자)은 «작업» 을 받아도 여전히 막힙니다.

맡은 범위는 MES 의 인력 배정이 아닙니다

맡은 범위는 «이 사람이 태블릿에서 무엇을 볼 수 있나» 일 뿐입니다. 자격 · 교대 편성 · 개인 실적 · 인원 집계는 다루지 않습니다.

로그인과 플랫폼이 멈췄을 때​

플랫폼PIN 을 누가 확인하나잠금
닿는다플랫폼이 확인합니다같은 사람이 PIN 을 5번 틀리면 5분 잠깁니다. 관리자는 콘솔에서 잠금 해제 나 PIN 초기화 로 바로 풉니다. 퇴직 · 휴직이면 PIN 이 맞아도 거절합니다
닿지 않는다태블릿 서버가 60초마다 받아 둔 계정 사본으로 확인합니다틀린 PIN 은 그 태블릿 서버가 셉니다(5번이면 5분). 플랫폼으로는 보내지 않습니다
  • 사본으로 로그인할 수 있는 것은 마지막으로 동기화한 뒤 «플랫폼 멈춤 때 로그인 허용 기간» 안에서만입니다(키오스크, 기본 7일). 넘으면 «플랫폼에 닿지 않고 계정 사본이 너무 오래됐습니다. 플랫폼이 돌아오면 로그인하세요.» 로 거절합니다.
  • 사본으로 로그인하면 «플랫폼에 닿지 않아 태블릿에 남은 계정으로 로그인했습니다.» 가 보입니다.
  • PIN 변경은 플랫폼에 닿을 때만 됩니다. 계정 편집 · PIN 초기화 · 잠금 해제도 플랫폼(콘솔)에서만 합니다.
  • 한 태블릿에서 PIN 을 20번 틀리면 그 태블릿이 15분 잠깁니다. 이것은 플랫폼과 상관없이 태블릿마다 셉니다.

화면 언어와 테마​

같은 라인에서 한국어와 영어를 쓰는 사람이 섞여 있어도 태블릿 한 대로 씁니다. 화면 언어는 아래 순서로 먼저 정해진 것 을 따릅니다.

순서무엇어디서 정하나
1로그인한 사람의 언어본인이 앱의 «내 프로필» 에서 고릅니다. 플랫폼 계정에 저장되므로 어느 태블릿에서 로그인해도 따라옵니다
2로그인 전 화면 구석의 한 | EN 버튼누구나 누른다. 그 화면에만 걸리고 태블릿에 저장되지 않으며, 로그아웃하면 풀린다
3태블릿의 기본 언어기기 고치기의 «기본 언어»
4설치 언어플랫폼 설치 때 정한 PP_LANG

화면 테마도 사람마다 고릅니다. 본인이 «내 프로필» 의 화면 테마 에서 태블릿 기본 따름(기본) · 밝게 · 어둡게 가운데 고릅니다. 로그인하면 그 사람의 테마가 적용되고, 로그아웃하면 태블릿의 기본 테마(기기 고치기)로 돌아갑니다.

  • 언어와 테마는 플랫폼에 닿을 때만 바꿀 수 있습니다.
  • 언어는 한국어와 영어 둘입니다. 정지 이유 이름은 플랫폼 원인 사전에 등록된 이름을 그대로 보입니다.

QR 라벨로 열기​

설비에 붙인 QR 라벨을 찍어 앱의 그 설비로 들어오게 하려면, 플랫폼 콘솔의 설정 화면에서 PP_UI_FRONTLINE_URL 에 이 앱의 주소(https://<플랫폼 호스트>:9701 처럼 사람이 여는 주소)를 넣습니다. 비워 두면 공개 페이지에 «frontline 에서 열기» 버튼이 나오지 않습니다. 앱 쪽에는 따로 켤 것이 없습니다.

공개 페이지 자체는 사이트마다 기본으로 꺼져 있습니다. 버튼은 공개를 켠 사이트의 설비 정보 화면에만 나옵니다.

정지 이유 목록​

설비마다 «멈춘 이유를 골라 주세요» 창에 띄울 버튼을 정합니다.

설정 — 정지 이유 목록

번호자리하는 일
①설비 · 복사목록을 정할 설비를 고릅니다. 다른 설비에서 복사 로 비슷한 설비의 목록을 가져옵니다
②원인 사전(플랫폼)플랫폼 원인 사전의 이유. 오른쪽에 분류(공정 · 품질 · 설비 · 자재 · 작업자 · 외부, 계획 정지는 «계획»)와 코드가 보입니다. 체크한 것이 버튼이 됩니다
③이 설비 버튼고른 이유와 순서. ↑ ↓ 로 순서를 바꿉니다
④저장저장해야 태블릿에 반영됩니다
  • 버튼은 6~8개 를 권합니다. 많으면 현장에서 고르기 어렵습니다.
  • 이유 자체(코드 · 이름 · 분류)는 플랫폼 원인 사전에서 관리합니다. 앱은 그중 무엇을 보일지만 정합니다(원인 사전 FAQ).
  • 목록을 비워 두면 태블릿은 최근 30일에 그 설비에서 많이 쓴 이유 를 대신 보입니다.
  • 사전에서 빠진 이유가 목록에 남아 있으면 «사전에 없음» 으로 표시됩니다. 지웁니다.
  • 불량 원인과 정비 호출의 증상 목록은 여기서 정하지 않습니다. 플랫폼 기준정보에서 옵니다.

계획정지와 멈춘 이유​

태블릿이 정지에 이유를 묻는지는 플랫폼이 판정합니다. 관리자가 정할 것은 두 가지 — 플랫폼의 근무표와, 위의 정지 이유 버튼입니다.

정지태블릿에서어디서 정하나
계획정지(식사 · 휴식 · 계획된 멈춤)묻지 않습니다. 타임라인에 회색과 종류 이름(«식사» 처럼)으로 보이고, 누르면 «근무 계획에서 정한 정지입니다. 이유를 고르지 않아도 됩니다.» 와 종류 · 시간만 보입니다. 근무표가 있는 날에는 교대 끝까지의 계획정지가 미리 연한 회색으로 그려집니다플랫폼 콘솔 근무표 → 설비별 근무표 의 근무 패턴(휴식 슬롯)과 예외
짧은 정지묻지 않습니다. 칩으로만 셉니다플랫폼 설정 PP_STOP_MICRO_STOP_SECONDS — 키오스크
그 밖의 정지이유 창이 저절로 뜹니다. 고르지 않고 닫으면 타임라인에 노랑 빗금으로 남아 나중에 고를 수 있습니다버튼은 이 설비의 정지 이유 목록, 이유 자체는 플랫폼 원인 사전

흐름은 이렇습니다.

  1. 플랫폼 콘솔에서 설비별 근무 패턴을 등록합니다 — 교대 시각 · 휴식(식사 · 휴식) · 주기와 적용 설비. 하루만 다른 날은 예외로 넣습니다. API 로는 V5 /api/v5/calendar/shift-pattern 입니다.
  2. 앱의 정지 이유 목록에서 설비마다 버튼 6~8개를 고릅니다.
  3. 설비가 멈추면 플랫폼이 그 정지가 계획정지인지, 짧은 정지인지, 이유가 필요한지를 정하고, 태블릿은 그 판정대로 묻거나 묻지 않습니다.
  4. 작업자가 고른 이유는 플랫폼의 정지 이유로 저장되고, 로그인한 사람의 사번이 함께 남습니다(감사 로그). 사용 화면은 멈춘 이유 남기기.
근무 패턴이 없으면 모든 정지를 묻습니다

근무 패턴이 등록되지 않은 설비는 «근무표 없음» 입니다. 교대 대신 최근 9시간 을 보이고, 식사 · 휴식도 계획정지로 알 수 없으므로 그 시간의 정지에도 이유를 묻습니다. 옛 사이트 단위 근무 일정은 이 판정에 쓰이지 않습니다 — 업그레이드한 설치는 설비별 근무 패턴을 먼저 등록합니다. 관리자로 로그인하면 근무표가 없는 설비에 «근무표를 정하면 교대 기준으로 보입니다» 가 보입니다.

키오스크​

설정 — 키오스크, 번호는 읽는 순서

번호자리기본값하는 일
①손대지 않으면 «지금» 으로 돌아가기 (분)3분다른 화면에 둔 채 떠나도 «지금» 으로 돌아옵니다
②자동 로그아웃 (분)15분이 시간 동안 손대지 않으면 로그아웃됩니다. «30초부터 최대 24시간(1440분)까지»
③플랫폼 멈춤 때 로그인 허용 기간(일)7일1~30일. «플랫폼에 닿지 않으면 마지막 계정 동기화 뒤 이 기간까지만 태블릿에 남은 사본으로 로그인합니다. 넘으면 거절합니다.» — 로그인과 플랫폼이 멈췄을 때
④짧은 정지 기준60초읽기 전용. «60초 미만은 묻지 않음» 처럼 지금 값을 보이고, 그 아래 «플랫폼 설정값입니다. 플랫폼 콘솔의 시스템 설정에서 바꿉니다 — 콘솔과 이 앱이 같은 기준으로 짧은 정지를 가립니다.» — 아래
⑤PIN 없이 «지금» 보기 허용꺼짐켜면 로그인하지 않아도 «지금» 을 볼 수 있습니다. 태블릿의 기본 범위만 보기로 보입니다. 입력하려면 눌러서 로그인합니다
⑥새 정비 호출이 오면 짧은 소리 내기 (정비 화면)켜짐정비 화면에 새 호출이 올 때 소리를 냅니다
⑦설비 메뉴에 «명령» 탭 보이기(PLC 에 쓰는 명령 — 기본 끔)꺼짐명령은 PLC 에 쓰는 동작이라 켜야만 설비 메뉴에 «명령» 탭이 생깁니다. 어떤 명령을 누가 실행할 수 있는지는 플랫폼에서 정합니다. 지금은 탭에 «명령 실행은 플랫폼 준비 중입니다» 만 보입니다

저장 을 눌러야 반영됩니다. 같은 탭 아래에 로고 칸이 따로 있습니다.

  • 로고 — 고객 로고 PNG 를 올리면 왼쪽 메뉴 · 로그인 화면 · 브라우저 아이콘 · 홈 화면 아이콘에 쓰입니다. 정사각형, 512×512 이상, 512KB 이하입니다(«PNG, 정사각형, 512×512 이상, 512KB 이하. 회사 CI 색 배경에 흰색 로고를 넣은 정사각형 PNG 권장»). «밝은 판» 과 «어두운 판(선택)» 을 PNG 올리기 로 따로 올릴 수 있고, 어두운 판이 없으면 밝은 판을 씁니다. 기본으로 되돌리기 로 기본 로고로 돌아갑니다.
  • 이미 설치된 앱의 홈 화면 아이콘은 브라우저가 앱 정보를 다시 읽을 때 바뀝니다. 바로 필요하면 앱을 다시 설치합니다.

짧은 정지 기준 은 앱 설정이 아니라 플랫폼 설정 PP_STOP_MICRO_STOP_SECONDS 입니다. 이 기준보다 짧은 정지는 태블릿이 이유를 묻지 않습니다(짧은 정지).

  • 플랫폼 콘솔의 시스템 설정에서 바꿉니다. 0~1800초이고, 기본은 60초, 0 이면 모든 정지를 묻습니다. 콘솔과 앱이 같은 기준으로 짧은 정지를 가립니다.
  • 앱은 이 값을 1분 동안 기억해 두므로, 바꾼 값은 1분 안에 태블릿에 반영됩니다.
  • 플랫폼에서 읽지 못하면 «플랫폼에서 읽지 못했습니다» 가 보입니다.

AI 연결​

설정 → AI 탭에서 PlantPulse AI 를 연결하면 태블릿에 AI 에게 묻기 버튼이 생깁니다. 연결하지 않으면 버튼이 보이지 않고, 나머지 기능에는 영향이 없습니다.

칸넣는 것
AI 주소PlantPulse AI 의 주소. 예: https://ai.example:8443. 비우면 채팅 버튼이 나오지 않습니다
AI API 키PlantPulse AI 관리 화면의 API 키 관리 에서 발급한 키(공백 없는 8~256자). 저장한 키는 다시 보이지 않습니다. 비워 두고 저장하면 지금 키를 그대로 쓰고, 키 지우기 로 지웁니다
연결 상태읽기 전용. 저장하면 앱이 AI 에 물어 보고 아래 가운데 하나를 보입니다
연결 상태뜻
사용 가능 — 작업자 화면에 채팅 버튼이 나옵니다정상
설정 안 됨 — 주소와 키를 넣으세요주소나 키가 비었다
이 AI 는 현장 채팅을 지원하지 않습니다(새 버전 필요)AI 가 현장 채팅이 없는 옛 버전이다
AI 에 연결할 수 없습니다주소가 틀렸거나 AI 가 꺼져 있다
AI 가 키를 받지 않았습니다키가 틀렸거나 AI 에서 폐기됐다
  • 키는 앱 서버에만 있고 태블릿으로 나가지 않습니다. 태블릿의 질문은 앱 서버를 거쳐 AI 로 갑니다.
  • AI 는 로그인한 사람의 사번과 맡은 범위를 함께 받아, 그 범위 안에서만 답합니다.
  • 두 값은 환경 변수가 아니라 앱 DB 의 설정 ai.url · ai.api_key 로 저장됩니다. 이 화면에서만 바꾸고, 저장하면 다음 질문부터 바로 쓰입니다(재시작 없음). ai.api_key 는 쓰기만 됩니다 — 화면 · 응답 · 로그 어디에도 값이 나오지 않고, 화면은 «설정됨» 여부만 압니다.
  • 같은 AI 를 다른 설치와 함께 쓴다면 이 앱 전용 키를 따로 발급해 두는 것을 권합니다. 키를 폐기하면 연결 상태가 «AI 가 키를 받지 않았습니다» 로 바뀝니다.

사진 보관​

AI 에게 사진을 함께 보내는 기능은 PlantPulse AI 와 현장 앱이 모두 사진 첨부를 지원하는 판에서만 나타납니다. 지원 여부와 장 수 · 크기 한도는 앱이 AI 에 물어 정하므로 관리자가 켤 스위치는 없습니다. 아래는 그 기능이 있을 때의 보관 정책입니다.

무엇정책
어디에 남나보낸 사진은 PlantPulse AI 쪽(그 설치의 플랫폼 S3)에 보관됩니다. 현장 앱 DB 에는 남지 않습니다
얼마나영구 보관입니다. 대화를 지워도 사진과 그 기록(누가 · 언제 · 어느 설비 · 질문과 답)은 남습니다
밖으로 나가나사진을 읽는 모델은 설치 안의 AI 이므로 설치 밖 외부 서비스로 나가지 않습니다
지워 달라는 요청작업자나 개인정보 담당이 사진 삭제를 요청하면 PlantPulse AI 관리자에게 넘깁니다. 현장 앱에는 사진을 지우는 기능이 없습니다. AI 관리자는 사진 하나, 또는 한 사람이 보낸 사진 전부를 지울 수 있고, 지운 사실은 AI 쪽 감사 기록에 남습니다
작업자 고지사진에 사람 얼굴이 찍힐 수 있습니다. 앱은 첨부 화면에서 «올린 사진은 회사가 보관합니다» 를 알립니다. 현장 운영 규정에도 같은 내용을 두는 것을 권합니다

감사 로그​

누가 언제 어느 태블릿에서 무엇을 했는지 남습니다. 읽기 전용입니다.

설정 — 감사 로그, 번호는 읽는 순서

번호자리하는 일
①기간«전체» · «24시간» · «7일» · «30일»
②종류«모든 종류» 또는 아래 표의 종류 하나로 거릅니다
③사번사번으로 거릅니다
④열«시각», «사람»(이름 · 사번), «기기 이름», «종류», «대상»(설비 · 라인 이름이나 오더 번호), «V5»(플랫폼에 보낸 요청과 응답 코드, «POST 200» 처럼)
⑤종류동작의 묶음. 손가락을 대거나 마우스를 올리면 아래 표의 동작 코드가 보입니다
  • 최근 50건부터 보이고, 더 보기 로 이어 읽습니다. 아래에 «N건 표시» 가 보입니다. 맞는 기록이 없으면 «조건에 맞는 기록이 없습니다».
종류동작 코드
로그인SIGN_IN · SIGN_OUT · CHANGE_PIN(본인 PIN 변경)
작업자OPERATOR_… — 작업자 계정을 앱에서 관리하던 이전 판의 기록
기기PAIRING_CODE · PAIR · PAIR_DIRECT · DEVICE_UPDATE · DEVICE_REVOKE · DEVICE_UNLOCK
설정REASON_LIST · SETTINGS · BRAND_LOGO_SET · BRAND_LOGO_RESET
워크오더ORDER_START · ORDER_PAUSE · ORDER_RESUME · ORDER_END · ORDER_ABORT · ORDER_PROGRESS(완성률 보고) · ORDER_SWITCH_PAUSE · ORDER_SWITCH_END(바꾸면서 시작) · ORDER_NOTE(메모)
정지 이유STOP_REASON
수량 정정QUANTITY
불량DEFECT · DEFECT_CANCELLED
정비MAINT_CALL · MAINT_ACCEPTED · MAINT_IN_PROGRESS · MAINT_COMPLETED · MAINT_CANCELLED · MAINT_CHECKLIST(점검 항목)
주요 값KEY_VALUE_ADD · KEY_VALUE_REMOVE
알람 확인ALARM_ACK

어느 묶음에도 들지 않는 동작은 «기타» 로 보입니다.

플랫폼 쪽 기록(정지 이유 · 수량 정정 · 오더 상태 · 정비 오더 · 불량 기록)에도 로그인한 작업자의 사번이 실립니다. 앱은 플랫폼에 보내는 모든 쓰기에 그 사번을 싣고, 플랫폼은 그것을 «한 사람(performed_by)» 으로 남깁니다. 태블릿에 저장했다가 나중에 보낸 입력도 누른 사람의 사번으로 남습니다. 오더 변경 이력 · 완성률 보고 · 불량 목록에 보이는 사람이 이 값이고, 앱이 받아 둔 계정 사본에서 찾아 이름으로 바꿔 보입니다(없는 사번이면 사번 그대로). 계정 자체의 변경(PIN 틀림 · 잠김 · 변경 · 초기화 · 해제)은 앱이 아니라 콘솔 «직원» 의 PIN 기록 에 남습니다. 앱의 감사 로그는 그대로 남으므로, 어느 태블릿에서 했는지와 플랫폼 응답까지 보려면 여기서 찾습니다.

잠금 규칙​

무엇언제얼마나푸는 법
작업자PIN 을 연속 5번 틀림5분기다리거나 관리자가 콘솔 «직원» 에서 잠금 해제 · PIN 초기화. 플랫폼이 멈춘 동안 태블릿 서버가 건 잠금은 기다린다
태블릿그 태블릿에서 PIN 을 연속 20번 틀림15분기다린다
기기 등록 코드만든 지 10분이 지나거나 한 번 씀—새 코드를 만든다