본문 바로가기
파이널 프로젝트

X-nags 그룹웨어

by juneMiller 2021. 12. 1.

Spring 기반 그룹웨어를 만들었습니다.

 

제가 맡은 부분은 사원 등록 조회 수정 삭제

비품 예약 , 기간연장, 반납 

회의실 예약, 취소, 삭제 기능을 구현 하였습니다. 

 

DataTable API : https://datatables.net/

04. 비품 예약 

controller

	@RequestMapping("insertSup.su")
	public ModelAndView insertSupplies(int empId, ModelAndView mv, Supplies supplies)

   {
		
		suppliesService.insertSupplies(supplies);
			
		ArrayList<Return> returnList = suppliesService.updateForm(empId);
		
		mv.addObject("returnList", returnList).setViewName("supplies/updateSupplies");
		
		return mv;
		
	}

 

serviceImpl

@Override
	public void insertSupplies(Supplies supplies) {
		int result = suppliesDao.insertSupplies(sqlSession, supplies);
		
		if(result > 0) {
			String[] sCode = supplies.getSuppliesCode().split(",");
			String[] sName = supplies.getSuppliesName().split(",");
			String[] sCounts = supplies.getCounts().split(",");
			for(int i=0; i <sCode.length; i++) {
				
				String code = supplies.getSuppliesCode();
				code += sCode[i];
				
				System.out.println("code " + code);
				

				String empId = supplies.getEmpId();
				Date startDate = supplies.getStartDate();
				Date endDate = supplies.getEndDate();
				String status = supplies.getStatus();
				
				ArrayList<Supplies> suplist = new ArrayList<Supplies>();
				
				
				
				Supplies su = new Supplies(sCode[i], empId, sName[i], sCounts[i], startDate, endDate, status);
				
				suplist.add(su);

				suplist = suppliesDao.insertCode(sqlSession, suplist);
				
			}
		}

		if (result < 0) {
			throw new CommException("비품 예약 실패");
		}
	}

Mapper

 

<insert id="insertCode" parameterType="java.util.ArrayList">
        INSERT INTO RETURN_LIST(
         RENO
		,SUPPLIES_NO
		,SUPPLIES_CODE
		,EMP_ID
		,SUPPLIES_NAME
		,COUNT
		,START_DATE
		,END_DATE
		,STATUS
		)
       
        values
         <foreach collection="list" item="item"
         separator=" ">
        
        (
        SEQ_RENO.NEXTVAL
        ,SEQ_SUPNO.CURRVAL
        ,#{item.suppliesCode}
        ,#{item.empId}
        ,#{item.suppliesName}
        ,#{item.counts}
        ,#{item.startDate}
        ,#{item.endDate}
        ,default
        )
       
 </foreach>

</insert>

 여러항문을 콤마로 구분해 나눠온 스트링 값을 다중 인서트 처리를 해 줍니다. 

 

 

 

05. 비품 기간 연장

 

 

 

Controller

 

	@RequestMapping("updateDate.su")
	public ModelAndView updateSupplies(int empId, Return re, ModelAndView mv, HttpServletRequest request, Model model ) {
		
		suppliesService.updateSupplies(re);
		mv.addObject("reNo", re.getReNo()).setViewName("member/myPage");
		
		
		//날짜 수정후 다시 목록 불러오기 리스트
		ArrayList<Return> returnList = suppliesService.updateForm(empId);
		mv.addObject("returnList", returnList).setViewName("supplies/updateSupplies");

		return mv;
		
	}

수정후 다시 같은 페이지로 돌아오기도 하지만, update 된 내용도 mypage 안에 tab 내용으로 보내져야 한다. 

 

 

 

06. 비품 반납

예약된 번호로 찾아 N or Y 처리로 반납여부를 표기한다. 

 

 

Mapper

	<update id="returnSup" parameterType="_int" >
	UPDATE RETURN_LIST SET STATUS='N' WHERE RENO = #{reNo}
	</update>

'파이널 프로젝트' 카테고리의 다른 글

X-nags 그룹웨어  (0) 2021.12.01
X-nags 그룹웨어  (0) 2021.12.01
X-nags 그룹웨어  (0) 2021.11.29