123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239 |
- package com.lemon.lifecenter.controller;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.transaction.annotation.Propagation;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.servlet.ModelAndView;
- import com.lemon.lifecenter.common.LifeCenterConfigVO;
- import com.lemon.lifecenter.common.LifeCenterController;
- import com.lemon.lifecenter.common.LifeCenterFunction;
- import com.lemon.lifecenter.common.LifeCenterPaging;
- import com.lemon.lifecenter.common.LifeCenterSessionController;
- import com.lemon.lifecenter.dto.CenterInfoDTO;
- import com.lemon.lifecenter.dto.LocationDTO;
- import com.lemon.lifecenter.dto.LoginDTO;
- import com.lemon.lifecenter.dto.StaffDTO;
- import com.lemon.lifecenter.service.CenterService;
- import com.lemon.lifecenter.service.LoginService;
- import com.lemon.lifecenter.service.StaffService;
- // 생활치료센터관리 contorller
- @Controller
- @RequestMapping("/center")
- public class CenterController extends LifeCenterController {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
- @Autowired
- private CenterService centerService;
- @Autowired
- private StaffService memberService;
- @Autowired
- private LoginService loginService;
- @Autowired
- private LifeCenterConfigVO config;
- private LifeCenterPaging paging;
-
- @RequestMapping("/new")
- public ModelAndView centerNew() {
- List<LocationDTO> jurisdiction = centerService.selectLocation();
- List<LocationDTO> list = centerService.selectLocation();
- List<LocationDTO> cooperativeList = centerService.selectCooperativeHospialList();
-
- ModelAndView mv = setMV("center/new");
- mv.addObject("jurisdiction", jurisdiction);
- mv.addObject("cooperativeList", cooperativeList);
- list.remove(list.size()-1);
- mv.addObject("locationList", list);
- return mv;
- }
-
- @RequestMapping("/new/regist")
- @Transactional(propagation=Propagation.REQUIRED)
- public String centerNewRegist(
- @ModelAttribute("dto") final CenterInfoDTO dto,
- @RequestParam(value="detailAddr", required=true) String detailAddr,
- @RequestParam(value="staffId", required=true) String staffId,
- @RequestParam(value="staffPw", required=true) String staffPw,
- @RequestParam(value="staffName", required=true) String staffName,
- @RequestParam(value="staffPhoneNumber", required=true) String staffPhoneNumber) throws Exception {
- String centerAddress = dto.getCenterAddress() + "|" + detailAddr;
- dto.setCenterAddress(centerAddress);
- StaffDTO mDto = new StaffDTO();
-
- centerService.insertCenter(dto);
-
- mDto.setCenterCode(dto.getCenterCode());
- mDto.setId(staffId);
- // mDto.setPassword(LifeCenterFunction.aesEncrypt(config.aesKey, config.IV, staffPw));
- mDto.setPassword(LifeCenterFunction.sha256Encrypt(staffPw));
- mDto.setName(staffName);
- mDto.setPhoneNumber(staffPhoneNumber);
- mDto.setGroupIdx( 2 ); // 1: 시스템관리자 2:관리자 3:일반사용자, 센터신규등록시 아이디생성은 관리자 권한으로 생성, 센터하나에 관리자 1명으로 개발진행
-
- memberService.inserMember(mDto);
-
- return "redirect:/center/info?centerCode=" + dto.getCenterCode();
- }
-
- @RequestMapping("/info")
- public ModelAndView centerInfo(
- @RequestParam(value="centerCode", required=true) int centerCode) {
- CenterInfoDTO dto = new CenterInfoDTO();
- dto.setCenterCode(centerCode);
- dto = centerService.selectCenterInfo(dto);
- dto.setStaffPhoneNumber( LifeCenterFunction.phone( dto.getStaffPhoneNumber() ) );
- dto.setCenterNumber( LifeCenterFunction.phone( dto.getCenterNumber() ) );
-
- ModelAndView mv = setMV("center/info");
-
- String centerAddress = dto.getCenterAddress().split( "|" )[0];
- String detailAddress = dto.getCenterAddress().split( "|" )[1];
-
- mv.addObject("centerInfo", dto);
- mv.addObject( "centerAddress", centerAddress );
- mv.addObject( "detailAddress", detailAddress );
- mv.addObject("centerCode", centerCode);
- return mv;
- }
- @RequestMapping("/edit/update")
- @Transactional(propagation=Propagation.REQUIRED, rollbackFor = { RuntimeException.class, Error.class })
- public String centerEditUpdate(
- @ModelAttribute("dto") final CenterInfoDTO dto,
- @RequestParam(value="detailAddr", required=true) String detailAddr,
- @RequestParam(value="staffId", required=true) String staffId,
- @RequestParam(value="staffName", required=true) String staffName,
- @RequestParam(value="staffPhoneNumber", required=true) String staffPhoneNumber,
- HttpServletRequest request, HttpServletResponse response ) throws Exception {
- String sesGroupIdx = LifeCenterSessionController.getSession( request, "sesGroupIdx" );
- String referer = request.getHeader( "Referer" );
-
- if( !sesGroupIdx.equals( "1" ) ) {
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt : '권한이 없습니다.', callBack : function(){ location.href='" + referer + "'} });" );
- return "/common/blank";
- } else {
- StaffDTO memberDTO = new StaffDTO();
- LoginDTO loginDTO = new LoginDTO();
- loginDTO.setId( staffId );
-
- int memberTotal = loginService.selectMemberIdCount( loginDTO );
-
- if( memberTotal == 1 ) {
- String address = dto.getCenterAddress() + "|" + detailAddr;
- dto.setCenterAddress( address );
- int result = centerService.updateCenterInfo( dto );
-
- System.out.println( "result cnt : " + result );
-
- if (result > 0) {
- memberDTO.setId( staffId );
- memberDTO.setName( staffName );
- memberDTO.setPhoneNumber(staffPhoneNumber);
-
- memberService.updateMember( memberDTO );
- }
- } else {
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt : '비밀번호가 일치하지않습니다.', callBack : function(){ location.href='../edit?centerCode="+dto.getCenterCode()+"'} });" );
- return "/common/blank";
- }
- }
-
- return "redirect:/center/info?centerCode=" + dto.getCenterCode();
- }
-
- @RequestMapping("/edit")
- public ModelAndView centerEdit(
- @RequestParam(value="centerCode", required=true) int centerCode) {
-
- List<LocationDTO> jurisdiction = centerService.selectLocation();
- List<LocationDTO> list = centerService.selectLocation();
- List<LocationDTO> cooperativeList = centerService.selectCooperativeHospialList();
-
- CenterInfoDTO dto = new CenterInfoDTO();
- dto.setCenterCode(centerCode);
- dto = centerService.selectCenterInfo(dto);
-
- String address = dto.getCenterAddress();
- String mainAddr = "";
- String detailAddr = "";
- if (address.contains("|") == true) {
- String[] strAr = dto.getCenterAddress().split("[|]");
- mainAddr = strAr[0];
- detailAddr = strAr[1];
- } else {
- mainAddr = address;
- }
-
- ModelAndView mv = setMV("center/edit");
- list.remove(list.size()-1);
- mv.addObject("locationList", list);
- mv.addObject("jurisdiction", jurisdiction);
- mv.addObject("cooperativeList", cooperativeList);
- mv.addObject("centerInfo", dto);
- mv.addObject("mainAddr", mainAddr);
- mv.addObject("detailAddr", detailAddr);
-
- return mv;
- }
- @RequestMapping("/list")
- public ModelAndView centerList(
- @ModelAttribute("dto") final CenterInfoDTO dto,
- @RequestParam(value="page", required=false, defaultValue="1") int page,
- @RequestParam(value="centerName", required=false, defaultValue="") String centerName,
- @RequestParam(value="locationCode", required=false, defaultValue="") String locationCode,
- @RequestParam(value="startDate", required=false, defaultValue="") String startDate,
- @RequestParam(value="endDate", required=false, defaultValue="") String endDate) {
-
- dto.setLimit( ( Integer.valueOf( page ) - 1 ) * config.pageDataSize );
- dto.setLimitMax( config.pageDataSize );
-
- List<LocationDTO> list = centerService.selectLocation();
-
- int total = centerService.selectCenterCount(dto);
- List<CenterInfoDTO> result = new ArrayList<CenterInfoDTO>();
- if (total > 0) {
- result = centerService.selectCenterList(dto);
-
- for( CenterInfoDTO temp : result ) {
- result.get( result.indexOf( temp ) ).setStaffPhoneNumber( LifeCenterFunction.phone( temp.getStaffPhoneNumber() ) );
- }
- }
-
- String param = "centerName=" + dto.getCenterName() + "&locationCode=" + dto.getLocationCode() + "&startDate=" + dto.getStartDate() + "&endDate=" + dto.getEndDate();
- paging = LifeCenterPaging.getInstance();
- paging.paging(config, total, page, param);
-
- ModelAndView mv = setMV("center/list");
-
- // startDate = startDate.equals( "" ) ? LifeCenterFunction.getNow( "yyyy-MM-dd" ) : startDate;
- // endDate = endDate.equals( "" ) ? LifeCenterFunction.getNow( "yyyy-MM-dd" ) : endDate;
-
- mv.addObject("locationList", list);
- mv.addObject("locationCode", locationCode);
- mv.addObject("startDate", startDate);
- mv.addObject("endDate", endDate);
- mv.addObject("centerName", centerName);
- mv.addObject("total", total);
- mv.addObject("item", result);
- mv.addObject("paging", paging);
- mv.addObject("page", page);
- mv.addObject("pageSize", dto.getLimitMax());
-
- return mv;
- }
- }
|