Course C-1

[견적 처리] 개발

목표

  • 앞서 진행했던 내용을 바탕으로 주어진 "개발 화면", "테이블 정보" 만으로 정해진 규칙에 따라 간단한 견적 처리 프로그램을 만들어 봅니다.

  • 학습 인정 시간: 5 시간

개발 화면

1. 테이블 정보

2. 규칙

  • GPM에서 데이터 컴포넌트는 새로 등록하지 않고 테이블만 새로 정의합니다.

  • 폼 생성 정보는 아래 사진과 같습니다.

  • 견적번호(quonum)와 견적순번(qunseq)은 사용자로부터 입력 받습니다.

  • 견적일자 조회 조건으로는 '시작일-종료일'을 입력받고, 쿼리에서 BETWEEN 구문을 사용합니다. (아래 코드 참고)

string quonum = string.Empty;
string frdt = string.Empty;
string todt = string.Empty;

if (workType.Equals("list"))
{
    quonum = txtQuonum.Text;
    frdt = ymdFromDate.yyyymmdd;
    todt = ymdToDate.yyyymmdd;
}
SELECT * 
FROM SA050T_xxx A
WHERE A.quodt BETWEEN @p_frdt AND @p_todt

  • 저장용 프로시저의 작업 타입 '수정(U)'에서 견적 상세 테이블(SA051T_xxx)의 데이터 삭제 처리 시 데이터 타입이 int인 quoseq 필드를 varchar 타입과 합칠 경우 CAST 함수를 사용해야 합니다.

--# 견적 상세 DELETE
DELETE
FROM SA051T_xxx
WHERE quonum + '|' + CAST(quoseq as varchar)
	IN (	SELECT quonum + '|' + CAST(quoseq as varchar)
			FROM @tb_SA051T_xxx
			WHERE row_status = 'D')

  • 조회 조건의 기본값 세팅 메서드는 다음과 같이 작성합니다.

private void ResetParameters()
{
    DateTime dateTime = GetServerDateTime();

    txtQuonum.EditValue = GetDefault("PARAM1", nameof(txtQuonum), string.Empty);
    ymdFromDate.EditValue = GetDefault("PARAM1", nameof(ymdFromDate), dateTime.AddMonths(-1));
    ymdToDate.EditValue = GetDefault("PARAM1", nameof(ymdToDate), dateTime);
    cboPerson.EditValue = GetDefault("PARAM1", nameof(cboPerson), string.Empty);
    txtCustnm.EditValue = GetDefault("PARAM1", nameof(txtCustnm), string.Empty);
}

3. 체크 리스트

  • 검색 / 신규→저장 / 수정→저장 / 삭제 기능이 올바르게 동작하는지 확인합니다.

  • 견적 번호는 신규 시에만 수정이 가능한지 확인합니다.

  • 조회 시 [조회조건] 영역에 필수 입력 항목(견적일자) 체크가 정확히 이루어지는지 확인합니다.

  • 저장 시 [기본정보] 영역에 필수 입력 항목(견적번호, 견적일자, 업체명) 체크가 정확히 이루어지는지 확인합니다.

  • 저장 시 [상세정보] 영역에 필수 입력 항목(견적순번, 품명) 체크가 정확히 이루어지는지 확인합니다.

  • [요약정보] 영역과 [상세정보] 영역에 데이터 건 수 집계가 제대로 표현되는지 확인합니다.

  • 파일 첨부 기능이 정상 동작하는지 확인합니다.

  • [조회조건] 영역의 초기화 버튼 기능이 정상 동작하는지 확인합니다.

  • [요약정보] 영역의 GridView의 행을 선택하고 Alt+F2 키를 눌러 등록 정보, 수정 정보가 정상 표현되는지 확인합니다.

Last updated

Was this helpful?