업무 정리 4

[생산관리] 생산관리 프로세스 업무 일괄 처리

문제 원인기존의 시스템은 BOM 등록부터 외주/자사를 구분하여 생산 프로세스를 처리하는 전 과정을 한 명의 작업자가 수작업으로 처리해야 했다. 이로 인해 업무가 과중되고, 프로세스가 복잡해 실사용률이 낮아졌으며, 후속 처리 작업인 생산실적 등록까지 지연되고 있었다. 이 문제를 해결하기 위해 각 공정을 통합 처리할 수 있는 일괄 처리 기능이 있으면 작업자의 부담을 줄이고 업무 속도를 높일 수 있을 것 같다고 생각했다. 작업자와 논의 끝에 BOM 등록부터 발주 프로세스 전환까지 쉽게 처리할 수 있는 통합 기능을 구현하였다. BOM(Bills Of Material)제품 또는 반제품을 생산하기 위해 투입되는 원부자재의 구성, 표준 소요량 등을 구조화한 기본 단위이다. 핵심 기능BOM 등록제품 하나를 만들기 위한..

[MSSQL] 금속검출 쿼리 성능 최적화

금속 검출 공정일지 기능을 개발하면서 쿼리 응답 시간이 평균 15초 이상 걸리는 문제가 있었다.원인은 다음과 같다. 문제 발생금속 검출 검사 결과를 저장하는 로그 테이블에서 데이터를 추출하는데, 요구사항을 처리하기 위한 원하는 조건에 맞는 데이터를 추출하는 쿼리에서 응답시간이 15초 이상 걸린다. 요구 사항품목이 변경될 때마다 점검 시간을 시작과 통과 시간으로 표시한다.시작 시간과 통과 시간을 정렬하여 순위를 매긴다. 원인 분석품목이 변경되는 금속 검출 구간마다 순위를 매겨 그룹으로 묶는다.두 가지 조건(검출시작시간, 통과시간)으로 그룹을 지정하여 순위를 계산하고 정렬한다.이를 다시 한번 순위를 매겨 정렬해서 Sort 연산 비용이 급증하여 발생한 문제이다.또한 대용량의 데이터일수록 작게 만드는 것이 중요..

[생산실적 등록] Lot 번호 자동 생성

목적생산 실적을 하나의 Lot으로 묶어 관리하여 공정별 진척률 파악과 생산 이력 추적을 용이하게 한다.투입/자재를 관리하고, 문제가 발생했을 때 불량 원인 분석이 가능하다. 화면 구성첫 번째 그리드수주 목록생산 과정에서 각 공정의 진척 상태를 표시공정이 지연되면 빠르게 조치 가능진척률을 바탕으로 예상 납기일 조정이 용이두 번째 그리드공정별 실적 테이블첫 번째 그리드(=수주 목록)에서 데이터를 선택하여 추가첫번째 그리드를 재조회하여 새로운 데이터 추가가 가능세 번째 그리드투입/반납 관리 탭생산 공정에서 사용된 원자재(부자재) 및 반납된 자재를 관리하는 용도반납시 생산에 투입했던 자재의 규격이 변경되면 새로운 품목 코드로 생성하여 관리생산 과정에서 자주 발생하는 자재 절단이나 크기 변경을 통해 남는 자재를 ..

[NGINX] Reverse Proxy 서버 구축

배포 시 서비스 중단 시간을 최소화하기 위해 8080과 8081 포트를 번갈아 사용하여 배포하는 방식을 적용했다. 이를 위해 배포를 자동화할 수 있도록 Windows Bash Shell 스크립트를 활용하였고, domain 주소로 접속을 유지할 수 있도록 Reverse Proxy 서버를 설정했다. 배포 자동화를 구현하기 위해 Web Server 중에서도 가장 많이 쓰이고 있는 NGINX를 사용하기로 결정했다. Apache와 NGINX Apache의 한계다양한 모듈 추가가 가능하여 확장성이 뛰어나지만, HTTP 요청이 많아질수록 CPU가 지속적으로 context-switching을 수행해야 한다. 이로 인해 많은 요청이 들어오면 성능이 저하된다. NGINX멀티 프로세스 & 싱글 스레드 방식으로 동작한다.비동..