1227 개발일지

Yesol Lee·2021년 12월 28일
0

개발일지 - 2021

목록 보기
16/20

오늘 한 일

이번주부터는 다른 사원분들이 만든 웹사이트, DB와 연결되는 기능을 개발하기 시작했다. 가장 먼저 할 것은 출장비용 테이블 조작 시 회사 경비 테이블도 업데이트 하는 것이다.

java 변수명 전부 변경 후 테스트

저번주에 변수명 변경 후 테스트하다가 register.jsp에서 생성, 수정 버튼 클릭 시 이동하는 javascript 기능이 작동하지 않는 것을 발견하고 오늘 해결했다.
이클립스에선 아무런 에러가 뜨지 않아서 크롬 개발자도구를 열어보니 다음과 같은 에러가 나왔다.
validator.do에 에러가 있다고 하는데 field.type='hidden' 부분에 별 문제는 없어보였다.
javascript-err

Uncaught TypeError: Cannot read properties of undefined (reading 'type')

검색해보니 대부분 html 선언보다 먼저 함수를 호출하거나 해서 javascript가 참조해야 하는 html 요소를 못 찾아서 그런거였다. jsp의 id값을 대문자로 바꿀 때 validator.xml에서 required로 등록된 form의 field명을 바꾸는 것을 빠뜨렸더니 validateRequired에서 검사할 html input 요소를 찾지 못해 type이라는 속성명도 없었던 것이다.

출장 비용 조작 시 경비테이블 조작

1. 경비테이블 sql ~ controller 추가

  • sql, vo, mapper, service, serviceImpl, controller 등 필요한 메서드 및 클래스 구현하였다.
  • 경비 테이블 데이터 생성 시 사용할 egovIdGen 추가해주었다.

2. 비용테이블에 EXPENSE_ID 컬럼 추가

  • 생성된 출장 비용 중 금액이 0 이상인 데이터만 경비 테이블에 추가하고 경비 테이블 고유번호인 EXPENSE_ID를 저장해주었다. 수정할 때는 이 컬럼값의 유무로 기존 데이터인지 새로운 데이터인지를 판별해야 한다.

3. 조건에 따라 경비테이블 조작

기존 출장비용 테이블에 값을 추가할때는 금액이 0인 항목도 무조건 생성해주었다. 출장 1개 당 4개 비용 항목이 반드시 필요하기 때문이었다. 그런데 경비 테이블에는 실제 사용된 금액을 입력해야 하니 금액이 0인 항목은 넣을 필요가 없었다. 반대로 금액을 0으로 수정한 경우엔 삭제를 해야 하는 부분이 있어 조건문을 잘 구성할 필요가 있었다.

현재 새로운 값 생성, 있던 값 수정, 있던 값 삭제는 되는데 없던 값 생성이 잘 안된다. id가 없다고 뜨는데도 id 생성으로 넘어가지 않는 문제가 있는데 내일 해결하기로 한다.

profile
문서화를 좋아하는 개발자

0개의 댓글