123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644 |
- package com.lemon.lifecenter.controller;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.json.JSONObject;
- 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.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- 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.GroupListDTO;
- import com.lemon.lifecenter.dto.LoginDTO;
- import com.lemon.lifecenter.dto.PrivateLogDTO;
- import com.lemon.lifecenter.dto.StaffDTO;
- import com.lemon.lifecenter.service.CenterService;
- import com.lemon.lifecenter.service.GroupListService;
- import com.lemon.lifecenter.service.LoginService;
- import com.lemon.lifecenter.service.PrivateLogService;
- import com.lemon.lifecenter.service.StaffService;
- // 의료진관리 contorller
- @Controller
- @RequestMapping("/staff")
- public class StaffController extends LifeCenterController {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
- private LifeCenterPaging paging;
-
- @Autowired
- private LoginService loginService;
-
- @Autowired
- private StaffService memberService;
-
- @Autowired
- private LifeCenterConfigVO config;
-
- @Autowired
- private GroupListService groupListService;
-
- @Autowired
- private CenterService centerService;
-
- @Autowired
- private PrivateLogService privateLogService;
-
- @RequestMapping("/new")
- public ModelAndView staffNew( HttpServletRequest request,HttpServletResponse response ) throws Exception {
- int sesCenterCode = Integer.valueOf( LifeCenterSessionController.getSession( request, "sesCenterCode" ) ) ;
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String processingContents = "의료진 신규 등록 페이지 접속";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
- CenterInfoDTO cDto = new CenterInfoDTO();
- cDto.setCenterCode(sesCenterCode);
- List<CenterInfoDTO> centerList = memberService.selectCenterList(cDto);
-
- ModelAndView mv = setMV("staff/new");
-
- GroupListDTO dto = new GroupListDTO();
- List<GroupListDTO> groupList = groupListService.selectGroupList(dto);
-
- for( GroupListDTO data : groupList ) {
- data.setEncryptIdx( LifeCenterFunction.aesEncrypt( config.aesKey, config.IV, String.valueOf( data.getIdx() ) ) );
- }
-
- mv.addObject( "centerList", centerList );
- mv.addObject( "groupList", groupList );
-
- return mv;
- }
-
- @RequestMapping("/new/regist")
- public String staffNewRegist(
- @ModelAttribute("dto") final StaffDTO dto,
- HttpServletRequest request,
- @RequestParam(value="encryptIdx", required=true) String encryptIdx,
- @RequestParam(value="passwordConfirm", required=true) String passwordConfirm ) throws Exception {
-
- // 의료진 관리 -> 의료진 신규등록 컨트롤러
- // 의료진 신규등록시 -> 계정 권한은 일반사용자 권한으로 생성? -> 관리자로도 생성?
- // 센터하나당 관리자 권한 계정은 1개임 (시스템관리자가 센터생성할때 관리자 계정 1개 발급)
-
- String decryptIdx = LifeCenterFunction.aesDecrypt( config.aesKey, config.IV, encryptIdx );
-
- // password 일치확인
- String password = dto.getPassword();
-
- if( !password.equals( passwordConfirm ) ) {
- // redirect page back
- }
-
- dto.setGroupIdx( Integer.valueOf( decryptIdx ) );
- dto.setPassword( LifeCenterFunction.sha256Encrypt(password) );
-
- memberService.insertStaff( dto );
-
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String processingContents = "의료진 신규 등록 완료";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + dto.getName() + "["+dto.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
- return "redirect:../info?staffId=" + dto.getId();
- }
-
- @RequestMapping("/info")
- public ModelAndView staffInfo(
- HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="staffId", required=false, defaultValue="") String staffID) throws Exception {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- StaffDTO dto = new StaffDTO();
- dto.setId(staffID);
-
- dto = memberService.selectMemberInfo(dto);
-
-
-
- String processingContents = "의료진 정보 상세 페이지 접속";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + dto.getName() + "["+dto.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
-
- dto.setPhoneNumber( LifeCenterFunction.phone( dto.getPhoneNumber() ) );
-
- String enMemberId = LifeCenterFunction.aesEncrypt( config.aesKey, config.IV, staffID );
-
- ModelAndView mv = setMV("staff/info");
- mv.addObject( "info", dto );
- mv.addObject( "sesId", sesId );
- mv.addObject( "enMemberId", enMemberId );
- mv.addObject( "centerCode", dto.getCenterCode() );
-
- return mv;
- }
- @RequestMapping("/edit")
- public ModelAndView staffEdit(
- HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="staffId", required=false, defaultValue="") String staffId) throws Exception {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
-
-
- // List<CenterInfoDTO> centerList = memberService.selectCenterList();
- StaffDTO dto = new StaffDTO();
- dto.setId(staffId);
- dto = memberService.selectMemberInfo(dto);
-
- String processingContents = "의료진 정보 변경 페이지 접속";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + dto.getName() + "["+dto.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
- String groupIdx = LifeCenterFunction.aesEncrypt(config.aesKey, config.IV, String.valueOf(dto.getGroupIdx()));
- int centerCode = dto.getCenterCode();
-
-
- GroupListDTO gDto = new GroupListDTO();
- List<GroupListDTO> groupList = groupListService.selectGroupList(gDto);
-
- for( GroupListDTO data : groupList ) {
- data.setEncryptIdx( LifeCenterFunction.aesEncrypt( config.aesKey, config.IV, String.valueOf( data.getIdx() ) ) );
- }
-
- ModelAndView mv = setMV("staff/edit");
- mv.addObject("info", dto);
- mv.addObject("centerCode", centerCode);
- mv.addObject("groupIdx", groupIdx);
- // mv.addObject("centerList", centerList);
- mv.addObject( "groupList", groupList );
- return mv;
- }
-
- @RequestMapping( value="edit/update", method=RequestMethod.POST)
- public String editUpdate(
- HttpServletRequest request,HttpServletResponse response,
- @RequestParam(value="encGroupIdx", required=false, defaultValue = "") String encGroupIdx,
- @ModelAttribute("dto") StaffDTO dto ) throws Exception {
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String memberId = dto.getId();
-
- StaffDTO originMemberData = new StaffDTO();
- StaffDTO newMemberData = new StaffDTO();
- originMemberData.setId( memberId );
- originMemberData = memberService.selectMemberInfo(originMemberData);
-
- String decryptIdx = "";
-
- if( !encGroupIdx.equals("") ) {
- decryptIdx = LifeCenterFunction.aesDecrypt( config.aesKey, config.IV, encGroupIdx );
- dto.setGroupIdx( Integer.valueOf( decryptIdx ) );
- }
-
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
-
- dto.setUpdateById(sesId);
-
- int rts = memberService.updateEditMember(dto);
-
- newMemberData = new StaffDTO();
- newMemberData.setId( memberId );
- newMemberData = memberService.selectMemberInfo(newMemberData);
-
-
- String processingDetail = "[수정내역 :";
- PrivateLogDTO logDTO = new PrivateLogDTO();
-
- int cnt = 0;
- try{
- Object objNew=newMemberData;
- for (Field field : objNew.getClass().getDeclaredFields()){
- Object objOrigin=originMemberData;
-
- for (Field field1 : objOrigin.getClass().getDeclaredFields()){
- if( field1.getName().equals( field.getName() ) ) {
- field1.setAccessible(true);
- Object valueOrigin = field1.get(objOrigin);
- String originVal = valueOrigin == null ? "": valueOrigin.toString();
-
- field.setAccessible(true);
- Object valueNew=field.get(objNew);
- String newVal = valueNew == null ? "": valueNew.toString();
-
- // System.err.println(field.getName()+","+originVal + " -> " + newVal);
-
- if( !originVal.equals( newVal ) ) {
- // System.out.println(field.getName()+","+originVal + " -> " + newVal);
- String nv = cnt >= 1 ? ", " : " ";
- processingDetail += nv + field.getName()+"컬럼 값 변경 ("+originVal + " -> " + newVal +")";
- cnt ++;
- }
- }
- }
-
- }
-
- processingDetail +="]";
- }catch (Exception e){
- e.printStackTrace();
- }
-
- String processingContents = "의료진 정보 수정 [총 " + cnt + "건 항목] " + processingDetail;
- System.err.println( "processingContents : " + processingContents );
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + originMemberData.getName() + "["+originMemberData.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
-
- return "redirect:/staff/info?staffId=" + dto.getId();
- }
-
- @RequestMapping("/myinfo")
- public ModelAndView staffMyinfo(HttpServletRequest request,HttpServletResponse response) {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- StaffDTO dto = new StaffDTO();
- dto.setId(sesId);
- dto = memberService.selectMemberInfo(dto);
-
-
- String processingContents = "내정보 변경 페이지 접속";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + dto.getName() + "["+dto.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
- String referer = request.getHeader( "Referer" );
- ModelAndView mv = setMV("staff/myinfo");
- mv.addObject("info", dto);
- mv.addObject("returnUrl", referer);
- return mv;
- }
-
- @RequestMapping( value="myinfo/update", method=RequestMethod.POST)
- public String myInfoUpdate(
- HttpServletRequest request, HttpServletResponse response,
- @ModelAttribute("dto") final StaffDTO dto,
- @RequestParam(value="passwordNew", required=false, defaultValue="") String passwordNew,
- @RequestParam(value="passwordConfirm", required=false, defaultValue="") String passwordConfirm,
- @RequestParam(value="returnUrl", required=false, defaultValue="") String returnUrl) throws Exception {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String memberId = dto.getId();
-
- StaffDTO originMemberData = new StaffDTO();
- StaffDTO newMemberData = new StaffDTO();
- originMemberData.setId( memberId );
- originMemberData = memberService.selectMemberInfo(originMemberData);
-
-
-
- Object sesPasswordChange = request.getSession().getAttribute( "sesPasswordChange" );
- String encryptPw = LifeCenterFunction.sha256Encrypt(dto.getPassword());
- dto.setPassword(encryptPw);
-
- int mCnt = memberService.selectMemberCount(dto);
- if (mCnt == 1) {
- if (!passwordNew.equals("")) {
- if (passwordNew.equals(passwordConfirm)) {
- dto.setPassword(LifeCenterFunction.sha256Encrypt(passwordNew));
-
- if( sesPasswordChange != null && ( sesPasswordChange.equals( "REQUIRED" ) || sesPasswordChange.equals( "RESET" ) ) ) {
- LifeCenterSessionController.setSession( request, "sesPasswordChange", "" );
- }
- }
- }
- memberService.updateMember(dto);
- LifeCenterSessionController.setSession( request, "sesName", dto.getName() );
-
-
-
- newMemberData = new StaffDTO();
- newMemberData.setId( memberId );
- newMemberData = memberService.selectMemberInfo(newMemberData);
-
-
- String processingDetail = "[수정내역 :";
- PrivateLogDTO logDTO = new PrivateLogDTO();
-
- int cnt = 0;
- try{
- Object objNew=newMemberData;
- for (Field field : objNew.getClass().getDeclaredFields()){
- Object objOrigin=originMemberData;
-
- for (Field field1 : objOrigin.getClass().getDeclaredFields()){
- if( field1.getName().equals( field.getName() ) ) {
- field1.setAccessible(true);
- Object valueOrigin = field1.get(objOrigin);
- String originVal = valueOrigin == null ? "": valueOrigin.toString();
-
- field.setAccessible(true);
- Object valueNew=field.get(objNew);
- String newVal = valueNew == null ? "": valueNew.toString();
-
- // System.err.println(field.getName()+","+originVal + " -> " + newVal);
-
- if( !originVal.equals( newVal ) ) {
- // System.out.println(field.getName()+","+originVal + " -> " + newVal);
- String nv = cnt >= 1 ? ", " : " ";
- processingDetail += nv + field.getName()+"컬럼 값 변경 ("+originVal + " -> " + newVal +")";
- cnt ++;
- }
- }
- }
-
- }
-
- processingDetail +="]";
- }catch (Exception e){
- e.printStackTrace();
- }
-
- String processingContents = "내정보 수정 [총 " + cnt + "건 항목] " + processingDetail;
- System.err.println( "processingContents : " + processingContents );
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + originMemberData.getName() + "["+originMemberData.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
-
-
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt : '변경되었습니다', callBack : function(){ location.href='/staff/myinfo'; } });" );
- return "/common/blank";
- } else {
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt : '비밀번호가 일치하지않습니다.', callBack : function(){ history.back(); } });" );
- return "/common/blank";
- }
-
-
- // return "redirect:/";
- // return "redi"returnUrl;
- }
- @RequestMapping("/list")
- public ModelAndView staffList(
- @ModelAttribute("dto") final StaffDTO dto,
- @RequestParam(value="selectState", required=false, defaultValue="") String selectState,
- @RequestParam(value="sData", required=false, defaultValue="") String sData,
- @RequestParam(value="useYn", required=false, defaultValue="") String useYn,
- @RequestParam(value="page", required=false, defaultValue="1") int page,
- HttpServletRequest request, HttpServletResponse response) {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesGroupIdx = LifeCenterSessionController.getSession( request, "sesGroupIdx" );
- String sesCenterCode = LifeCenterSessionController.getSession( request, "sesCenterCode" );
-
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String processingContents = "의료진 리스트 조회";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
-
- if (selectState.equals("sId")) {
- dto.setId(sData);
- } else if (selectState.equals("sName")) {
- dto.setName(sData);
- } else {
- dto.setCenterName(sData);
- }
-
- dto.setGroupIdx(Integer.parseInt( sesGroupIdx ));
- dto.setSesId(sesId);
- dto.setCenterCode(Integer.parseInt(sesCenterCode));
- dto.setLimit( ( Integer.valueOf( page ) - 1 ) * config.pageDataSize );
- dto.setLimitMax( config.pageDataSize );
-
- int total = memberService.selectMemberListCount(dto);
- List<StaffDTO> list = new ArrayList<StaffDTO>();
- if (total > 0) {
- list = memberService.selectMemberList(dto);
- }
- String param = "selectState=" + selectState + "&sData=" + sData + "&useYn=" + useYn;
- paging = LifeCenterPaging.getInstance();
- paging.paging(config, total, page, param);
-
- ModelAndView mv = setMV("staff/list");
- mv.addObject("total", total);
- mv.addObject("selectState", selectState);
- mv.addObject("sData", sData);
- mv.addObject("useYn", useYn);
- mv.addObject("item", list);
- mv.addObject("paging", paging);
- mv.addObject( "sesId", sesId );
- mv.addObject("sesGroupIdx", sesGroupIdx );
-
- return mv;
- }
-
-
- @RequestMapping( value="/duplicateIdCheck", method = RequestMethod.POST )
- @ResponseBody
- public boolean duplicateIdCheck( @RequestParam( value="staffId", required = false, defaultValue = "" ) String id ) {
- boolean result = false; // false : 중복 , true : 중복아님
- JSONObject obj = new JSONObject();
- LoginDTO dto = new LoginDTO();
-
- if( id.trim().equals( "" ) ) {
- result = false;
- } else {
- dto.setId( id.trim() );
- int count = loginService.selectMemberIdCount( dto );
-
- if( count == 0 ) {
- result = true;
- }
- }
-
- // obj.put( "result" , result );
-
- return result;
- }
-
- @RequestMapping( value="/passwordReset", method = RequestMethod.POST )
- @ResponseBody
- public boolean passwordReset(
- HttpServletRequest request,
- @RequestParam( value="staffId", required = true ) String id,
- @RequestParam( value="type", required = true ) String type) throws Exception {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
-
- StaffDTO info = new StaffDTO();
- info.setId(id);
-
- info = memberService.selectMemberInfo(info);
-
-
- String processingContents = "의료진 비밀번호 초기화 처리";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + info.getName() + "["+info.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
-
-
-
- boolean result = false;
- String pw = "";
- StaffDTO dto = new StaffDTO();
- dto.setId(id);
- if (type.equals("staff")) {
- pw = LifeCenterFunction.sha256Encrypt(config.staffResetPw);
- } else {
- pw = LifeCenterFunction.sha256Encrypt(config.centerResetPw);
- }
- dto.setPassword(pw);
-
- int rts = memberService.updateMemberPwReset(dto);
-
- if (rts == 1) {
- result = true;
- }
-
- return result;
- }
-
- @RequestMapping("/delete")
- @Transactional(propagation=Propagation.REQUIRED)
- public String memberDelete( @RequestParam( value="enMemberId", required = true ) String enMemberId,
- HttpServletRequest request,HttpServletResponse response ) throws Exception {
- String sesId = LifeCenterSessionController.getSession( request, "sesId" );
- String sesName = LifeCenterSessionController.getSession( request, "sesName" );
- String sesCenterName = LifeCenterSessionController.getSession( request, "sesCenterName" );
- String logCenterName = !sesCenterName.equals( "" )? "["+sesCenterName+"] " : "";
-
- String memberId = LifeCenterFunction.aesDecrypt( config.aesKey, config.IV, enMemberId );
-
- StaffDTO info = new StaffDTO();
- info.setId(memberId);
-
- info = memberService.selectMemberInfo(info);
-
-
-
- StaffDTO dto = new StaffDTO();
- dto.setId( memberId );
-
- LoginDTO loginDTO = new LoginDTO();
- loginDTO.setId( memberId );
-
- int total = loginService.selectMemberIdCount( loginDTO );
-
- if( total == 0 ) {
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '이미 삭제되었거나 존재하지않는 사용자입니다.', callBack : function(){ history.back(); } });" );
- return "/common/blank";
- } else {
- memberService.deleteMember(dto);
-
-
- String processingContents = "의료진 삭제 처리";
- PrivateLogDTO logDTO = new PrivateLogDTO();
- logDTO.setId( sesId );
- logDTO.setAccessorDetail( logCenterName + sesName + " (" + sesId + ")" );
- logDTO.setIp( LifeCenterFunction.getRemoteAddr( request ) );
- logDTO.setFullUrl( LifeCenterFunction.getFullURL( request ) );
- logDTO.setProcessingTarget( "(의료진)" + info.getName() + "["+info.getId()+"]" );
- logDTO.setProcessingContents( processingContents );
- privateLogService.insertPrivateAccessLog( logDTO );
- }
-
- LifeCenterFunction.scriptMessage( response, "alertBox({ txt: '사용자가 삭제되었습니다. ', callBack : function(){ location.href='./list'; } });" );
- return "/common/blank";
- }
- }
|