본문 바로가기
Team Project/University Web Project

[개발 일지] 학사 관리 시스템 Web 개발 프로젝트 1~3일차 (04/21~04/23)

by 스응 2023. 4. 24.
728x90
728x90

#  레이아웃

1일차에는 레이아웃 만들려다가 시간을 너무 많이 버려서 진행된 게 거의 없었다.

틀만 만들어 두고 나중에 꾸며야지 했는데.. 신경 쓰여서 그냥 토요일 새벽에 완성했다.

학사 관리 시스템 홈페이지 느낌보다는 대학교 공식 홈페이지 느낌으로 만들어지긴 했는데 깔끔해서 마음에 든다.

 

 

#  등록금 내역 조회 페이지

테이블도 예쁘게 꾸미고 싶은데 어떻게 할지 모르겠다.

 

 

#  등록금 납부 고지서 생성 기능

이 기능은 나중에 교직원 쪽으로 넘길 예정이다.

장학금 유형에 따라 최대 장학금액이 정해지고, 학과-단과대에 따라 등록금이 정해지기 때문에

장학금 유형만 미리 정해두면 나머지 값들은 DB에서 알아서 가져와지게 구현해두었다.

장학금 유형은 1학년 2학기부터는 성적을 기준으로 정하면 되겠는데 1학년 1학기는 어떻게 할지 고민이다.

 

 

#  등록금 납부 고지서 조회 및 납부 페이지

등록금/장학금 관련은 DB에서 가져온 값이고,

학생 정보는 나중에 다른 팀원들과 합치면 수정하려고 하드코딩해둔 상태이다.

납부하기 버튼을 누르면 납부하겠냐는 메시지를 출력하고, 확인을 누르면 등록금이 납부된다.

 

 

반응형
728x90

 

#  휴·복학 신청 (프론트만)

휴·복학 신청이라고 이름을 지어두긴 했는데, 복학 신청은 하지 말까 고민중이다.

(기간이 길지 않아서 다른 것부터 해야 할듯..?)

 

 

#  휴·복학 신청 내역 조회 (프론트만)

신청하고 나면 교직원이 해당 신청서를 확인하고 승인/거부 처리할 수 있게 구현할 예정.

 

 

#  학년-학기 갱신 로직

학생들의 학년-학기를 하나하나 갱신할 수는 없어서, 일괄적으로 갱신할 수 있는 로직을 생각해보았다.

(코드로 구현은 아직 X)

 

더보기
1. 재학 상태인 학생의 학번들만 추출해서 리스트에 담음
SELECT student_id FROM stu_stat_tb WHERE status = '재학';
-- 이 결과를 리스트에 담음 (이 리스트를 idList라고 부르겠음)

2. idList에 대해 foreach
for (Integer studentId : idList) {

      3. 해당 학생의 납부된 등록금 내역 리스트 뽑아냄
      SELECT * FROM tuition_tb WHERE student_id = #{studentId} AND status = true;
      -- 이 결과를 리스트에 담음 (이 리스트를 tuiList라고 부르겠음)

      4. 납부된 등록금 내역 개수
      int tuiCount = tuiList.size();

      5. 학년 구하기 (ex : 0.5 -> 1로 올림)
      int newGrade = (int) Math.ceil(tuiCount / 2.0);

      6. 학기 구하기
      int newSemester = 0;
      if (tuiCount % 2 == 1) {
            newSemester = 1;
      } else {
            newSemester = 2;
      }

      7. 학년/학기 갱신
      UPDATE student_tb SET grade = #{grade}, semester = #{semester} WHERE id = #{id}

} -- end of foreach
320x100
반응형

댓글