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 |