트리거에서 시간 작업하기
  • 21 Oct 2024
  • 4 읽을 분
  • 기여자

트리거에서 시간 작업하기


기사 요약

개요

운영의 많은 측면은 두 이벤트 사이에 경과한 시간을 확인하는 데 의존합니다. 그 시간을 찾는 방법은 다음과 같습니다.

두 타임스탬프 사이에 경과된 시간을 확인하는 것은 모든 프로세스에서 매우 중요한 부분입니다.

두 개의 타임스탬프로 확인할 수 있습니다:

  • 지정된 생산 시간
  • 배치가 실행된 후 경과된 시간
  • 반응기가 청소된 후 경과된 시간.

두 날짜 사이의 시간에 로직을 추가하면 데이터 수집과 앱 작업 모두에 매우 강력할 수 있습니다.

이 기능의 몇 가지 사용 사례는 다음과 같습니다:

  • 검사 사이의 시간 확인
  • 특정 제품이 실행된 지 얼마나 되었는지 확인
  • 유지 관리 일정 확인.
  • 앱에서 두 지점 사이의 시간 찾기

이 가이드에서는 트리거, 테이블 및 표현식 편집기의 조합을 사용하여 앱에서 이러한 시나리오 중 몇 가지를 구축하는 방법을 보여 드립니다.

다루는 세 가지 예는 다음과 같습니다:

  1. 앱의 서로 다른 두 부분에서 단계 간 시간 계산하기
  2. 지난 주에 기계에 대한 검사가 발생했는지 확인
  3. 앱에서 작업 오더를 처음 스캔할 때 목표 날짜 설정하기

알아두면 유용한 간격

1분: 60초
1시간 3600초
1일 86,400초
1주일 604,800초
1개월(30일) 2,592,000초
1년 31,557,600초

예제 1: 앱의 두 부분 사이의 시간(제작 시간) 찾기

이 예에서는 앱의 단일 사용 내에서 두 타임스탬프 간의 차이를 계산하는 방법을 보여 드리겠습니다.

Level: 중급

이 예제를 사용하려면 다음에 대한 이해가 있어야 합니다:

이 프로세스의 원하는 "시작" 지점에서 트리거 편집기에서 "Then" 문을 추가하여 현재 날짜와 시간을 캡처합니다.

데이터 조작 - 스토어 - 앱 정보 - 현재 날짜 및 시간 - 위치: .

앱 내에서 이 시간 측정의 원하는 "종료" 지점에 다른 트리거를 추가하여 현재 날짜와 시간을 캡처합니다**.**

이제 시간을 캡처하는 것 외에도 트리거를 추가하여 두 타임스탬프의 차이를 찾아 변수에 저장할 수도 있습니다.

이 예에서는 버튼을 눌렀을 때 두 시간을 모두 측정했지만, 스텝이 닫히거나 열릴 때 또는 디바이스가 실행될 때 시간을 캡처할 수도 있습니다.

시간 차이는 두 타임스탬프 사이의 총 시간(초) 단위로 'Interval' 변수에 저장됩니다.

예 2: 검사 간 시간 확인

Level: 고급

이 예제를 사용하려면 다음에 대한 이해가 있어야 합니다:

다음 예제에서 앱의 목표는 "기계 검사" 테이블을 확인하고 마지막 검사가 언제 발생했는지 확인하는 것입니다. 또한 검사가 필요한 빈도보다 큰 경우 앱은 사용자에게 검사를 완료하도록 안내합니다.

표 연결하기:

이 앱의 첫 번째 단계에서는 앱에 테이블 레코드를 로드해야 합니다. 따라서 테이블이 이미 존재해야 합니다. 테이블은 다음과 같이 보일 수 있습니다:

  • ID(텍스트)
  • 마지막 검사(타임스탬프)
  • 검사 빈도(간격)

위의 표에는 기계가 마지막으로 검사된 시간과 각 기계에 필요한 검사 빈도가 모두 포함되어 있습니다.

이제 검사를 확인하려면 앱에서 테이블에 레코드 플레이스홀더를 지정해야 합니다. 이렇게 하려면 앱에 테이블의 레코드 자리 표시자를 추가하면 됩니다. 다음과 같이 이름을 지정할 수 있습니다:

변수를 만듭니다:

이제 적절한 테이블을 앱에 연결했으므로 두 타임스탬프의 차이를 저장할 변수를 만들어야 합니다. "Interval" 데이터 유형을 만들면 이 조작이 가능합니다. 앱 에디터의 컨텍스트 창으로 이동하여 앱을 선택하면 됩니다.

컨텍스트 창에서 시그마 기호를 선택하여 새 변수를 만듭니다.

변수 창에서 원하는 이름으로 새 변수를 만들고 드롭다운 메뉴에서 "interval" 유형을 선택합니다. 이 변수에는 조작할 두 타임스탬프의 빼기 결과가 저장됩니다.

"추가"를 선택하고 닫기 전에 변수가 목록에 추가되는지 확인하세요.

위의 변수 이름은 "ResultantTime"이며 시간 간 차이를 표시합니다. 이 예제에서는 마지막 검사와 앱의 현재 시간 사이의 시간을 기록합니다.

