2024-09-13 12:43 담당자 관리 작업
This commit is contained in:
parent
eea84f740a
commit
c73253d9e7
22
src/main/java/seed/com/gtm/dao/MemberJoinDao.java
Normal file
22
src/main/java/seed/com/gtm/dao/MemberJoinDao.java
Normal file
@ -0,0 +1,22 @@
|
||||
package seed.com.gtm.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
public interface MemberJoinDao {
|
||||
public void memberInsert(@RequestParam Map<String,Object> paramMap);
|
||||
public int groupIdx(@RequestParam Map<String,Object> paramMap);
|
||||
public void groupInsert(@RequestParam Map<String,Object> paramMap);
|
||||
public int checkId(@RequestParam Map<String,Object> paramMap);
|
||||
public List<Map<String,Object>> memberList(@RequestParam Map<String,Object> paramMap);
|
||||
public int listCnt(@RequestParam Map<String,Object> paramMap);
|
||||
public Map<String,Object> memberOne(@RequestParam Map<String,Object> paramMap);
|
||||
public void memberUpdate(@RequestParam Map<String,Object> paramMap);
|
||||
public void memberDel(@RequestParam Map<String,Object> paramMap);
|
||||
public void passwdLogsInsert(Map<String, Object> paramMap);
|
||||
public void passwdLogsUpdate(Map<String, Object> paramMap);
|
||||
public List<Map<String,Object>> deptList(@RequestParam Map<String,Object> paramMap);
|
||||
public void memberDeptUpdate(@RequestParam Map<String,Object> paramMap);
|
||||
}
|
||||
81
src/main/java/seed/com/gtm/dao/MemberJoinDaoImpl.java
Normal file
81
src/main/java/seed/com/gtm/dao/MemberJoinDaoImpl.java
Normal file
@ -0,0 +1,81 @@
|
||||
package seed.com.gtm.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.ibatis.session.SqlSession;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class MemberJoinDaoImpl implements MemberJoinDao {
|
||||
|
||||
@Autowired
|
||||
private SqlSession sqlSession;
|
||||
|
||||
@Override
|
||||
public void memberInsert(Map<String, Object> paramMap) {
|
||||
sqlSession.insert("join.insert", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int groupIdx(Map<String, Object> paramMap) {
|
||||
|
||||
return sqlSession.selectOne("join.groupidx",paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void groupInsert(Map<String, Object> paramMap) {
|
||||
sqlSession.insert("join.groupinsert", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int checkId(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectOne("join.checkId",paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> memberList(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectList("join.select", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int listCnt(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectOne("join.selectCnt",paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> memberOne(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectOne("join.selectOne", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void memberUpdate(Map<String, Object> paramMap) {
|
||||
sqlSession.update("join.update", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void memberDel(Map<String, Object> paramMap) {
|
||||
sqlSession.update("join.delete", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void passwdLogsInsert(Map<String, Object> paramMap) {
|
||||
sqlSession.insert("join.passwdLogsInsert", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void passwdLogsUpdate(Map<String, Object> paramMap) {
|
||||
sqlSession.update("join.passwdLogsUpdate", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> deptList(Map<String, Object> paramMap) {
|
||||
return sqlSession.selectList("join.selectDeptList", paramMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void memberDeptUpdate(Map<String, Object> paramMap) {
|
||||
sqlSession.update("join.deptUpdate", paramMap);
|
||||
}
|
||||
}
|
||||
37
src/main/java/seed/com/gtm/join/LogsVO.java
Normal file
37
src/main/java/seed/com/gtm/join/LogsVO.java
Normal file
@ -0,0 +1,37 @@
|
||||
package seed.com.gtm.join;
|
||||
|
||||
|
||||
public class LogsVO {
|
||||
|
||||
private String rnum;
|
||||
|
||||
private String logsRegdate;
|
||||
|
||||
private String memberIp;
|
||||
|
||||
public String getRnum() {
|
||||
return rnum;
|
||||
}
|
||||
|
||||
public void setRnum(String rnum) {
|
||||
this.rnum = rnum;
|
||||
}
|
||||
|
||||
public String getLogsRegdate() {
|
||||
return logsRegdate;
|
||||
}
|
||||
|
||||
public void setLogsRegdate(String logsRegdate) {
|
||||
this.logsRegdate = logsRegdate;
|
||||
}
|
||||
|
||||
public String getMemberIp() {
|
||||
return memberIp;
|
||||
}
|
||||
|
||||
public void setMemberIp(String memberIp) {
|
||||
this.memberIp = memberIp;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
267
src/main/java/seed/com/gtm/join/MemberJoinController.java
Normal file
267
src/main/java/seed/com/gtm/join/MemberJoinController.java
Normal file
@ -0,0 +1,267 @@
|
||||
package seed.com.gtm.join;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
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 seed.com.gtm.util.PageMaker;
|
||||
import seed.com.gtm.util.SeedCriteria;
|
||||
import seed.utils.SeedUtils;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/gtm/case")
|
||||
public class MemberJoinController {
|
||||
@Autowired
|
||||
private MemberJoinService service;
|
||||
// /gtm/case/join/write.do
|
||||
@RequestMapping(value="/join/write.do", method=RequestMethod.GET)
|
||||
public String memberWrite(){
|
||||
return "/seed/_extra/gtm/join/write";
|
||||
}
|
||||
|
||||
@RequestMapping(value="/join/write.do", method=RequestMethod.POST)
|
||||
public String memberWrite(HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
||||
|
||||
String joinMemberGrant = "";
|
||||
String memberStatus = "";
|
||||
String memberCode = "";
|
||||
|
||||
//암호화
|
||||
String strCode = SeedUtils.getSeedMD5Code(paramMap.get("joinPass").toString());
|
||||
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
|
||||
memberCode = strCode;
|
||||
paramMap.put("memberCode", memberCode);
|
||||
|
||||
//권한
|
||||
joinMemberGrant = "S";
|
||||
memberStatus = "U";//회원상태(사용)
|
||||
paramMap.put("joinMemberGrant", joinMemberGrant);
|
||||
paramMap.put("memberStatus", memberStatus);
|
||||
|
||||
//전화번호
|
||||
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
|
||||
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
|
||||
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
|
||||
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
|
||||
paramMap.put("joinTel", joinTel);
|
||||
|
||||
//핸드폰번호
|
||||
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
|
||||
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
|
||||
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
|
||||
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
|
||||
paramMap.put("joinPh", joinPh);
|
||||
|
||||
//생년월일 MEMBER_ITEM_A1에 들어감
|
||||
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
|
||||
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
|
||||
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
|
||||
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
|
||||
paramMap.put("joinBirth", joinBirth);
|
||||
|
||||
//성별은 MEMBER_ITEM_B2, 등급은 MEMBER_ITEM_C3, 비고 MEMBER_ITEM_D4
|
||||
service.memberInsert(paramMap);
|
||||
|
||||
//회원이 등록되면 그룹에도 등록
|
||||
paramMap.put("groupName", "정회원");
|
||||
paramMap.put("siteIdx", "seed");
|
||||
|
||||
int joinMemberIdx = (Integer) paramMap.get("seq");
|
||||
int groupIdx = service.groupIdx(paramMap);
|
||||
|
||||
paramMap.put("gStatus","U"); // 기본값
|
||||
paramMap.put("groupIdx", groupIdx);//정회원 값
|
||||
paramMap.put("joinMemberIdx", joinMemberIdx);
|
||||
paramMap.put("gSiteIdx", "seed"); //통합회원관리라 siteIdx를 무조건 seed로 넣는다.
|
||||
|
||||
service.groupInsert(paramMap);
|
||||
|
||||
//분기별 비밀번호 변경 관련 로그
|
||||
service.passwdLogsInsert(paramMap);
|
||||
|
||||
map.put("message", "common.message.reg");
|
||||
map.put("url", "/gtm/case/join/list.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
}
|
||||
|
||||
@RequestMapping("/join/idCheck.do")
|
||||
public @ResponseBody Map<String,Object> idDuplCheck(@RequestParam Map<String,Object> paramMap){
|
||||
|
||||
String success = "";
|
||||
int cnt = service.checkId(paramMap);
|
||||
|
||||
if(cnt > 0){
|
||||
success = "Y";
|
||||
}else if(cnt == 0){
|
||||
success = "N";
|
||||
}
|
||||
|
||||
paramMap.put("success", success);
|
||||
|
||||
return paramMap;
|
||||
}
|
||||
|
||||
@RequestMapping("/join/list.do")
|
||||
public String joinList(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, SeedCriteria cri){
|
||||
|
||||
session.setAttribute("siteIdx", "case");
|
||||
|
||||
paramMap.put("memberId", session.getAttribute("memberId"));
|
||||
paramMap.put("memberDept", session.getAttribute("memberDept"));
|
||||
paramMap.put("memberPosition", session.getAttribute("memberPosition"));
|
||||
paramMap.put("pageStart", cri.getPageStart());
|
||||
paramMap.put("perPageNum", cri.getPerPageNum());
|
||||
|
||||
PageMaker pageMaker = new PageMaker();
|
||||
pageMaker.setCri(cri);
|
||||
pageMaker.setTotalCount(service.listCnt(paramMap));
|
||||
|
||||
List<Map<String, Object>> memberList = service.memberList(paramMap);
|
||||
model.addAttribute("memberList", memberList);
|
||||
|
||||
model.addAttribute("pageMaker", pageMaker);
|
||||
|
||||
return "/seed/_extra/gtm/join/list";
|
||||
}
|
||||
|
||||
@RequestMapping(value="/join/edit.do", method=RequestMethod.GET)
|
||||
public String memberEdit(ModelMap model,@RequestParam Map<String,Object> paramMap, HttpSession session){
|
||||
|
||||
session.setAttribute("siteIdx", "case");
|
||||
|
||||
Map<String,Object> memberInfo = service.memberOne(paramMap);
|
||||
model.addAttribute("memberInfo", memberInfo);
|
||||
String memberBirth = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_ITEM_A1"));
|
||||
|
||||
String birthY = "";
|
||||
String birthM = "";
|
||||
String birthD = "";
|
||||
|
||||
if(!memberBirth.equals("") && memberBirth != null){
|
||||
birthY = memberBirth.substring(0, 4);
|
||||
birthM = memberBirth.substring(4, 6);
|
||||
birthD = memberBirth.substring(6, 8);
|
||||
}
|
||||
|
||||
model.addAttribute("birthY", birthY);
|
||||
model.addAttribute("birthM", birthM);
|
||||
model.addAttribute("birthD", birthD);
|
||||
|
||||
String memberPh = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_PHONE"));
|
||||
String[] phList = null;
|
||||
if(!memberPh.equals("") && memberPh != null){
|
||||
phList = memberPh.split("-");
|
||||
if(phList.length >= 2){
|
||||
model.addAttribute("joinPh01", phList[0]);
|
||||
model.addAttribute("joinPh02", phList[1]);
|
||||
model.addAttribute("joinPh03", phList[2]);
|
||||
}
|
||||
}
|
||||
|
||||
String memberTel = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_TEL"));
|
||||
String[] telList = null;
|
||||
if(!memberPh.equals("") && memberPh != null){
|
||||
telList = memberTel.split("-");
|
||||
if(telList.length >= 2){
|
||||
model.addAttribute("joinTel01", telList[0]);
|
||||
model.addAttribute("joinTel02", telList[1]);
|
||||
model.addAttribute("joinTel03", telList[2]);
|
||||
}
|
||||
}
|
||||
|
||||
return "/seed/_extra/gtm/join/edit";
|
||||
}
|
||||
|
||||
@RequestMapping(value="/join/edit.do", method=RequestMethod.POST)
|
||||
public String memberUpdate (ModelMap model,@RequestParam Map<String,Object> paramMap, Map<String, Object> map, HttpSession session){
|
||||
|
||||
|
||||
Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0"));
|
||||
|
||||
session.setAttribute("siteIdx", "case");
|
||||
|
||||
String oldPass = (String)paramMap.get("oldPass");
|
||||
String joinPass = (String)paramMap.get("joinPass");
|
||||
|
||||
|
||||
|
||||
String strCode2 = SeedUtils.getSeedMD5Code(joinPass);
|
||||
|
||||
String joinPass2 = SeedUtils.getSeedSHA256Code(strCode2);
|
||||
|
||||
System.out.println("joinPass2 : " + joinPass2);
|
||||
|
||||
String memberCode = "";
|
||||
|
||||
if(oldPass.equals(joinPass2)){
|
||||
|
||||
map.put("message", "(message)비밀번호를 동일하게 변경할 수 없습니다");
|
||||
map.put("url", "/gtm/case/join/edit.do?page=1&memberSeq="+memberIdx+"&searchType=name&searchTilte=#join_19");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
}
|
||||
|
||||
if(!oldPass.equals(joinPass)){
|
||||
//암호화
|
||||
String strCode = SeedUtils.getSeedMD5Code(joinPass);
|
||||
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
|
||||
memberCode = strCode;
|
||||
paramMap.put("memberCode", memberCode);
|
||||
|
||||
//분기별 비밀번호 변경관련 기록
|
||||
service.passwdLogsUpdate(paramMap);
|
||||
}
|
||||
|
||||
//전화번호
|
||||
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
|
||||
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
|
||||
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
|
||||
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
|
||||
paramMap.put("joinTel", joinTel);
|
||||
|
||||
//핸드폰번호
|
||||
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
|
||||
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
|
||||
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
|
||||
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
|
||||
paramMap.put("joinPh", joinPh);
|
||||
|
||||
//생년월일 MEMBER_ITEM_A1에 들어감
|
||||
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
|
||||
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
|
||||
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
|
||||
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
|
||||
paramMap.put("joinBirth", joinBirth);
|
||||
|
||||
//성별은 MEMBER_ITEM_B2, 등급은 MEMBER_ITEM_C3, 비고 MEMBER_ITEM_D4
|
||||
|
||||
service.memberUpdate(paramMap);
|
||||
|
||||
map.put("message", "common.message.mod");
|
||||
map.put("url", "/gtm/case/join/list.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/join/del.do")
|
||||
public String memberDel(@RequestParam Map<String,Object> paramMap, Map<String, Object> map){
|
||||
|
||||
service.memberDel(paramMap);
|
||||
|
||||
map.put("message", "common.message.del");
|
||||
map.put("url", "/gtm/case/join/list.do");
|
||||
|
||||
return "/_common/jsp/message";
|
||||
}
|
||||
}
|
||||
67
src/main/java/seed/com/gtm/join/MemberJoinService.java
Normal file
67
src/main/java/seed/com/gtm/join/MemberJoinService.java
Normal file
@ -0,0 +1,67 @@
|
||||
package seed.com.gtm.join;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import seed.com.gtm.dao.MemberJoinDao;
|
||||
|
||||
@Service
|
||||
public class MemberJoinService {
|
||||
@Autowired
|
||||
private MemberJoinDao dao;
|
||||
|
||||
public void memberInsert(@RequestParam Map<String,Object> paramMap){
|
||||
dao.memberInsert(paramMap);
|
||||
}
|
||||
|
||||
public int groupIdx(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.groupIdx(paramMap);
|
||||
}
|
||||
|
||||
public void groupInsert(@RequestParam Map<String,Object> paramMap){
|
||||
dao.groupInsert(paramMap);
|
||||
}
|
||||
|
||||
public int checkId(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.checkId(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> memberList(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.memberList(paramMap);
|
||||
}
|
||||
|
||||
public int listCnt(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.listCnt(paramMap);
|
||||
}
|
||||
|
||||
public Map<String, Object> memberOne(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.memberOne(paramMap);
|
||||
}
|
||||
|
||||
public void memberUpdate(@RequestParam Map<String,Object> paramMap){
|
||||
dao.memberUpdate(paramMap);
|
||||
}
|
||||
|
||||
public void memberDel(@RequestParam Map<String,Object> paramMap){
|
||||
dao.memberDel(paramMap);
|
||||
}
|
||||
|
||||
public void passwdLogsInsert(@RequestParam Map<String,Object> paramMap){
|
||||
dao.passwdLogsInsert(paramMap);
|
||||
}
|
||||
public void passwdLogsUpdate(@RequestParam Map<String,Object> paramMap){
|
||||
dao.passwdLogsUpdate(paramMap);
|
||||
}
|
||||
|
||||
public List<Map<String, Object>> deptList(@RequestParam Map<String,Object> paramMap){
|
||||
return dao.deptList(paramMap);
|
||||
}
|
||||
|
||||
public void memberDeptUpdate(@RequestParam Map<String,Object> paramMap){
|
||||
dao.memberDeptUpdate(paramMap);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,342 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="join">
|
||||
|
||||
<select id="logsInfo" parameterType="java.util.HashMap" resultType="seed.com.gtm.join.LogsVO">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM
|
||||
(SELECT ROWNUM AS rnum,
|
||||
LOGS_REGDATE AS logsRegdate,
|
||||
MEMBER_IP AS memberIp
|
||||
FROM T_LOGS
|
||||
WHERE MEMBER_ID= #{memberId}
|
||||
AND ROWNUM <3
|
||||
ORDER BY logs_idx DESC
|
||||
)
|
||||
WHERE rnum = '2'
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="java.util.HashMap" useGeneratedKeys="true">
|
||||
<selectKey keyProperty="seq" resultType="int" order="BEFORE">
|
||||
select SEQ_MEMBER.NEXTVAL FROM DUAL
|
||||
</selectKey>
|
||||
INSERT INTO T_MEMBER(
|
||||
MEMBER_IDX,
|
||||
MEMBER_ADDRESS1,
|
||||
MEMBER_ADDRESS2,
|
||||
MEMBER_CODE,
|
||||
MEMBER_CONTACTDATE,
|
||||
MEMBER_EMAIL1,
|
||||
MEMBER_EMAIL2,
|
||||
MEMBER_GRANT,
|
||||
MEMBER_ID,
|
||||
MEMBER_IP,
|
||||
MEMBER_DEPT,
|
||||
MEMBER_POSITION,
|
||||
MEMBER_TEL,
|
||||
MEMBER_PHONE,
|
||||
MEMBER_ITEM_A1,
|
||||
MEMBER_ITEM_B2,
|
||||
MEMBER_ITEM_C3,
|
||||
MEMBER_ITEM_D4,
|
||||
MEMBER_ITEM_E5,
|
||||
MEMBER_ITEM_F6,
|
||||
MEMBER_ITEM_G7,
|
||||
MEMBER_ITEM_H8,
|
||||
MEMBER_ITEM_I9,
|
||||
MEMBER_ITEM_J10,
|
||||
MEMBER_OLD_PW,
|
||||
MEMBER_OLD_PW_CHK,
|
||||
MEMBER_MODDATE,
|
||||
MEMBER_NAME,
|
||||
MEMBER_POST,
|
||||
MEMBER_PW,
|
||||
MEMBER_REGDATE,
|
||||
MEMBER_STATUS,
|
||||
MEMBER_KEY_TYPE,
|
||||
MEMBER_PIN_KEY,
|
||||
MEMBER_RRM_KEY,
|
||||
MEMBER_LOCK_NUM,
|
||||
ENABLE_DEPT
|
||||
) VALUES (
|
||||
#{seq},
|
||||
#{joinAddr01},
|
||||
#{joinAddr02},
|
||||
#{memberCode},
|
||||
'',
|
||||
#{joinEmail01},
|
||||
#{joinEmail02},
|
||||
#{joinMemberGrant},
|
||||
#{joinId},
|
||||
'',
|
||||
#{joinPart},
|
||||
#{joinPosition},
|
||||
#{joinTel},
|
||||
#{joinPh},
|
||||
#{joinBirth},
|
||||
#{joinGender},
|
||||
#{joinClass},
|
||||
#{editorParam_joinCont},
|
||||
#{joinPh},
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
SYSDATE,
|
||||
#{joinName},
|
||||
#{joinZip},
|
||||
#{joinPass},
|
||||
SYSDATE,
|
||||
#{memberStatus},
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
'',
|
||||
#{changePart}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="groupinsert">
|
||||
INSERT INTO T_GROUPS (
|
||||
GROUPS_IDX,
|
||||
GROUPS_REGDATE,
|
||||
GROUPS_STATUS,
|
||||
GROUP_IDX,
|
||||
MEMBER_IDX,
|
||||
SITE_IDX
|
||||
) VALUES(
|
||||
SEQ_GROUPS.NEXTVAL,
|
||||
SYSDATE,
|
||||
#{gStatus},
|
||||
#{groupIdx},
|
||||
#{joinMemberIdx},
|
||||
#{gSiteIdx}
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="groupidx" parameterType="java.util.HashMap" resultType="int">
|
||||
SELECT GROUP_IDX
|
||||
FROM T_GROUP
|
||||
WHERE GROUP_NAME = #{groupName}
|
||||
AND SITE_IDX = #{siteIdx}
|
||||
AND GROUP_STATUS = 'U'
|
||||
</select>
|
||||
|
||||
<select id="checkId" parameterType="java.util.HashMap" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM T_MEMBER
|
||||
WHERE MEMBER_ID = #{joinId}
|
||||
</select>
|
||||
|
||||
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||
|
||||
SELECT * FROM
|
||||
(
|
||||
SELECT ROW_.*, ROWNUM AS RNUM FROM
|
||||
(
|
||||
SELECT MEMBER_IDX,
|
||||
MEMBER_ADDRESS1,
|
||||
MEMBER_ADDRESS2,
|
||||
MEMBER_CODE,
|
||||
MEMBER_CONTACTDATE,
|
||||
MEMBER_EMAIL1,
|
||||
MEMBER_EMAIL2,
|
||||
MEMBER_GRANT,
|
||||
MEMBER_ID,
|
||||
MEMBER_IP,
|
||||
MEMBER_DEPT,
|
||||
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = TM.MEMBER_DEPT ) AS MEMBER_DEPT_NAME,
|
||||
MEMBER_POSITION,
|
||||
MEMBER_TEL,
|
||||
MEMBER_PHONE,
|
||||
MEMBER_ITEM_A1,
|
||||
MEMBER_ITEM_B2,
|
||||
MEMBER_ITEM_C3,
|
||||
MEMBER_ITEM_D4,
|
||||
MEMBER_ITEM_E5,
|
||||
MEMBER_ITEM_F6,
|
||||
MEMBER_ITEM_G7,
|
||||
MEMBER_ITEM_H8,
|
||||
MEMBER_ITEM_I9,
|
||||
MEMBER_ITEM_J10,
|
||||
MEMBER_OLD_PW,
|
||||
MEMBER_OLD_PW_CHK,
|
||||
MEMBER_MODDATE,
|
||||
MEMBER_NAME,
|
||||
MEMBER_POST,
|
||||
MEMBER_PW,
|
||||
MEMBER_REGDATE,
|
||||
MEMBER_STATUS,
|
||||
MEMBER_KEY_TYPE,
|
||||
MEMBER_PIN_KEY,
|
||||
MEMBER_RRM_KEY,
|
||||
MEMBER_LOCK_NUM
|
||||
FROM T_MEMBER TM
|
||||
WHERE 1=1
|
||||
<if test="memberDept != null and memberDept != '' and memberDept != '1020000000' and memberPosition != '0911000000'">
|
||||
AND MEMBER_ID = #{memberId}
|
||||
</if>
|
||||
<if test="memberPosition == '0911000000'">
|
||||
AND MEMBER_DEPT = #{memberDept}
|
||||
</if>
|
||||
<if test="searchTilte != null and searchTilte != ''">
|
||||
AND MEMBER_NAME LIKE '%' || #{searchTilte} || '%'
|
||||
</if>
|
||||
<if test="searchTilte2 != null and searchTilte2 != ''">
|
||||
AND MEMBER_DEPT LIKE '%' || #{searchTilte2} || '%'
|
||||
</if>
|
||||
ORDER BY MEMBER_IDX DESC
|
||||
) ROW_
|
||||
)
|
||||
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
|
||||
SELECT COUNT(*)
|
||||
FROM T_MEMBER
|
||||
WHERE 1=1
|
||||
<if test="memberDept != null and memberDept != '' and memberDept != '1020000000' and memberPosition != '0911000000'">
|
||||
AND MEMBER_ID = #{memberId}
|
||||
</if>
|
||||
<if test="memberPosition == '0911000000'">
|
||||
AND MEMBER_DEPT = #{memberDept}
|
||||
</if>
|
||||
<if test="searchTilte != null and searchTilte != ''">
|
||||
AND MEMBER_NAME LIKE '%' || #{searchTilte} || '%'
|
||||
</if>
|
||||
<if test="searchTilte2 != null and searchTilte2 != ''">
|
||||
AND MEMBER_DEPT LIKE '%' || #{searchTilte2} || '%'
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||
SELECT *
|
||||
FROM T_MEMBER
|
||||
WHERE MEMBER_IDX = #{memberSeq}
|
||||
</select>
|
||||
|
||||
<update id="update" parameterType="java.util.HashMap">
|
||||
UPDATE T_MEMBER
|
||||
SET MEMBER_ADDRESS1 = #{joinAddr01},
|
||||
MEMBER_ADDRESS2 = #{joinAddr02},
|
||||
<if test="memberCode != null and memberCode != ''">
|
||||
MEMBER_CODE = #{memberCode},
|
||||
</if>
|
||||
MEMBER_EMAIL1 = #{joinEmail01},
|
||||
MEMBER_EMAIL2 = #{joinEmail02},
|
||||
MEMBER_DEPT = #{joinPart},
|
||||
MEMBER_POSITION = #{joinPosition},
|
||||
MEMBER_TEL = #{joinTel},
|
||||
MEMBER_PHONE = #{joinPh},
|
||||
MEMBER_ITEM_A1 = #{joinBirth},
|
||||
MEMBER_ITEM_B2 = #{joinGender},
|
||||
MEMBER_ITEM_C3 = #{joinClass},
|
||||
MEMBER_ITEM_D4 = #{editorParam_joinCont},
|
||||
MEMBER_MODDATE = SYSDATE,
|
||||
MEMBER_NAME = #{joinName},
|
||||
MEMBER_POST = #{joinZip},
|
||||
ENABLE_DEPT = #{changePart},
|
||||
<if test="joinPass != null and joinPass != ''">
|
||||
MEMBER_PW = #{joinPass}
|
||||
</if>
|
||||
WHERE MEMBER_IDX = #{memberSeq}
|
||||
</update>
|
||||
|
||||
<delete id="delete" parameterType="java.util.HashMap">
|
||||
UPDATE T_MEMBER
|
||||
SET MEMBER_STATUS = 'D'
|
||||
WHERE MEMBER_IDX = #{memberSeq}
|
||||
</delete>
|
||||
|
||||
<insert id="passwdLogsInsert" parameterType="java.util.HashMap">
|
||||
INSERT INTO C_PASS_LOGS
|
||||
(
|
||||
MEMBER_IDX,
|
||||
CHANGE_DATE
|
||||
)VALUES(
|
||||
SEQ_MEMBER.CURRVAL,
|
||||
SYSDATE
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="passwdLogsUpdate" parameterType="java.util.HashMap">
|
||||
MERGE INTO C_PASS_LOGS
|
||||
USING DUAL
|
||||
ON (MEMBER_IDX = #{memberSeq})
|
||||
WHEN MATCHED
|
||||
THEN
|
||||
UPDATE SET CHANGE_DATE = SYSDATE
|
||||
WHEN NOT MATCHED
|
||||
THEN
|
||||
INSERT (
|
||||
MEMBER_IDX,
|
||||
CHANGE_DATE)
|
||||
VALUES(
|
||||
#{memberSeq},
|
||||
SYSDATE
|
||||
)
|
||||
</update>
|
||||
|
||||
<select id="selectPassDate" parameterType="java.util.HashMap" resultType="int">
|
||||
SELECT TRUNC(sysdate) - TRUNC(CHANGE_DATE) AS PASSDATE FROM C_PASS_LOGS
|
||||
<where>
|
||||
MEMBER_IDX = #{memberSeq}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectDeptList" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
CODE_NAME,
|
||||
CODE_IDXS
|
||||
FROM
|
||||
C_CODE
|
||||
WHERE
|
||||
CODE_IDXS != '1000000000'
|
||||
AND
|
||||
CODE_PARENT_IDX = '1000000000'
|
||||
AND
|
||||
CODE_STATUS = 'U'
|
||||
AND
|
||||
CODE_IDXS IN (
|
||||
SELECT
|
||||
SUBSTR(CODE_VAL, INSTR(CODE_VAL, ',', 1, LEVEL) + 1, INSTR(CODE_VAL, ',', 1, LEVEL + 1) - INSTR(CODE_VAL, ',', 1, LEVEL) - 1) CODE_VAL
|
||||
FROM (
|
||||
SELECT
|
||||
',' || #{enableDept} || ',' CODE_VAL
|
||||
FROM DUAL
|
||||
)
|
||||
CONNECT BY
|
||||
LEVEL <= LENGTH(CODE_VAL) - LENGTH(REPLACE(CODE_VAL, ',')) - 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
(SELECT B.CODE_NAME FROM C_CODE B WHERE B.CODE_PARENT_IDX = '1000000000' AND B.CODE_IDXS = A.MEMBER_DEPT) AS CODE_NAME,
|
||||
TO_CHAR(A.MEMBER_DEPT) AS CODE_IDXS
|
||||
FROM
|
||||
T_MEMBER A
|
||||
WHERE
|
||||
A.MEMBER_ID = #{memberId}
|
||||
ORDER BY
|
||||
CODE_IDXS ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<update id="deptUpdate" parameterType="java.util.HashMap">
|
||||
UPDATE
|
||||
T_MEMBER
|
||||
SET
|
||||
MEMBER_DEPT = #{changeDept}
|
||||
WHERE
|
||||
MEMBER_ID = #{memberId}
|
||||
</update>
|
||||
</mapper>
|
||||
498
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/edit.jsp
Normal file
498
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/edit.jsp
Normal file
@ -0,0 +1,498 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||||
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>정보 관리</title>
|
||||
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
|
||||
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
|
||||
<script src="/editor/webnote.js"></script>
|
||||
<script src="/js/common_XHR.js"></script>
|
||||
<script src="/js/jquery.selectboxes.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-title-wrap clear">
|
||||
<div class="page-title-inner">
|
||||
<h3 class="page-title">담당자 관리</h3>
|
||||
<div class="tooltipBox type01">
|
||||
<button type="button" class="page-tip">페이지안내</button>
|
||||
<div class="tooltipText">
|
||||
<p>담당자를 등록 할 수 있는 페이지 입니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/join/edit.do" method="post">
|
||||
<input type="hidden" name="tempId" id="tempId" value="${memberInfo.MEMBER_ID }">
|
||||
<input type="hidden" name=memberSeq id="memberSeq" value="${param.memberSeq}">
|
||||
<input type="hidden" name=oldPass id="oldPass" value="${memberInfo.MEMBER_PW}">
|
||||
<input type="hidden" name="changePart" id="changePart" value="${memberInfo.ENABLE_PART}">
|
||||
<input type="hidden" name="type" id="type" value="">
|
||||
<br>
|
||||
<br>
|
||||
<h3>기본 정보</h3>
|
||||
<br>
|
||||
<fieldset>
|
||||
<div class="bbs-view-layout">
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> ID</p>
|
||||
<div class="item-box">
|
||||
${memberInfo.MEMBER_ID }
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 비밀번호</p>
|
||||
<div class="item-box">
|
||||
<input type="password" name="joinPass" id="joinPass" value="${memberInfo.MEMBER_PW}" style="width: 20%" maxlength="16">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 비빌번호 확인</p>
|
||||
<div class="item-box">
|
||||
<input type="password" name="joinPassConfirm" id="joinPassConfirm" value="${memberInfo.MEMBER_PW}" style="width: 20%" maxlength="16">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 성명</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinName" id="joinName" value="${memberInfo.MEMBER_NAME }" style="width: 30%" maxlength="20">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 생년월일</p>
|
||||
<div class="item-box">
|
||||
<select name="joinBirthY" id="joinBirthY">
|
||||
<option value="">년도</option>
|
||||
<c:set var="now" value="<%=new java.util.Date()%>" />
|
||||
<fmt:formatDate value="${now}" pattern="yyyy" var="yearStart"/>
|
||||
<c:forEach begin="0" end="100" var="result" step="1">
|
||||
<option value="<c:out value="${yearStart - result}" />" <c:if test="${(yearStart - result) == birthY}"> selected="selected"</c:if>><c:out value="${yearStart - result}" /></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<select name="joinBirthM" id="joinBirthM">
|
||||
<option value="">월</option>
|
||||
<c:forEach var="i" begin="1" end="12" step="1">
|
||||
<c:choose>
|
||||
<c:when test="${i < 10 }">
|
||||
<option value="0${i}" <c:if test="${i == birthM}"> selected="selected"</c:if>>0${i}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${i}" <c:if test="${i == birthM}"> selected="selected"</c:if>>${i}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<select name="joinBirthD" id="joinBirthD">
|
||||
<option value="">일</option>
|
||||
<c:forEach var="i" begin="1" end="31" step="1">
|
||||
<c:choose>
|
||||
<c:when test="${i < 10 }">
|
||||
<option value="0${i}" <c:if test="${i == birthD}"> selected="selected"</c:if>>0${i}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${i}" <c:if test="${i == birthD}"> selected="selected"</c:if>>${i}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 성별</p>
|
||||
<div class="item-box">
|
||||
<label><input type="radio" name="joinGender" value="M" <c:if test="${memberInfo.MEMBER_ITEM_B2 == 'M'}">checked="checked"</c:if>>남</label>
|
||||
<label><input type="radio" name="joinGender" value="F" <c:if test="${memberInfo.MEMBER_ITEM_B2 == 'F'}">checked="checked"</c:if>>여</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 이메일</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinEmail01" id="joinEmail01" value="${memberInfo.MEMBER_EMAIL1}" style="width: 30%"> @
|
||||
<input type="text" name="joinEmail02" id="joinEmail02" value="${memberInfo.MEMBER_EMAIL2}" style="width: 30%">
|
||||
<select name="joinEmailSel" id="joinEmailSel" onchange="inputEmail();">
|
||||
<option value="">직접입력</option>
|
||||
<option value="hanmail.net">hanmail.net</option>
|
||||
<option value="naver.com">naver.com</option>
|
||||
<option value="nate.com">nate.com</option>
|
||||
<option value="gmail.com">gmail.com</option>
|
||||
<option value="Hotmail.com">Hotmail.com</option>
|
||||
<option value="yahoo.com">yahoo.com</option>
|
||||
<option value="dreamwiz.com">dreamwiz.com</option>
|
||||
<option value="empal.com">empal.com</option>
|
||||
<option value="chol.com">chol.com</option>
|
||||
<option value="Korean.com">Korean.com</option>
|
||||
<option value="netian.com">netian.com</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 휴대전화</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinPh01" id="joinPh01" maxlength="3" value="${joinPh01}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinPh02" id="joinPh02" maxlength="4" value="${joinPh02}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinPh03" id="joinPh03" maxlength="4" value="${joinPh03}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 주소</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinZip" id="" style="width: 10%" value="${memberInfo.MEMBER_POST }" readonly="readonly">
|
||||
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
|
||||
<button type="button" class="btn-change-state" onclick="goJuso('A');">우편번호검색</button>
|
||||
</div>
|
||||
<br>
|
||||
<input type="text" name="joinAddr01" id="" value="${memberInfo.MEMBER_ADDRESS1 }" style="width: 50%; margin-top:5px" readonly="readonly"><br>
|
||||
<input type="text" name="joinAddr02" id="" value="${memberInfo.MEMBER_ADDRESS2 }" style="width: 50%; margin-top:5px" maxlength="100">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3 class="visivilityTag">담당 정보</h3>
|
||||
<br>
|
||||
<fieldset class="visivilityTag">
|
||||
<div class="bbs-view-layout">
|
||||
<div class="bbs-view-item joinPart">
|
||||
<p class="item-title">소속</p>
|
||||
<div class="item-box">
|
||||
<select name="joinPart" id="joinPart">
|
||||
<option value="">선택</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item joinPosition">
|
||||
<p class="item-title">직급</p>
|
||||
<div class="item-box">
|
||||
<select name="joinPosition" id="joinPosition">
|
||||
<option value="">선택</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item joinTel">
|
||||
<p class="item-title">전화번호</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinTel01" id="" value="${joinTel01 }" maxlength="3" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinTel02" id="" value="${joinTel02 }" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinTel03" id="" value="${joinTel03 }" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item joinClass">
|
||||
<p class="item-title">등급</p>
|
||||
<div class="item-box">
|
||||
<select name="joinClass">
|
||||
<option value="">선택</option>
|
||||
<option value="1" <c:if test="${memberInfo.MEMBER_ITEM_C3 == '1'}">selected="selected"</c:if>>시스템 관리자</option>
|
||||
<option value="2" <c:if test="${memberInfo.MEMBER_ITEM_C3 == '2'}">selected="selected"</c:if>>업무관리자</option>
|
||||
<option value="3" <c:if test="${memberInfo.MEMBER_ITEM_C3 == '3'}">selected="selected"</c:if>>담당자</option>
|
||||
<option value="4" <c:if test="${memberInfo.MEMBER_ITEM_C3 == '4'}">selected="selected"</c:if>>조정위원장/조정위원</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item joinContent">
|
||||
<p class="item-title">비고</p>
|
||||
<div class="item-box">
|
||||
<textarea class="bg_essential " maxlength="2000" name="editorParam_joinCont" id="content" title="내용을 입력하세요" style="width:99%; height:300px;" editor="webnote" tools="deny:images,emoticon,special_chars" maxlength="1000">${memberInfo.MEMBER_ITEM_D4}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bbs-view-item changePart">
|
||||
<p class="item-title">변경가능소속</p>
|
||||
<div class="item-box" id="changePartDiv">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="bbs-view-item">
|
||||
<p class="item-title">사용유무</p>
|
||||
<div class="item-box">
|
||||
<label><input type="radio" name="joinUseYN" id="">사용</label>
|
||||
<label><input type="radio" name="joinUseYN" id="">사용안함</label>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
<div class="btn-area">
|
||||
<button type="button" class="btn-normal lightgray mb10" onclick="goList()">목록</button>
|
||||
<button type="submit" class="btn-normal violet mb10">저장</button>
|
||||
<c:if test="${memberDept == '1020000000' }">
|
||||
<button type="button" class="btn-normal violet mb10" onclick="goDel()">삭제</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</form:form>
|
||||
|
||||
<form name="paramFrm" id="paramFrm" action="/gtm/case/join/list.do" method="get">
|
||||
<input type="hidden" name="searchType" value="${param.searchType}">
|
||||
<input type="hidden" name="searchTilte" value="${param.searchTilte}">
|
||||
<input type="hidden" name="page" id="page" value="${param.page}">
|
||||
</form>
|
||||
<form:form name="delFrm" id="delFrm" action="/gtm/case/join/del.do" method="post">
|
||||
<input type="hidden" name=memberSeq id="memberSeq" value="${param.memberSeq}">
|
||||
</form:form>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
if('${memberDept}' != '1020000000' && '${memberPosition}' != '0911000000'){
|
||||
$(".visivilityTag").css("display","none");
|
||||
}
|
||||
|
||||
if('${memberId}'=='${memberInfo.MEMBER_ID }'){
|
||||
$(".visivilityTag").css("display","none");
|
||||
}else if('${memberPosition}' == '0911000000'){
|
||||
$(".joinPart").css("display","none");
|
||||
$(".joinTel").css("display","none");
|
||||
$(".joinClass").css("display","none");
|
||||
$(".joinContent").css("display","none");
|
||||
}
|
||||
memberDept();
|
||||
memberDept2();
|
||||
memberPosition();
|
||||
setTimeout(function() {
|
||||
if('${memberInfo.MEMBER_DEPT}' != ""){
|
||||
var partList = $("#joinPart option");
|
||||
for(var i = 0; i < partList.size(); i++){
|
||||
if(partList[i].value == '${memberInfo.MEMBER_DEPT}'){
|
||||
$(partList[i]).attr("selected", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if('${memberInfo.MEMBER_POSITION}' != ""){
|
||||
var positionList = $("#joinPosition option");
|
||||
for(var i = 0; i < positionList.size(); i++){
|
||||
if(positionList[i].value == '${memberInfo.MEMBER_POSITION}'){
|
||||
$(positionList[i]).attr("selected", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if('${memberInfo.ENABLE_DEPT}' != ""){
|
||||
var enableDept = '${memberInfo.ENABLE_DEPT}'.split(',');
|
||||
|
||||
for(var i = 0; i < enableDept.length; i++){
|
||||
$(':checkbox[name=changeParts]').each(function() {
|
||||
if(!$(this).is(":checked")) {
|
||||
$(this).prop('checked', $(this).val() == enableDept[i]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}, 700);
|
||||
|
||||
});
|
||||
|
||||
function onlyNumber(event){
|
||||
event = event || window.event;
|
||||
var keyID = (event.which) ? event.which : event.keyCode;
|
||||
if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
|
||||
return;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
function removeChar(event) {
|
||||
event = event || window.event;
|
||||
var keyID = (event.which) ? event.which : event.keyCode;
|
||||
if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
|
||||
return;
|
||||
else
|
||||
event.target.value = event.target.value.replace(/[^0-9]/g, "");
|
||||
}
|
||||
|
||||
function inputEmail(){
|
||||
if($("#joinEmailSel").val() == ""){
|
||||
$("#joinEmail02").val("");
|
||||
$("#joinEmail02").show();
|
||||
}else{
|
||||
$("#joinEmail02").hide();
|
||||
$("#joinEmail02").val($("#joinEmailSel").val());
|
||||
}
|
||||
}
|
||||
|
||||
// 신규 우편번호
|
||||
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn, command){
|
||||
var f = document.writeFrm;
|
||||
if("A"==command){//신청인주소
|
||||
f.joinZip.value=zipNo;
|
||||
f.joinAddr01.value=roadAddrPart1;
|
||||
f.joinAddr02.value=addrDetail;
|
||||
}
|
||||
/*피신청인 주소는 동적이기 때문에 따로처리*/
|
||||
|
||||
}
|
||||
|
||||
function goJuso(command){
|
||||
var pop = window.open("/user/extra/case/zipCode/jusoPopup/jsp/Page.do?command="+command,"pop","width=570,height=420, scrollbars=yes, resizable=yes");
|
||||
}
|
||||
|
||||
function idDuplChekc(){
|
||||
if($("#joinId").val() == ""){
|
||||
alert("아이디를 입력 해 주세요");
|
||||
$("#joinId").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var joinId = $("#joinId").val();
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"/gtm/case/join/idCheck.do",
|
||||
dataType:"json",
|
||||
data:"joinId="+joinId,
|
||||
success:function(data){
|
||||
if(data.success == 'N'){
|
||||
alert("사용 가능한 아이디 입니다.");
|
||||
$("#tempId").val(joinId);
|
||||
}else if(data.success == 'Y'){
|
||||
alert("이미 사용중인 아이디 입니다.");
|
||||
$("#joinId").val("");
|
||||
$("#tempId").val("");
|
||||
$("#joinId").focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$("#writeFrm").submit(function(){
|
||||
|
||||
if($("#joinPass").val() != $("#oldPass").val()){
|
||||
|
||||
if(!/^.*(?=.{8,20})(?=.*[0-9])(?=.*[a-zA-Z]).*$/.test($("#joinPass").val())){
|
||||
|
||||
alert('영문자,숫자 포함 특수문자를 사용하여 9자이상 입력해 주세요.');
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if($("#joinPass").val().trim() == ""){
|
||||
alert("비밀번호를 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPassConfirm").val().trim() == ""){
|
||||
alert("비밀번호 확인을 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPass").val().trim() != $("#joinPassConfirm").val().trim()){
|
||||
alert("비밀번호가 다릅니다. 다시 한번 확인해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinName").val().trim() == ""){
|
||||
alert("성명을 입력해 주세요");
|
||||
$("#joinName").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinBirthY").val() == "" ||
|
||||
$("#joinBirthM").val() == "" ||
|
||||
$("#joinBirthD").val() == ""
|
||||
){
|
||||
alert("생년월일을 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinGender").val() == "" && $("#joinGender2").val()){
|
||||
alert("성별을 선택해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('input:radio[name=joinGender]').is(':checked') == false){
|
||||
alert("성별을 선택해 주세요.")
|
||||
return false;
|
||||
}
|
||||
|
||||
var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/; //메일 양식처리
|
||||
if(regex.test($("#joinEmail01").val() + "@" + $("#joinEmail02").val()) == false) {
|
||||
alert("잘못된 이메일 형식입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPh01").val() == "" ||
|
||||
$("#joinPh02").val() == "" ||
|
||||
$("#joinPh03").val() == ""
|
||||
){
|
||||
alert("휴대전화를 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
var idx = 0;
|
||||
var enableDept = "";
|
||||
$('input[name="changeParts"]:checked').each(function() {
|
||||
if(idx == 0) {
|
||||
enableDept += $(this).val();
|
||||
} else {
|
||||
enableDept += "," + $(this).val();
|
||||
}
|
||||
idx++;
|
||||
});
|
||||
|
||||
$("#changePart").val(enableDept);
|
||||
});
|
||||
|
||||
function goList(){
|
||||
$("#paramFrm").submit();
|
||||
}
|
||||
|
||||
function goDel(){
|
||||
if(confirm("정말 삭제 하시겠습니까?")){
|
||||
$("#delFrm").submit();
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function memberDept(){
|
||||
var url = "";
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
url = "/user/case/common/ajax/MemberDept.do";
|
||||
XHR(url, param, function(r){
|
||||
var sel = "";
|
||||
var objList = $("#joinPart");
|
||||
if(objList.length > 0 && objList.val() == ""){
|
||||
ajaxCombo(r.data, objList, sel);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function memberDept2(){
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
var url = "/user/case/common/ajax/MemberDept.do";
|
||||
XHR(url, param, function(r){
|
||||
$.each(r.data, function(k,v) {
|
||||
$("#changePartDiv").append('<label><input type="checkbox" name="changeParts" style="position: relative; margin-top: -3px !important; vertical-align: middle !important;" value="'+v.code+'">'+v.value+'</label> ');
|
||||
|
||||
if(k == 6) {
|
||||
$("#changePartDiv").append('<br/>');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function memberPosition(){
|
||||
var url = "";
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
url = "/user/case/common/ajax/MemberPosition.do";
|
||||
XHR(url, param, function(r){
|
||||
var sel = "";
|
||||
var objList = $("#joinPosition");
|
||||
if(objList.length > 0 && objList.val() == ""){
|
||||
ajaxCombo(r.data, objList, sel);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
210
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/list.jsp
Normal file
210
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/list.jsp
Normal file
@ -0,0 +1,210 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||||
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>정보 관리</title>
|
||||
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
|
||||
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
|
||||
<script src="/editor/webnote.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-title-wrap clear">
|
||||
<div class="page-title-inner">
|
||||
<h3 class="page-title">담당자 관리</h3>
|
||||
<div class="tooltipBox type01">
|
||||
<button type="button" class="page-tip">페이지안내</button>
|
||||
<div class="tooltipText">
|
||||
<p>담당자 관리를 할 수 있는 리스트 페이지 입니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sch-content-wrap clear">
|
||||
<form name="searchFrm" id="searchFrm" action="" method="get">
|
||||
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
|
||||
<input type="hidden" name="memberSeq" id="memberSeq" value="">
|
||||
<fieldset>
|
||||
<select name="searchType" id="searchType" class="sch-select" title="자료유형 선택">
|
||||
<option value="name" <c:if test="${param.searchType == 'name'}">selected="selected"</c:if>>담당자명</option>
|
||||
<%-- <option value="part" <c:if test="${param.searchType == 'part'}">selected="selected"</c:if>>소속</option> --%>
|
||||
</select>
|
||||
<select name="searchTilte2" id="searchTilte2" class="sch-text" >
|
||||
<option value="">선택</option>
|
||||
<option value="1001000000" <c:if test="${param.searchTilte2 == '1001000000'}">selected="selected"</c:if>>한국공정거래조정원</option>
|
||||
<option value="1002000000" <c:if test="${param.searchTilte2 == '1002000000'}">selected="selected"</c:if>>운영지원팀</option>
|
||||
<option value="1003000000" <c:if test="${param.searchTilte2 == '1003000000'}">selected="selected"</c:if>>분쟁조정실</option>
|
||||
<option value="1004000000" <c:if test="${param.searchTilte2 == '1004000000'}">selected="selected"</c:if>>공정거래팀</option>
|
||||
<option value="1005000000" <c:if test="${param.searchTilte2 == '1005000000'}">selected="selected"</c:if>>가맹거래팀</option>
|
||||
<option value="1006000000" <c:if test="${param.searchTilte2 == '1006000000'}">selected="selected"</c:if>>건설하도급팀</option>
|
||||
<option value="1007000000" <c:if test="${param.searchTilte2 == '1007000000'}">selected="selected"</c:if>>제조하도급팀</option>
|
||||
<option value="1008000000" <c:if test="${param.searchTilte2 == '1008000000'}">selected="selected"</c:if>>약관팀</option>
|
||||
<option value="1030000000" <c:if test="${param.searchTilte2 == '1030000000'}">selected="selected"</c:if>>유통팀</option>
|
||||
<option value="1009000000" <c:if test="${param.searchTilte2 == '1009000000'}">selected="selected"</c:if>>대리점팀</option>
|
||||
<option value="1010000000" <c:if test="${param.searchTilte2 == '1010000000'}">selected="selected"</c:if>>민원상담센터</option>
|
||||
<option value="1020000000" <c:if test="${param.searchTilte2 == '1020000000'}">selected="selected"</c:if>>관리팀</option>
|
||||
</select>
|
||||
<input type="text" name="searchTilte" value="${param.searchTilte}" class="sch-text" title="검색텍스트">
|
||||
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="goPage('search', '')">검색</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-wrap">
|
||||
<div class="table-layout br-none">
|
||||
<table>
|
||||
<caption>자주하는질문 테이블입니다.</caption>
|
||||
<colgroup>
|
||||
<%-- <col class="item-mobile-hidden" style="width:5%">
|
||||
<col class="title">
|
||||
<col class="item-mobile-hidden" style="width:10%"> --%>
|
||||
</colgroup>
|
||||
<thead>
|
||||
|
||||
|
||||
<tr>
|
||||
<th scope="col" class="item-mobile-hidden">번호</th>
|
||||
<th scope="col">담당자명</th>
|
||||
<th scope="col" class="item-mobile-hidden">성별</th>
|
||||
<th scope="col" class="item-mobile-hidden">소속</th>
|
||||
<th scope="col">연락처</th>
|
||||
<th scope="col" class="item-mobile-hidden">이메일</th>
|
||||
<th scope="col" class="item-mobile-hidden">등록일</th>
|
||||
<th scope="col">관리</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${memberList}" var="list" varStatus="status">
|
||||
<c:if test="${list.MEMBER_STATUS == 'U'}">
|
||||
<tr>
|
||||
<td class="item-mobile-hidden">${(pageMaker.totalCount - ((pageMaker.cri.page-1)*pageMaker.cri.perPageNum)) - status.index}</td>
|
||||
<td>${list.MEMBER_NAME}</td>
|
||||
<td class="item-mobile-hidden">${list.MEMBER_ITEM_B2}</td>
|
||||
<td class="item-mobile-hidden">${list.MEMBER_DEPT_NAME}</td>
|
||||
<td>${list.MEMBER_PHONE}</td>
|
||||
<td class="item-mobile-hidden">${list.MEMBER_EMAIL1} @ ${list.MEMBER_EMAIL2}</td>
|
||||
<td class="item-mobile-hidden">${list.MEMBER_REGDATE}</td>
|
||||
<td>
|
||||
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
|
||||
<button type="button" class="btn-change-state" onclick="goPage('edit','${list.MEMBER_IDX}')" >수정</button>
|
||||
<c:if test="${list.MEMBER_LOCK_NUM >= 5}">
|
||||
<button type="button" class="btn-change-state" onclick="goPage('lock','${list.MEMBER_IDX}')" >잠금풀기</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${list.MEMBER_STATUS == 'D'}">
|
||||
<tr>
|
||||
<td class="item-mobile-hidden">${(pageMaker.totalCount - ((pageMaker.cri.page-1)*pageMaker.cri.perPageNum)) - status.index}</td>
|
||||
<td>${list.MEMBER_NAME}</td>
|
||||
<td class="item-mobile-hidden">-</td>
|
||||
<td class="item-mobile-hidden">-</td>
|
||||
<td>-</td>
|
||||
<td class="item-mobile-hidden">-</td>
|
||||
<td class="item-mobile-hidden">-</td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<c:if test="${memberDept == '1020000000' }">
|
||||
<div class="change-state-area" style="overflow: hidden;">
|
||||
<div align="right">
|
||||
<button type="button" onclick="goPage('write', '')" class="btn-change-state" style="background-color: #5e66ab;">추가</button>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<!-- 페이징 -->
|
||||
<div class="pagination-container">
|
||||
<div class="pagination-inner clear">
|
||||
<div class='pagination-control prev clear'>
|
||||
<a class='first-btn' href="javascript:goPage('paging', '1')" title="첫페이지"></a>
|
||||
<c:choose>
|
||||
<c:when test="${pageMaker.prev}">
|
||||
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
|
||||
<ul class='pagination clear'>
|
||||
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
|
||||
<c:choose>
|
||||
<c:when test="${idx == pageMaker.cri.page }">
|
||||
<li><a class='on' href="javascript:goPage('paging', '${idx}')" title="현재페이지">${idx}</a></li>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<li><a href="javascript:goPage('paging', '${idx}')" title="${idx}페이지">${idx}</a></li>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
|
||||
<div class='pagination-control next clear'>
|
||||
<c:choose>
|
||||
<c:when test="${pageMaker.next}">
|
||||
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<a class='last-btn' href="javascript:goPage('paging', '${pageMaker.endPage}')" title="마지막페이지"><img src="/img/common/list_navi4.gif" alt="마지막 목록으로 이동" /></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 페이징 END -->
|
||||
|
||||
<script type="text/javascript">
|
||||
function goPage(type, param){
|
||||
if(type == 'write'){
|
||||
$("#searchFrm").attr("action","/gtm/case/join/write.do");
|
||||
$("#searchFrm").submit();
|
||||
}else if(type == 'search'){
|
||||
$("#page").val("1");
|
||||
$("#searchFrm").attr("action","/gtm/case/join/list.do");
|
||||
$("#searchFrm").submit();
|
||||
}else if(type == 'edit'){
|
||||
$("#searchFrm").attr("action","/gtm/case/join/edit.do");
|
||||
$("#memberSeq").val(param);
|
||||
$("#searchFrm").submit();
|
||||
}else if(type == 'paging'){
|
||||
$("#page").val(param);
|
||||
$("#searchFrm").attr("action","/gtm/case/join/list.do");
|
||||
$("#searchFrm").submit();
|
||||
}else if(type== 'lock'){
|
||||
if(confirm("비밀번호실패 5회누적 데이터를 초기화 하시겠습니까?")){
|
||||
var memberIdxData = param;
|
||||
$.ajax({
|
||||
type : "post",
|
||||
url : "/user/extra/case/myPage/lockClearAjax/jsp/Page.do",
|
||||
dataType : "text",
|
||||
data: "memberIdxData="+memberIdxData,
|
||||
error : function(e){
|
||||
alert(e);
|
||||
},
|
||||
success : function(data){
|
||||
alert(data.trim()) ;
|
||||
location.reload();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
448
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/write.jsp
Normal file
448
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/join/write.jsp
Normal file
@ -0,0 +1,448 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
|
||||
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>정보 관리</title>
|
||||
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
|
||||
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
|
||||
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
|
||||
<script src="/editor/webnote.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-title-wrap clear">
|
||||
<div class="page-title-inner">
|
||||
<h3 class="page-title">담당자 관리</h3>
|
||||
<div class="tooltipBox type01">
|
||||
<button type="button" class="page-tip">페이지안내</button>
|
||||
<div class="tooltipText">
|
||||
<p>담당자를 등록 할 수 있는 페이지 입니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/join/write.do" method="post">
|
||||
<input type="hidden" name="tempId" id="tempId" value="">
|
||||
<input type="hidden" name="changePart" id="changePart" value="">
|
||||
<br>
|
||||
<br>
|
||||
<h3>기본 정보</h3>
|
||||
<br>
|
||||
<fieldset>
|
||||
<div class="bbs-view-layout">
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> ID</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinId" id="joinId" style="width: 30%" placeholder="4~12자 영문, 숫자를 이용하여 입력해주세요." maxlength="20">
|
||||
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
|
||||
<button type="button" class="btn-change-state" onclick="idDuplChekc();" >ID중복체크</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 비밀번호</p>
|
||||
<div class="item-box">
|
||||
<input type="password" name="joinPass" id="joinPass" style="width: 30%" maxlength="16">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 비빌번호 확인</p>
|
||||
<div class="item-box">
|
||||
<input type="password" name="joinPassConfirm" id="joinPassConfirm" style="width: 30%" maxlength="16">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 성명</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinName" id="joinName" style="width: 30%" maxlength="20">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 생년월일</p>
|
||||
<div class="item-box">
|
||||
<select name="joinBirthY" id="joinBirthY">
|
||||
<option value="">년도</option>
|
||||
<c:set var="now" value="<%=new java.util.Date()%>" />
|
||||
<fmt:formatDate value="${now}" pattern="yyyy" var="yearStart"/>
|
||||
<c:forEach begin="0" end="100" var="result" step="1">
|
||||
<option value="<c:out value="${yearStart - result}" />" <c:if test="${(yearStart - result) == searchVO.bsnsYear}"> selected="selected"</c:if>><c:out value="${yearStart - result}" /></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<select name="joinBirthM" id="joinBirthM">
|
||||
<option value="">월</option>
|
||||
<option value="01">01</option>
|
||||
<option value="02">02</option>
|
||||
<option value="03">03</option>
|
||||
<option value="04">04</option>
|
||||
<option value="05">05</option>
|
||||
<option value="06">06</option>
|
||||
<option value="07">07</option>
|
||||
<option value="08">08</option>
|
||||
<option value="09">09</option>
|
||||
<option value="10">10</option>
|
||||
<option value="11">11</option>
|
||||
<option value="12">12</option>
|
||||
</select>
|
||||
<select name="joinBirthD" id="joinBirthD">
|
||||
<option value="">일</option>
|
||||
<c:forEach var="i" begin="1" end="31" step="1">
|
||||
<c:choose>
|
||||
<c:when test="${i < 10 }">
|
||||
<option value="0${i}">0${i}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${i}">${i}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 성별</p>
|
||||
<div class="item-box">
|
||||
<label><input type="radio" name="joinGender" value="M" checked="checked">남</label>
|
||||
<label><input type="radio" name="joinGender" value="F">여</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 이메일</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinEmail01" id="joinEmail01" style="width: 30%"> @
|
||||
<input type="text" name="joinEmail02" id="joinEmail02" style="width: 30%">
|
||||
<select name="joinEmailSel" id="joinEmailSel" onchange="inputEmail();">
|
||||
<option value="">직접입력</option>
|
||||
<option value="hanmail.net">hanmail.net</option>
|
||||
<option value="naver.com">naver.com</option>
|
||||
<option value="nate.com">nate.com</option>
|
||||
<option value="gmail.com">gmail.com</option>
|
||||
<option value="Hotmail.com">Hotmail.com</option>
|
||||
<option value="yahoo.com">yahoo.com</option>
|
||||
<option value="dreamwiz.com">dreamwiz.com</option>
|
||||
<option value="empal.com">empal.com</option>
|
||||
<option value="chol.com">chol.com</option>
|
||||
<option value="Korean.com">Korean.com</option>
|
||||
<option value="netian.com">netian.com</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 휴대전화</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinPh01" id="joinPh01" maxlength="3" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinPh02" id="joinPh02" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinPh03" id="joinPh03" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title"><span style="color: red">*</span> 주소</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinZip" id="" style="width: 10%" readonly="readonly">
|
||||
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
|
||||
<button type="button" class="btn-change-state" onclick="goJuso('A');">우편번호검색</button>
|
||||
</div>
|
||||
<br>
|
||||
<input type="text" name="joinAddr01" id="" style="width: 50%; margin-top:5px" readonly="readonly"><br>
|
||||
<input type="text" name="joinAddr02" id="" style="width: 50%; margin-top:5px" maxlength="100">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3>담당 정보</h3>
|
||||
<br>
|
||||
<fieldset>
|
||||
<div class="bbs-view-layout">
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">소속</p>
|
||||
<div class="item-box">
|
||||
<select name="joinPart" id="joinPart">
|
||||
<option value="">선택</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">직급</p>
|
||||
<div class="item-box">
|
||||
<select name="joinPosition" id="joinPosition">
|
||||
<option value="">선택</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">전화번호</p>
|
||||
<div class="item-box">
|
||||
<input type="text" name="joinTel01" id="" maxlength="3" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinTel02" id="" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
|
||||
<input type="text" name="joinTel03" id="" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">등급</p>
|
||||
<div class="item-box">
|
||||
<select name="joinClass">
|
||||
<option value="">선택</option>
|
||||
<option value="1">시스템 관리자</option>
|
||||
<option value="2">업무관리자</option>
|
||||
<option value="3">담당자</option>
|
||||
<option value="4">조정위원장/조정위원</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bbs-view-item">
|
||||
<p class="item-title">비고</p>
|
||||
<div class="item-box">
|
||||
<textarea class="bg_essential " maxlength="2000" name="editorParam_joinCont" id="content" title="내용을 입력하세요" style="width:99%; height:300px;" editor="webnote" tools="deny:images,emoticon,special_chars" maxlength="1000"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bbs-view-item changePart">
|
||||
<p class="item-title">변경가능소속</p>
|
||||
<div class="item-box" id="changePartDiv">
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="bbs-view-item">
|
||||
<p class="item-title">사용유무</p>
|
||||
<div class="item-box">
|
||||
<label><input type="radio" name="joinUseYN" id="">사용</label>
|
||||
<label><input type="radio" name="joinUseYN" id="">사용안함</label>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
<div class="btn-area">
|
||||
<button type="submit" class="btn-normal violet mb10">저장</button>
|
||||
<button type="button" class="btn-normal lightgray mb10" onclick="goList()">목록</button>
|
||||
</div>
|
||||
</form:form>
|
||||
|
||||
<form name="paramFrm" id="paramFrm" action="/gtm/case/join/list.do" method="get">
|
||||
<input type="hidden" name="searchType" value="${param.searchType}">
|
||||
<input type="hidden" name="searchTilte" value="${param.searchTilte}">
|
||||
<input type="hidden" name="page" id="page" value="${param.page}">
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
memberDept();
|
||||
memberDept2();
|
||||
memberPosition();
|
||||
});
|
||||
|
||||
function onlyNumber(event){
|
||||
event = event || window.event;
|
||||
var keyID = (event.which) ? event.which : event.keyCode;
|
||||
if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
|
||||
return;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
function removeChar(event) {
|
||||
event = event || window.event;
|
||||
var keyID = (event.which) ? event.which : event.keyCode;
|
||||
if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
|
||||
return;
|
||||
else
|
||||
event.target.value = event.target.value.replace(/[^0-9]/g, "");
|
||||
}
|
||||
|
||||
function inputEmail(){
|
||||
if($("#joinEmailSel").val() == ""){
|
||||
$("#joinEmail02").val("");
|
||||
$("#joinEmail02").show();
|
||||
}else{
|
||||
$("#joinEmail02").hide();
|
||||
$("#joinEmail02").val($("#joinEmailSel").val());
|
||||
}
|
||||
}
|
||||
|
||||
// 신규 우편번호
|
||||
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn, command){
|
||||
var f = document.writeFrm;
|
||||
if("A"==command){//신청인주소
|
||||
f.joinZip.value=zipNo;
|
||||
f.joinAddr01.value=roadAddrPart1;
|
||||
f.joinAddr02.value=addrDetail;
|
||||
}
|
||||
/*피신청인 주소는 동적이기 때문에 따로처리*/
|
||||
|
||||
}
|
||||
|
||||
function goJuso(command){
|
||||
var pop = window.open("/user/extra/case/zipCode/jusoPopup/jsp/Page.do?command="+command,"pop","width=570,height=420, scrollbars=yes, resizable=yes");
|
||||
}
|
||||
|
||||
function idDuplChekc(){
|
||||
if($("#joinId").val() == ""){
|
||||
alert("아이디를 입력 해 주세요");
|
||||
$("#joinId").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var joinId = $("#joinId").val();
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"/gtm/case/join/idCheck.do",
|
||||
dataType:"json",
|
||||
data:"joinId="+joinId,
|
||||
success:function(data){
|
||||
if(data.success == 'N'){
|
||||
alert("사용 가능한 아이디 입니다.");
|
||||
$("#tempId").val(joinId);
|
||||
}else if(data.success == 'Y'){
|
||||
alert("이미 사용중인 아이디 입니다.");
|
||||
$("#joinId").val("");
|
||||
$("#tempId").val("");
|
||||
$("#joinId").focus();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$("#writeFrm").submit(function(){
|
||||
|
||||
if($("#joinId").val() == ""){
|
||||
alert("아이디를 입력해 주세요");
|
||||
$("#joinId").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#tempId").val() == ""){
|
||||
alert("아이디 중복체크를 해주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#tempId").val() != $("#joinId").val()){
|
||||
alert("아이디 중복체크를 해주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPass").val() != $("#oldPass").val()){
|
||||
|
||||
if(!/^.*(?=.{8,20})(?=.*[0-9])(?=.*[a-zA-Z]).*$/.test($("#joinPass").val())){
|
||||
|
||||
alert('영문자,숫자 포함 특수문자를 사용하여 9자이상 입력해 주세요.');
|
||||
return false;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if($("#joinPass").val().trim() == ""){
|
||||
alert("비밀번호를 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPassConfirm").val().trim() == ""){
|
||||
alert("비밀번호 확인을 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPass").val().trim() != $("#joinPassConfirm").val().trim()){
|
||||
alert("비밀번호가 다릅니다. 다시 한번 확인해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinName").val().trim() == ""){
|
||||
alert("성명을 입력해 주세요");
|
||||
$("#joinName").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinBirthY").val() == "" ||
|
||||
$("#joinBirthM").val() == "" ||
|
||||
$("#joinBirthD").val() == ""
|
||||
){
|
||||
alert("생년월일을 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/; //메일 양식처리
|
||||
if(regex.test($("#joinEmail01").val() + "@" + $("#joinEmail02").val()) == false) {
|
||||
alert("잘못된 이메일 형식입니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#joinPh01").val() == "" ||
|
||||
$("#joinPh02").val() == "" ||
|
||||
$("#joinPh03").val() == ""
|
||||
){
|
||||
alert("휴대전화를 입력해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
var idx = 0;
|
||||
var enableDept = "";
|
||||
$('input[name="changeParts"]:checked').each(function() {
|
||||
if(idx == 0) {
|
||||
enableDept += $(this).val();
|
||||
} else {
|
||||
enableDept += "," + $(this).val();
|
||||
}
|
||||
idx++;
|
||||
});
|
||||
|
||||
$("#changePart").val(enableDept);
|
||||
});
|
||||
|
||||
function goList(){
|
||||
$("#paramFrm").submit();
|
||||
}
|
||||
|
||||
|
||||
function memberDept(){
|
||||
var url = "";
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
url = "/user/case/common/ajax/MemberDept.do";
|
||||
XHR(url, param, function(r){
|
||||
var sel = "";
|
||||
var objList = $("#joinPart");
|
||||
if(objList.length > 0 && objList.val() == ""){
|
||||
ajaxCombo(r.data, objList, sel);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function memberDept2(){
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
var url = "/user/case/common/ajax/MemberDept.do";
|
||||
XHR(url, param, function(r){
|
||||
$.each(r.data, function(k,v) {
|
||||
$("#changePartDiv").append('<label><input type="checkbox" name="changeParts" style="position: relative; margin-top: -3px !important; vertical-align: middle !important;" value="'+v.code+'">'+v.value+'</label> ');
|
||||
|
||||
if(k == 6) {
|
||||
$("#changePartDiv").append('<br/>');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function memberPosition(){
|
||||
var url = "";
|
||||
$("#type").val("L");
|
||||
var param = jQuery('#writeFrm').serialize();
|
||||
url = "/user/case/common/ajax/MemberPosition.do";
|
||||
XHR(url, param, function(r){
|
||||
var sel = "";
|
||||
var objList = $("#joinPosition");
|
||||
if(objList.length > 0 && objList.val() == ""){
|
||||
ajaxCombo(r.data, objList, sel);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user