테이블 레코드 로드

적절한 테이블 레코드를 확인하려면 올바른 테이블 ID로 테이블을 로드해야 합니다. 이 예에서는 드롭다운 위젯의 값을 기준으로 레코드를 로드하겠습니다.

올바른 테이블 레코드를 적절하게 로드하려면 텍스트가 테이블 ID와 정확히 일치해야 한다는 점에 유의하세요.

위의 양식 단계에서는 사용자가 검사할 머신을 선택할 수 있습니다. 결과에 로직을 추가하려면 이 필드에 변수(이 경우 MachineType)를 추가하는 것이 매우 중요합니다.

로직 확인

이제 확인할 시간입니다!

이 양식을 제출하면 앱의 현재 시간과 테이블의 이전 타임스탬프 사이의 시간을 확인해야 합니다.

이렇게 하려면 제출 버튼에 몇 가지 '사용자 지정 작업' 트리거를 추가해야 합니다.

먼저 버튼이 올바른 테이블 레코드를 로드해야 합니다:

테이블 레코드 - 레코드 로드 - ID: 변수 - MachineType - 에 로드합니다: 검사

이 테이블은 특정 테이블을 로드하기 위해 여러 작업을 만드는 대신 양식 단계에서 선택한 기계에 따라 동적으로 로드됩니다.

다음으로 제출 버튼은 로드된 테이블 레코드에서 지금과 타임스탬프 사이의 시간을 찾습니다. 동일한 트리거에 다음과 같은 내용을 추가할 수 있습니다:

이 문은 테이블의 이전 타임스탬프에서 현재 시간을 뺍니다. 그런 다음 이 시간 차이를 처음에 생성한 변수에 Interval 데이터 유형으로 저장합니다.

새 트리거에서는 두 타임스탬프의 차이에 따라 앱에 대한 동작이 결정됩니다.

예를 들어, 지금과 마지막 검사 사이의 시간이 필요한 주기보다 크면 작업자는 기계를 검사해야 합니다. 그렇지 않은 경우 기계는 정상이며 아무런 조치가 필요하지 않습니다. 다음과 같이 표시될 수 있습니다:

IF
변수 - 결과 시간 - > - 테이블 기록 - 검사 - 검사 빈도

THEN
단계 - 검사로 이동합니다.

여기서 검사는 시간이 너무 길면 검사를 다시 수행해야 하는지 확인합니다.

그렇지 않은 경우 이 앱은 검사 확인 및 수행에 사용되므로 앱이 완료될 수 있습니다.

동일한 트리거 내에서 이 Else 문은 다음과 같이 보일 수 있습니다:

ELSE IF
앱 - 앱 취소
메시지 표시 - 정적 값 - 텍스트 - 내 메시지

테이블 업데이트

검사가 완료되면 검사가 수행되었음을 반영하도록 테이블 레코드를 업데이트해야 합니다. 이렇게 하려면 검사 단계 종료에 트리거를 추가하는 것이 가장 좋습니다. 이렇게 하면 검사가 완전히 완료된 경우에만 레코드가 업데이트됩니다.

다음과 같이 트리거를 추가하여 새로운 시간을 저장합니다:

데이터 조작 - 스토어 - 앱 정보 - 현재 날짜 및 시간 - 테이블 레코드 - 검사 - 마지막 검사

예 3- 작업 주문의 목표 완료 날짜 설정하기

작업 오더가 완료되기 전에 10개의 개별 작업을 거쳐야 한다고 가정해 보겠습니다.

작업 주문이 10개의 작업 중 첫 번째 작업에서 시작되면 고객의 기대에 맞게 '마감일'을 만들어야 합니다. 마감일이 첫 번째 작업이 시작된 후 1주일 후라고 가정해 보겠습니다.

Tulip에서 이 작업을 수행하려면 현재 시간에 인터벌을 추가하여 향후 일주일의 시간을 결정해야 합니다.

그런 다음 '작업 주문' 테이블에 해당 '마감일'을 저장해야 합니다. 그 방법은 다음과 같습니다.

먼저 미래 1주일의 값을 간격으로 저장하는 변수를 만들어야 합니다.

컨텍스트 창에서 변수 대화 상자로 이동하여 interval 유형으로 "next_7_days"라는 새 변수를 만듭니다.

그런 다음 기본값을 다음과 같이 604800초로 설정합니다. 이는 일주일에 걸리는 시간(초)입니다:

다음으로 현재 작업 주문에 대한 레코드 자리 표시자를 만들고 해당 작업 주문을 앱에 로드합니다.

레코드가 로드된 후 표현식을 사용하여 "마감일" 필드를 설정할 수 있습니다:

  • "데이터 조작" "저장" 데이터: "표현식" "앱 정보-현재 날짜 및 시간 + 변수.next_7_days" 위치: "테이블 레코드" "현재 작업 주문" "마감일"

위의 트리거 문에서는 현재 날짜와 시간에 7일을 더하여 마감일을 생성합니다.


원하는 것을 찾았나요?

community.tulip.co로 이동하여 질문을 게시하거나 다른 사람들이 비슷한 문제를 겪었는지 확인할 수도 있습니다!


이 문서가 도움이 되었습니까?