Merge remote-tracking branch 'origin/master'

This commit is contained in:
Suh
2024-01-17 16:21:24 +09:00
7 changed files with 1154 additions and 1154 deletions

View File

@@ -1,27 +1,27 @@
package com.no1.wms.vendor; package com.no1.wms.vendor;
import org.apache.ibatis.type.Alias; import org.apache.ibatis.type.Alias;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@Alias("VendorDto") @Alias("VendorDto")
public class VendorDto { public class VendorDto {
private String id; private String id;
private String name; private String name;
private String president_name; private String president_name;
private String address; private String address;
private String registration_number; private String registration_number;
private String email; private String email;
private String president_telephone; private String president_telephone;
private String vendor_manager; private String vendor_manager;
private String vendor_manager_telephone; private String vendor_manager_telephone;
private String main_product; private String main_product;
private String manager_id; private String manager_id;
private boolean activation; private boolean activation;
} }

View File

@@ -1,106 +1,106 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTO Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTO Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.no1.wms.vendor.VendorMapper"> <mapper namespace="com.no1.wms.vendor.VendorMapper">
<select id="count" parameterType="map" resultType="java.lang.Integer"> <select id="count" parameterType="map" resultType="java.lang.Integer">
select count(name) select count(name)
from vendor from vendor
<where> <where>
<choose> <choose>
<when test="searchn == 0"> activation = 1 and name like concat('%',#{search},'%')</when> <when test="searchn == 0"> activation = 1 and name like concat('%',#{search},'%')</when>
<when test="searchn == 1"> activation = 1 and president_telephone like concat('%',#{search},'%') </when> <when test="searchn == 1"> activation = 1 and president_telephone like concat('%',#{search},'%') </when>
<when test="searchn == 2"> activation = 1 and vendor_manager like concat('%',#{search},'%')</when> <when test="searchn == 2"> activation = 1 and vendor_manager like concat('%',#{search},'%')</when>
<when test="searchn == 3"> activation = 1 and vendor_manager_telephone like concat('%',#{search},'%')</when> <when test="searchn == 3"> activation = 1 and vendor_manager_telephone like concat('%',#{search},'%')</when>
</choose> </choose>
</where> </where>
</select> </select>
<select id="list" parameterType="map" resultType="VendorDto"> <select id="list" parameterType="map" resultType="VendorDto">
select id, select id,
name, name,
president_name, president_name,
address, address,
registration_number, registration_number,
email, email,
president_telephone, president_telephone,
vendor_manager, vendor_manager,
vendor_manager_telephone, vendor_manager_telephone,
main_product, main_product,
manager_id, manager_id,
activation activation
from vendor from vendor
<where> <where>
<choose> <choose>
<when test="searchn == 0"> activation = 1 and name like concat('%',#{search},'%')</when> <when test="searchn == 0"> activation = 1 and name like concat('%',#{search},'%')</when>
<when test="searchn == 1"> activation = 1 and president_telephone like concat('%',#{search},'%') </when> <when test="searchn == 1"> activation = 1 and president_telephone like concat('%',#{search},'%') </when>
<when test="searchn == 2"> activation = 1 and vendor_manager like concat('%',#{search},'%')</when> <when test="searchn == 2"> activation = 1 and vendor_manager like concat('%',#{search},'%')</when>
<when test="searchn == 3"> activation = 1 and vendor_manager_telephone like concat('%',#{search},'%')</when> <when test="searchn == 3"> activation = 1 and vendor_manager_telephone like concat('%',#{search},'%')</when>
</choose> </choose>
</where> </where>
order by name desc limit #{start}, #{perPage} order by name desc limit #{start}, #{perPage}
</select> </select>
<select id="vendorOne" parameterType="String" resultType="VendorDto"> <select id="vendorOne" parameterType="String" resultType="VendorDto">
select id, select id,
name, name,
president_name, president_name,
address, address,
registration_number, registration_number,
email, email,
president_telephone, president_telephone,
vendor_manager, vendor_manager,
vendor_manager_telephone, vendor_manager_telephone,
main_product, main_product,
manager_id, manager_id,
activation activation
from vendor from vendor
where id = #{id} where id = #{id}
</select> </select>
<!-- select --> <!-- select -->
<!-- update --> <!-- update -->
<update id="updateVendor" parameterType="VendorDto"> <update id="updateVendor" parameterType="VendorDto">
update vendor update vendor
set name = #{name}, set name = #{name},
president_name = #{president_name}, president_name = #{president_name},
address = #{address}, address = #{address},
registration_number = #{registration_number}, registration_number = #{registration_number},
email = #{email}, email = #{email},
president_telephone = #{president_telephone}, president_telephone = #{president_telephone},
vendor_manager = #{vendor_manager}, vendor_manager = #{vendor_manager},
vendor_manager_telephone = #{vendor_manager_telephone}, vendor_manager_telephone = #{vendor_manager_telephone},
main_product = #{main_product}, main_product = #{main_product},
manager_id = #{manager_id}, manager_id = #{manager_id},
activation = #{activation} activation = #{activation}
where id = #{id} where id = #{id}
</update> </update>
<!-- update --> <!-- update -->
<!-- insert --> <!-- insert -->
<insert id="createVendor" parameterType="VendorDto"> <insert id="createVendor" parameterType="VendorDto">
insert into vendor (id, name, president_name, address, registration_number, email, president_telephone, vendor_manager, vendor_manager_telephone, main_product, manager_id, activation) insert into vendor (id, name, president_name, address, registration_number, email, president_telephone, vendor_manager, vendor_manager_telephone, main_product, manager_id, activation)
values (UUID(), #{name}, #{president_name}, #{address}, #{registration_number}, #{email}, #{president_telephone}, #{vendor_manager}, #{vendor_manager_telephone}, #{main_product}, #{manager_id}, #{activation}) values (UUID(), #{name}, #{president_name}, #{address}, #{registration_number}, #{email}, #{president_telephone}, #{vendor_manager}, #{vendor_manager_telephone}, #{main_product}, #{manager_id}, #{activation})
</insert> </insert>
<!-- insert --> <!-- insert -->
<!-- delete --> <!-- delete -->
<delete id="deleteVendor" parameterType="String"> <delete id="deleteVendor" parameterType="String">
delete from vendor where id = #{id} delete from vendor where id = #{id}
</delete> </delete>
<!-- delete --> <!-- delete -->
</mapper> </mapper>

View File

@@ -1,5 +1,5 @@
<%@ page contentType="text/html; charset=UTF-8"%> <%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@@ -9,8 +9,11 @@
<link rel="stylesheet" href="base.css"> <link rel="stylesheet" href="base.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script> <script src="https://unpkg.com/feather-icons"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet"
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script> integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL"
crossorigin="anonymous"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title>재고 관리</title> <title>재고 관리</title>
</head> </head>
@@ -23,12 +26,20 @@
<ul class="nav nav-tabs" id="myTab" role="tablist"> <ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">재고</button> <button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button"
role="tab" aria-controls="home" aria-selected="true">재고
</button>
</li> </li>
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">부족한 재고</button> <button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button"
role="tab" aria-controls="profile" aria-selected="false">부족한 재고
</button>
</li> </li>
</ul> </ul>
<!-- 탭 1 재고 -->
<div class="tab-content" id="myTabContent"> <div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab"> <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div class="container-fluid"> <div class="container-fluid">
@@ -36,18 +47,19 @@
<form> <form>
<div class="input-group mb-3 w-30 col-centered"> <div class="input-group mb-3 w-30 col-centered">
<div class="w-25"> <div class="w-25">
<select class="form-select" name="searchn" id="searchn"> <select class="form-select" name="searchn1" id="searchn1">
<option value="0">제품명</option> <option value="0">제품명</option>
<option value="1">카테고리</option> <option value="1">카테고리</option>
<option value="2">재고수</option> <option value="2">재고수</option>
</select> </select>
</div> </div>
<input type="text" id="search" name="search" class="form-control" aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요"> <input type="text" id="search1" name="search" class="form-control"
aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요">
<button class="btn btn-info" type="button" id="searchBtn">검색</button> <button class="btn btn-info" type="button" id="searchBtn">검색</button>
<!-- 페이징작업용 --> <!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}"> <input type="hidden" id="searchn11" value="${searchn1}">
<input type="hidden" id="search1" value="${search}"> <input type="hidden" id="search11" value="${search1}">
<!-- 페이징작업용 --> <!-- 페이징작업용 -->
</div> </div>
@@ -67,8 +79,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${slist }" var="dto"> <c:forEach items="${slist1 }" var="dto">
<tr class="detailTr col-5" data-id="${dto.id}" > <tr class="detailTr col-5" data-id="${dto.id}">
<td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td> <td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td>
<td class="col-1">${dto.productName }</td> <td class="col-1">${dto.productName }</td>
<td class="col-1">${dto.cls_nm_4 }</td> <td class="col-1">${dto.cls_nm_4 }</td>
@@ -90,21 +102,26 @@
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item"> <c:if test="${begin1 > pageNum1 }">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${begin - 1 }">&lt;</a> <li class="page-item">
</li> <a href="javascript:void(0);" class="page-link" id="before1"
</c:if> value="${begin1 - 1 }">&lt;</a>
<c:forEach begin="${begin }" end="${end }" var="i"> </li>
<li class="page-item <c:if test="${p == i}"> active </c:if>"> </c:if>
<a href="javascript:void(0);" class="page-link " onclick="pageingFunction(this.id); return false;" id="${i }">${i }</a> <c:forEach begin="${begin1 }" end="${end1 }" var="i">
</li> <li class="page-item <c:if test="${p1 == i}"> active </c:if>">
</c:forEach> <a href="javascript:void(0);" class="page-link " id="pageNow1"
<c:if test="${end < totalPages }"> value="${i }">${i }</a>
<li class="page-item"> </li>
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${end + 1 }">&gt;</a> </c:forEach>
</li> <c:if test="${end1 < totalPages1 }">
</c:if> <li class="page-item">
<a href="javascript:void(0);" class="page-link" id="after1" value="${end1 + 1 }">&gt;</a>
</li>
</c:if>
</ul> </ul>
</nav> </nav>
</div> </div>
@@ -129,7 +146,8 @@
<option value="2">재고수</option> <option value="2">재고수</option>
</select> </select>
</div> </div>
<input type="text" id="search2" name="search" class="form-control" aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요"> <input type="text" id="search2" name="search" class="form-control"
aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요">
<button class="btn btn-info" type="button" id="searchBtn2">검색</button> <button class="btn btn-info" type="button" id="searchBtn2">검색</button>
<!-- 페이징작업용 --> <!-- 페이징작업용 -->
@@ -155,7 +173,7 @@
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${slist2 }" var="dto"> <c:forEach items="${slist2 }" var="dto">
<tr class="detailTr col-5" data-id="${dto.id}" > <tr class="detailTr col-5" data-id="${dto.id}">
<td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td> <td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td>
<td class="col-1">${dto.productName }</td> <td class="col-1">${dto.productName }</td>
<td class="col-1">${dto.cls_nm_4 }</td> <td class="col-1">${dto.cls_nm_4 }</td>
@@ -177,21 +195,27 @@
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<c:if test="${begin2 > pageNum2 }"> <c:if test="${begin2 > pageNum2 }">
<li class="page-item"> <li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction2(this.id)" id="${begin2 - 1 }">&lt;</a> <a href="javascript:void(0);" class="page-link" id="before2"
value="${begin2 - 1 }">&lt;</a>
</li> </li>
</c:if> </c:if>
<c:forEach begin="${begin2 }" end="${end2 }" var="i"> <c:forEach begin="${begin2 }" end="${end2 }" var="i">
<li class="page-item <c:if test="${p2 == i}"> active </c:if>"> <li class="page-item <c:if test="${p2 == i}"> active </c:if>">
<a href="javascript:void(0);" class="page-link " onclick="pageingFunction2(this.id); return false;" id="${i }">${i }</a> <a href="javascript:void(0);" class="page-link " id="pageNow2"
value="${i }">${i }</a>
</li> </li>
</c:forEach> </c:forEach>
<c:if test="${end2 < totalPages2 }"> <c:if test="${end2 < totalPages2 }">
<li class="page-item"> <li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction2(this.id)" id="${end2 + 1 }">&gt;</a> <a href="javascript:void(0);" class="page-link" id="after2" value="${end2 + 1 }">&gt;</a>
</li> </li>
</c:if> </c:if>
</ul> </ul>
</nav> </nav>
</div> </div>
@@ -209,11 +233,11 @@
<script> <script>
$(document).ready(function(){ $(document).ready(function () {
//POST방식으로 create폼화면 출력 //POST방식으로 create폼화면 출력
//탭 1 생성 버튼 //탭 1 생성 버튼
$("#createButton").on("click",function(){ $("#createButton").on("click", function () {
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/stock/create"; form.action = "/stock/create";
form.method = "POST"; form.method = "POST";
@@ -222,7 +246,7 @@
}); });
//탭 2 생성 버튼 //탭 2 생성 버튼
$("#createButton2").on("click",function(){ $("#createButton2").on("click", function () {
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/stock/create"; form.action = "/stock/create";
form.method = "POST"; form.method = "POST";
@@ -230,7 +254,7 @@
form.submit(); form.submit();
}); });
$("body").on("click", ".detailTr", function(){ $("body").on("click", ".detailTr", function () {
var id = $(this).data("id"); var id = $(this).data("id");
var form = document.createElement("form"); var form = document.createElement("form");
@@ -249,10 +273,13 @@
}); });
//탭 1 검색기능 //탭 1 검색기능
$("#searchBtn").on("click",function(){ $("#searchBtn, #searchBtn2").on("click", function () {
var searchn = $("#searchn").val(); var searchn1 = $("#searchn1").val();
var search = $("#search").val(); var search1 = $("#search1").val();
var searchn2 = $("#searchn2").val();
var search2 = $("#search2").val();
var form = document.createElement("form"); var form = document.createElement("form");
@@ -261,128 +288,101 @@
var input1 = document.createElement("input"); var input1 = document.createElement("input");
input1.type = "hidden"; input1.type = "hidden";
input1.name = "searchn"; input1.name = "searchn1";
input1.value = searchn; input1.value = searchn1;
form.appendChild(input1); form.appendChild(input1);
var input2 = document.createElement("input"); var input2 = document.createElement("input");
input2.type = "hidden"; input2.type = "hidden";
input2.name = "search"; input2.name = "search1";
input2.value = search; input2.value = search1;
form.appendChild(input2); form.appendChild(input2);
var input3 = document.createElement("input"); var input3 = document.createElement("input");
input3.type = "hidden"; input3.type = "hidden";
input3.name = "p"; input3.name = "p1";
input3.value = 1; input3.value = 1;
form.appendChild(input3); form.appendChild(input3);
var input4 = document.createElement("input");
input4.type = "hidden";
input4.name = "searchn2";
input4.value = searchn2;
form.appendChild(input4);
var input5 = document.createElement("input");
input5.type = "hidden";
input5.name = "search2";
input5.value = search2;
form.appendChild(input5);
var input6 = document.createElement("input");
input6.type = "hidden";
input6.name = "p2";
input6.value = 1;
form.appendChild(input6);
document.body.appendChild(form); document.body.appendChild(form);
form.submit(); form.submit();
}); });
//탭 2 검색기능 $("#before1, #pageNow1, #after1, #before2, #pageNow2, #after2").on("click", function () {
$("#searchBtn2").on("click",function(){ var searchn1 = $("#searchn11").val();
var search1 = $("#search11").val();
var searchn = $("#searchn2").val();
var search = $("#search2").val();
var searchn2 = $("#searchn22").val();
var search2 = $("#search22").val();
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/stock/list2"; form.action = "/stock/list";
form.method = "get"; form.method = "get";
var input1 = document.createElement("input"); var input1 = document.createElement("input");
input1.type = "hidden"; input1.type = "hidden";
input1.name = "searchn"; input1.name = "searchn1";
input1.value = searchn; input1.value = searchn1;
form.appendChild(input1); form.appendChild(input1);
var input2 = document.createElement("input"); var input2 = document.createElement("input");
input2.type = "hidden"; input2.type = "hidden";
input2.name = "search"; input2.name = "search1";
input2.value = search; input2.value = search1;
form.appendChild(input2); form.appendChild(input2);
var input3 = document.createElement("input"); var input3 = document.createElement("input");
input3.type = "hidden"; input3.type = "hidden";
input3.name = "p"; input3.name = "p1";
input3.value = 1; input3.value = clickedId;
form.appendChild(input3); form.appendChild(input3);
var input4 = document.createElement("input");
input4.type = "hidden";
input4.name = "searchn2";
input4.value = searchn2;
form.appendChild(input4);
var input5 = document.createElement("input");
input5.type = "hidden";
input5.name = "search2";
input5.value = search2;
form.appendChild(input5);
var input6 = document.createElement("input");
input6.type = "hidden";
input6.name = "p2";
input6.value = clickedId;
form.appendChild(input6);
document.body.appendChild(form); document.body.appendChild(form);
form.submit(); form.submit();
}); });
});
});//ready
//탭 1 페이징
function pageingFunction(clickedId){
var searchn1 = $("#searchn1").val();
var search1 = $("#search1").val();
var form = document.createElement("form");
form.action = "/stock/list";
form.method = "get";
var input1 = document.createElement("input");
input1.type = "hidden";
input1.name = "searchn";
input1.value = searchn1;
form.appendChild(input1);
var input2 = document.createElement("input");
input2.type = "hidden";
input2.name = "search";
input2.value = search1;
form.appendChild(input2);
var input3 = document.createElement("input");
input3.type = "hidden";
input3.name = "p";
input3.value = clickedId;
form.appendChild(input3);
document.body.appendChild(form);
form.submit();
}
//탭 2 페이징
function pageingFunction2(clickedId){
var searchn2 = $("#searchn22").val();
var search2 = $("#search22").val();
var form = document.createElement("form");
form.action = "/stock/list2";
form.method = "get";
var input1 = document.createElement("input");
input1.type = "hidden";
input1.name = "searchn";
input1.value = searchn2;
form.appendChild(input1);
var input2 = document.createElement("input");
input2.type = "hidden";
input2.name = "search";
input2.value = search2;
form.appendChild(input2);
var input3 = document.createElement("input");
input3.type = "hidden";
input3.name = "p";
input3.value = clickedId;
form.appendChild(input3);
document.body.appendChild(form);
form.submit();
}
</script> </script>
</body> </body>
</html> </html>

View File

@@ -1,253 +1,253 @@
<%@ page contentType="text/html; charset=UTF-8" %> <%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>거래처 생성</title> <title>거래처 생성</title>
<style> <style>
.body { .body {
text-align: center; text-align: center;
} }
.col-centered { .col-centered {
margin: 0 auto; margin: 0 auto;
float: none; float: none;
} }
.col-margin-left-32 { .col-margin-left-32 {
margin-left: 32%; margin-left: 32%;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="mt-5 mb-5 text-center"> <div class="mt-5 mb-5 text-center">
<h1>거래처 생성</h1> <h1>거래처 생성</h1>
</div> </div>
<hr> <hr>
<div class="container" style="text-align: center"> <div class="container" style="text-align: center">
<form id="createForm"> <form id="createForm">
<div class="ulTag"> <div class="ulTag">
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<%-- 세션 만들어지고 value 수정--%> <%-- 세션 만들어지고 value 수정--%>
<input type='hidden' id="manager_id" value="15b68e54-b0f0-11ee-935d-0242ac110006"/> <input type='hidden' id="manager_id" value="15b68e54-b0f0-11ee-935d-0242ac110006"/>
<input type='hidden' id="activation" value="1"> <input type='hidden' id="activation" value="1">
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon1">업체명</span> <span class="input-group-text" id="basic-addon1">업체명</span>
<input type="text" name="name" id="name" class="form-control" <input type="text" name="name" id="name" class="form-control"
placeholder="업체명을 입력하세요" aria-label="업체명" value="${dto.name }" placeholder="업체명을 입력하세요" aria-label="업체명" value="${dto.name }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<!-- 설명만 있는 입력 --> <!-- 설명만 있는 입력 -->
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon2">대표자명</span> <span class="input-group-text" id="basic-addon2">대표자명</span>
<input type="text" name="president_name" id="president_name" class="form-control" <input type="text" name="president_name" id="president_name" class="form-control"
placeholder="대표자명을 입력하세요" aria-label="대표자명" value="${dto.president_name }" placeholder="대표자명을 입력하세요" aria-label="대표자명" value="${dto.president_name }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon3">주소</span> <span class="input-group-text" id="basic-addon3">주소</span>
<input type="text" name="address" id="address" class="form-control" <input type="text" name="address" id="address" class="form-control"
placeholder="주소를 입력하세요" aria-label="주소" value="${dto.address }" placeholder="주소를 입력하세요" aria-label="주소" value="${dto.address }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">사업자등록번호</span> <span class="input-group-text" id="basic-addon4">사업자등록번호</span>
<input type="text" name="registration_number" id="registration_number" class="form-control" <input type="text" name="registration_number" id="registration_number" class="form-control"
placeholder="사업자등록번호를 입력하세요" aria-label="사업자등록번호" value="${dto.registration_number }" placeholder="사업자등록번호를 입력하세요" aria-label="사업자등록번호" value="${dto.registration_number }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon5">email</span> <span class="input-group-text" id="basic-addon5">email</span>
<input type="text" name="email" id="email" class="form-control" <input type="text" name="email" id="email" class="form-control"
placeholder="Email주소를 입력하세요" aria-label="email" value="${dto.email }" placeholder="Email주소를 입력하세요" aria-label="email" value="${dto.email }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon6">대표번호</span> <span class="input-group-text" id="basic-addon6">대표번호</span>
<input type="text" name="president_telephone" id="president_telephone" class="form-control" <input type="text" name="president_telephone" id="president_telephone" class="form-control"
placeholder="대표번호를 입력하세요" aria-label="대표번호" value="${dto.president_telephone }" placeholder="대표번호를 입력하세요" aria-label="대표번호" value="${dto.president_telephone }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span> <span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span>
<input type="text" name="vendor_manager" id="vendor_manager" class="form-control" <input type="text" name="vendor_manager" id="vendor_manager" class="form-control"
placeholder="거래처 담당자 이름을 입력하세요" aria-label="거래처 담당자 이름" value="${dto.vendor_manager }" placeholder="거래처 담당자 이름을 입력하세요" aria-label="거래처 담당자 이름" value="${dto.vendor_manager }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span> <span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span>
<input type="text" name="vendor_manager_telephone" id="vendor_manager_telephone" class="form-control" <input type="text" name="vendor_manager_telephone" id="vendor_manager_telephone" class="form-control"
placeholder="거래처 담당자 연락 번호를 입력하세요" aria-label="거래처 담당자 연락 번호" value="${dto.vendor_manager_telephone }" placeholder="거래처 담당자 연락 번호를 입력하세요" aria-label="거래처 담당자 연락 번호" value="${dto.vendor_manager_telephone }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon9">주요품목</span> <span class="input-group-text" id="basic-addon9">주요품목</span>
<input type="text" name="main_product" id="main_product" class="form-control" <input type="text" name="main_product" id="main_product" class="form-control"
placeholder="주요품목을 입력하세요" aria-label="주요품목" value="${dto.main_product }" placeholder="주요품목을 입력하세요" aria-label="주요품목" value="${dto.main_product }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-12 "> <div class="col-12 ">
<div class="w-40 col-centered" style="text-align: right"> <div class="w-40 col-centered" style="text-align: right">
<button type="button" class="btn btn-success" id="submitBtn">생성</button> <button type="button" class="btn btn-success" id="submitBtn">생성</button>
<button type="button" class="btn btn-secondary" id="cancelBtn">취소</button> <button type="button" class="btn btn-secondary" id="cancelBtn">취소</button>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$("#submitBtn").on("click", function () { $("#submitBtn").on("click", function () {
var managerId = $("#manager_id").val(); var managerId = $("#manager_id").val();
var name = $("#name").val(); var name = $("#name").val();
var president_name = $("#president_name").val(); var president_name = $("#president_name").val();
var address = $("#address").val(); var address = $("#address").val();
var registration_number = $("#registration_number").val(); var registration_number = $("#registration_number").val();
var email = $("#email").val(); var email = $("#email").val();
var president_telephone = $("#president_telephone").val(); var president_telephone = $("#president_telephone").val();
var vendor_manager = $("#vendor_manager").val(); var vendor_manager = $("#vendor_manager").val();
var vendor_manager_telephone = $("#vendor_manager_telephone").val(); var vendor_manager_telephone = $("#vendor_manager_telephone").val();
var main_product = $("#main_product").val(); var main_product = $("#main_product").val();
var activation = $("#activation").val(); var activation = $("#activation").val();
if (!name) { if (!name) {
alert("업체명을 입력해야 합니다."); alert("업체명을 입력해야 합니다.");
$("#name").focus(); $("#name").focus();
return false; return false;
} }
if (!presidentName) { if (!presidentName) {
alert("대표자명을 입력해야 합니다."); alert("대표자명을 입력해야 합니다.");
$("#president_name").focus(); $("#president_name").focus();
return false; return false;
} }
if (!address) { if (!address) {
alert("주소를 입력해야 합니다."); alert("주소를 입력해야 합니다.");
$("#address").focus(); $("#address").focus();
return false; return false;
} }
if (!registrationNumber) { if (!registrationNumber) {
alert("사업자등록번호를 입력해야 합니다."); alert("사업자등록번호를 입력해야 합니다.");
$("#registration_number").focus(); $("#registration_number").focus();
return false; return false;
} }
if (!email) { if (!email) {
alert("Email을 입력해야 합니다."); alert("Email을 입력해야 합니다.");
$("#email").focus(); $("#email").focus();
return false; return false;
} }
if (!presidentTelephone) { if (!presidentTelephone) {
alert("대표번호를 입력해야 합니다."); alert("대표번호를 입력해야 합니다.");
$("#president_telephone").focus(); $("#president_telephone").focus();
return false; return false;
} }
if (!vendorManager) { if (!vendorManager) {
alert("거래처 담당자 이름을 입력해야 합니다."); alert("거래처 담당자 이름을 입력해야 합니다.");
$("#vendor_manager").focus(); $("#vendor_manager").focus();
return false; return false;
} }
if (!vendorManagerTelephone) { if (!vendorManagerTelephone) {
alert("거래처 담당자 연락 번호를 입력해야 합니다."); alert("거래처 담당자 연락 번호를 입력해야 합니다.");
$("#vendor_manager_telephone").focus(); $("#vendor_manager_telephone").focus();
return false; return false;
} }
if (!mainProduct) { if (!mainProduct) {
alert("주요품목을 입력해야 합니다."); alert("주요품목을 입력해야 합니다.");
$("#main_product").focus(); $("#main_product").focus();
return false; return false;
} }
$.ajax({ $.ajax({
url: "/vendor/create_process", url: "/vendor/create_process",
type: "post", type: "post",
data: { data: {
"manager_id": manager_id, "manager_id": manager_id,
"name": name, "name": name,
"president_name": president_name, "president_name": president_name,
"address": address, "address": address,
"registration_number": registration_number, "registration_number": registration_number,
"email": email, "email": email,
"president_telephone": president_telephone, "president_telephone": president_telephone,
"vendor_manager": vendor_manager, "vendor_manager": vendor_manager,
"vendor_manager_telephone": vendor_manager_telephone, "vendor_manager_telephone": vendor_manager_telephone,
"main_product": main_product, "main_product": main_product,
"activation" : activation "activation" : activation
}, },
datatype: "json" datatype: "json"
}).done(function (data) { }).done(function (data) {
if (data == true) { if (data == true) {
alert("거래처가 생성되었습니다."); alert("거래처가 생성되었습니다.");
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/read"; form.action = "/vendor/read";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
var input = document.createElement("input"); var input = document.createElement("input");
input.type = "hidden"; input.type = "hidden";
input.name = "name"; input.name = "name";
input.value = name; input.value = name;
form.appendChild(input); form.appendChild(input);
form.submit(); form.submit();
window.location.href = "/vendor/list"; window.location.href = "/vendor/list";
} else { } else {
alert("거래처 생성에 실패하였습니다."); alert("거래처 생성에 실패하였습니다.");
} }
}).fail(function () { }).fail(function () {
alert("오류가 발생했습니다."); alert("오류가 발생했습니다.");
}).always(function () { }).always(function () {
// //
}); });
}) })
$("#cancelBtn").on("click", function () { $("#cancelBtn").on("click", function () {
$(location).attr("href", "/vendor/list"); $(location).attr("href", "/vendor/list");
}) })
}); });
</script> </script>
</div> </div>
</body> </body>
</html> </html>

View File

@@ -1,203 +1,203 @@
<%@ page contentType="text/html; charset=UTF-8"%> <%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>거래처 관리</title> <title>거래처 관리</title>
</head> </head>
<body> <body>
<div class="mt-5 mb-5 text-center"> <div class="mt-5 mb-5 text-center">
<h1>거래처 관리</h1> <h1>거래처 관리</h1>
</div> </div>
<hr> <hr>
<div class="body"> <div class="body">
<div class="container-fluid"> <div class="container-fluid">
<div class="col-12"> <div class="col-12">
<form> <form>
<div class="input-group mb-3 w-30 col-centered"> <div class="input-group mb-3 w-30 col-centered">
<div class="w-25"> <div class="w-25">
<select class="form-select" name="searchn" id="searchn"> <select class="form-select" name="searchn" id="searchn">
<option value="0">업체명</option> <option value="0">업체명</option>
<option value="1">대표번호</option> <option value="1">대표번호</option>
<option value="2">거래처 담당자</option> <option value="2">거래처 담당자</option>
<option value="3">거래처 담당자 전화번호</option> <option value="3">거래처 담당자 전화번호</option>
</select> </select>
</div> </div>
<input type="text" id="search" name="search" class="form-control" aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요"> <input type="text" id="search" name="search" class="form-control" aria-label="Text input with dropdown button" placeholder="검색어를 입력하세요">
<button class="btn btn-info" type="button" id="searchBtn">검색</button> <button class="btn btn-info" type="button" id="searchBtn">검색</button>
<!-- 페이징작업용 --> <!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}"> <input type="hidden" id="searchn1" value="${searchn}">
<input type="hidden" id="search1" value="${search}"> <input type="hidden" id="search1" value="${search}">
<!-- 페이징작업용 --> <!-- 페이징작업용 -->
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<div class="container-fluid"> <div class="container-fluid">
<div class="row row-table"> <div class="row row-table">
<div class="col-12"> <div class="col-12">
<table class="table"> <table class="table">
<thead class="table-dark"> <thead class="table-dark">
<tr> <tr>
<th>번호</th> <th>번호</th>
<th>업체명</th> <th>업체명</th>
<th>대표번호</th> <th>대표번호</th>
<th>거래처 담당자</th> <th>거래처 담당자</th>
<th>거래처 담당자 전화번호</th> <th>거래처 담당자 전화번호</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${vlist }" var="dto"> <c:forEach items="${vlist }" var="dto">
<tr class="detailTr col-5" data-id="${dto.id}" > <tr class="detailTr col-5" data-id="${dto.id}" >
<td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td> <td class="col-1">${start} <c:set var="start" value="${start +1 }"/></td>
<td class="col-1">${dto.name }</td> <td class="col-1">${dto.name }</td>
<td class="col-1">${dto.president_telephone }</td> <td class="col-1">${dto.president_telephone }</td>
<td class="col-1">${dto.vendor_manager }</td> <td class="col-1">${dto.vendor_manager }</td>
<td class="col-1">${dto.vendor_manager_telephone }</td> <td class="col-1">${dto.vendor_manager_telephone }</td>
</tr> </tr>
</c:forEach> </c:forEach>
</tbody> </tbody>
</table> </table>
</div> </div>
</div> </div>
</div> </div>
<div class="container-fluid"> <div class="container-fluid">
<div class="row row-buttons"> <div class="row row-buttons">
<div class="col-3 text-start"> <div class="col-3 text-start">
<img width="50" height="50" src="https://img.icons8.com/color/48/ms-excel.png" alt="ms-excel"/> <img width="50" height="50" src="https://img.icons8.com/color/48/ms-excel.png" alt="ms-excel"/>
<button type="button" class="btn btn-success" id="uploadExcel">업로드</button> <button type="button" class="btn btn-success" id="uploadExcel">업로드</button>
<button type="button" class="btn btn-success" id="download">다운로드</button> <button type="button" class="btn btn-success" id="download">다운로드</button>
</div> </div>
<div class="col-6 d-flex justify-content-center"> <div class="col-6 d-flex justify-content-center">
<nav> <nav>
<ul class="pagination"> <ul class="pagination">
<c:if test="${begin > pageNum }"> <c:if test="${begin > pageNum }">
<li class="page-item"> <li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${begin - 1 }">&lt;</a> <a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${begin - 1 }">&lt;</a>
</li> </li>
</c:if> </c:if>
<c:forEach begin="${begin }" end="${end }" var="i"> <c:forEach begin="${begin }" end="${end }" var="i">
<li class="page-item <c:if test="${p == i}"> active </c:if>"> <li class="page-item <c:if test="${p == i}"> active </c:if>">
<a href="javascript:void(0);" class="page-link " onclick="pageingFunction(this.id); return false;" id="${i }">${i }</a> <a href="javascript:void(0);" class="page-link " onclick="pageingFunction(this.id); return false;" id="${i }">${i }</a>
</li> </li>
</c:forEach> </c:forEach>
<c:if test="${end < totalPages }"> <c:if test="${end < totalPages }">
<li class="page-item"> <li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${end + 1 }">&gt;</a> <a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${end + 1 }">&gt;</a>
</li> </li>
</c:if> </c:if>
</ul> </ul>
</nav> </nav>
</div> </div>
<div class="col-3 text-end"> <div class="col-3 text-end">
<button type="button" class="btn btn-primary" id="createButton">생성</button> <button type="button" class="btn btn-primary" id="createButton">생성</button>
</div> </div>
</div><!-- row row-buttons --> </div><!-- row row-buttons -->
</div> </div>
</div> </div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
//POST방식으로 create폼화면 출력 //POST방식으로 create폼화면 출력
$("#createButton").on("click",function(){ $("#createButton").on("click",function(){
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/create"; form.action = "/vendor/create";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
form.submit(); form.submit();
}); });
$("body").on("click", ".detailTr", function(){ $("body").on("click", ".detailTr", function(){
var id = $(this).data("id"); var id = $(this).data("id");
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/read"; form.action = "/vendor/read";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
var input = document.createElement("input"); var input = document.createElement("input");
input.type = "hidden"; input.type = "hidden";
input.name = "id"; input.name = "id";
input.value = id; input.value = id;
form.appendChild(input); form.appendChild(input);
form.submit(); form.submit();
}); });
//검색기능 //검색기능
$("#searchBtn").on("click",function(){ $("#searchBtn").on("click",function(){
var searchn = $("#searchn").val(); var searchn = $("#searchn").val();
var search = $("#search").val(); var search = $("#search").val();
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/list"; form.action = "/vendor/list";
form.method = "get"; form.method = "get";
var input1 = document.createElement("input"); var input1 = document.createElement("input");
input1.type = "hidden"; input1.type = "hidden";
input1.name = "searchn"; input1.name = "searchn";
input1.value = searchn; input1.value = searchn;
form.appendChild(input1); form.appendChild(input1);
var input2 = document.createElement("input"); var input2 = document.createElement("input");
input2.type = "hidden"; input2.type = "hidden";
input2.name = "search"; input2.name = "search";
input2.value = search; input2.value = search;
form.appendChild(input2); form.appendChild(input2);
var input3 = document.createElement("input"); var input3 = document.createElement("input");
input3.type = "hidden"; input3.type = "hidden";
input3.name = "p"; input3.name = "p";
input3.value = 1; input3.value = 1;
form.appendChild(input3); form.appendChild(input3);
document.body.appendChild(form); document.body.appendChild(form);
form.submit(); form.submit();
}); });
});//ready });//ready
function pageingFunction(clickedId){ function pageingFunction(clickedId){
var searchn1 = $("#searchn1").val(); var searchn1 = $("#searchn1").val();
var search1 = $("#search1").val(); var search1 = $("#search1").val();
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/list"; form.action = "/vendor/list";
form.method = "get"; form.method = "get";
var input1 = document.createElement("input"); var input1 = document.createElement("input");
input1.type = "hidden"; input1.type = "hidden";
input1.name = "searchn"; input1.name = "searchn";
input1.value = searchn1; input1.value = searchn1;
form.appendChild(input1); form.appendChild(input1);
var input2 = document.createElement("input"); var input2 = document.createElement("input");
input2.type = "hidden"; input2.type = "hidden";
input2.name = "search"; input2.name = "search";
input2.value = search1; input2.value = search1;
form.appendChild(input2); form.appendChild(input2);
var input3 = document.createElement("input"); var input3 = document.createElement("input");
input3.type = "hidden"; input3.type = "hidden";
input3.name = "p"; input3.name = "p";
input3.value = clickedId; input3.value = clickedId;
form.appendChild(input3); form.appendChild(input3);
document.body.appendChild(form); document.body.appendChild(form);
form.submit(); form.submit();
} }
</script> </script>
</body> </body>
</html> </html>

View File

@@ -1,181 +1,181 @@
<%@ page contentType="text/html; charset=UTF-8" %> <%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>거래처 상세페이지</title> <title>거래처 상세페이지</title>
<style type="text/css"> <style type="text/css">
.header { .header {
text-align: center; text-align: center;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="mt-5 mb-5 text-center"> <div class="mt-5 mb-5 text-center">
<div class="row"> <div class="row">
<h1>거래처 상세페이지</h1> <h1>거래처 상세페이지</h1>
<div class="col-10" style="text-align: right"> <div class="col-10" style="text-align: right">
<button type="button" class="btn btn-danger" id="yes_no_modal_show">삭제</button> <button type="button" class="btn btn-danger" id="yes_no_modal_show">삭제</button>
</div> </div>
</div> </div>
</div> </div>
<hr> <hr>
<div class="container" style="text-align: center"> <div class="container" style="text-align: center">
<form id="createForm"> <form id="createForm">
<div class="ulTag"> <div class="ulTag">
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<input type="hidden" class="form-control" aria-label="id" id="id" value="${One.id }" readonly> <input type="hidden" class="form-control" aria-label="id" id="id" value="${One.id }" readonly>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon1">업체명</span> <span class="input-group-text" id="basic-addon1">업체명</span>
<input type="text" class="form-control" aria-label="창고명" value="${One.name }" readonly> <input type="text" class="form-control" aria-label="창고명" value="${One.name }" readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon2">대표자명</span> <span class="input-group-text" id="basic-addon2">대표자명</span>
<input type="text" class="form-control" aria-label="용적" value="${One.president_name }" readonly> <input type="text" class="form-control" aria-label="용적" value="${One.president_name }" readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon3">주소</span> <span class="input-group-text" id="basic-addon3">주소</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.address }" readonly> <input type="text" class="form-control" aria-label="적재량" value="${One.address }" readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">사업자등록번호</span> <span class="input-group-text" id="basic-addon4">사업자등록번호</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.registration_number }" <input type="text" class="form-control" aria-label="적재량" value="${One.registration_number }"
readonly> readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon5">email</span> <span class="input-group-text" id="basic-addon5">email</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.email }" readonly> <input type="text" class="form-control" aria-label="적재량" value="${One.email }" readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon6">대표번호</span> <span class="input-group-text" id="basic-addon6">대표번호</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.president_telephone }" <input type="text" class="form-control" aria-label="적재량" value="${One.president_telephone }"
readonly> readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span> <span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.vendor_manager }" readonly> <input type="text" class="form-control" aria-label="적재량" value="${One.vendor_manager }" readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span> <span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.vendor_manager_telephone }" <input type="text" class="form-control" aria-label="적재량" value="${One.vendor_manager_telephone }"
readonly> readonly>
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon9">주요품목</span> <span class="input-group-text" id="basic-addon9">주요품목</span>
<input type="text" class="form-control" aria-label="적재량" value="${One.main_product }" readonly> <input type="text" class="form-control" aria-label="적재량" value="${One.main_product }" readonly>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<div> <div>
<hr> <hr>
</div> </div>
<div class="col-10" style="text-align: right"> <div class="col-10" style="text-align: right">
<button type="button" class="btn btn-primary" id="checkBtn">확인</button> <button type="button" class="btn btn-primary" id="checkBtn">확인</button>
<button type="button" class="btn btn-warning" id="modifyBtn"> <button type="button" class="btn btn-warning" id="modifyBtn">
수정 수정
</button> </button>
</div> </div>
<div class="modal fade" id="yes_no_modal_vendor_delete" tabindex="-1" aria-labelledby="exampleModalLabel" <div class="modal fade" id="yes_no_modal_vendor_delete" tabindex="-1" aria-labelledby="exampleModalLabel"
aria-hidden="true"> aria-hidden="true">
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h1 class="modal-title fs-5" id="yesNoModalLabel">삭제 하시겠습니까?</h1> <h1 class="modal-title fs-5" id="yesNoModalLabel">삭제 하시겠습니까?</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
<button id="modal_yes_button_vendor_delete" type="button" class="modal_yes btn btn-primary">삭제</button> <button id="modal_yes_button_vendor_delete" type="button" class="modal_yes btn btn-primary">삭제</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$("#checkBtn").on("click", function () { $("#checkBtn").on("click", function () {
$(location).attr("href", "/vendor/list"); $(location).attr("href", "/vendor/list");
})//checkBtn click })//checkBtn click
$("#modifyBtn").on("click", function () { $("#modifyBtn").on("click", function () {
var id = $("#id").val(); var id = $("#id").val();
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/update"; form.action = "/vendor/update";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
var input = document.createElement("input"); var input = document.createElement("input");
input.type = "hidden"; input.type = "hidden";
input.name = "id"; input.name = "id";
input.value = id; input.value = id;
form.appendChild(input); form.appendChild(input);
form.submit(); form.submit();
})//modifyBtn click })//modifyBtn click
yesNoModal.yesFunction = deleteVendorFunction; yesNoModal.yesFunction = deleteVendorFunction;
function deleteVendorFunction() { function deleteVendorFunction() {
var id = $("#id").val(); var id = $("#id").val();
$.ajax({ $.ajax({
url: "/vendor/delete", url: "/vendor/delete",
type: "delete", type: "delete",
data: { data: {
"id": id "id": id
}, },
datatype: "json" datatype: "json"
}).done(function (data) { }).done(function (data) {
if (data == true) { if (data == true) {
alert("삭제되었습니다."); alert("삭제되었습니다.");
$(location).attr("href", "/vendor/list"); $(location).attr("href", "/vendor/list");
} else { } else {
alert("정상적으로 삭제되지 않았습니다.."); alert("정상적으로 삭제되지 않았습니다..");
} }
}).fail(function () { }).fail(function () {
alert("오류가 발생했습니다."); alert("오류가 발생했습니다.");
}).always(function () { }).always(function () {
// //
}); });
}//deleteCategoryFunction }//deleteCategoryFunction
const yesNoModalBootStrap = new bootstrap.Modal("#yes_no_modal_vendor_delete"); const yesNoModalBootStrap = new bootstrap.Modal("#yes_no_modal_vendor_delete");
$("#yes_no_modal_show").on("click", function () { $("#yes_no_modal_show").on("click", function () {
yesNoModalBootStrap.show(); yesNoModalBootStrap.show();
}); });
$("#modal_yes_button_vendor_delete").on("click", function () { $("#modal_yes_button_vendor_delete").on("click", function () {
yesNoModal.yesFunction(); yesNoModal.yesFunction();
yesNoModalBootStrap.hide(); yesNoModalBootStrap.hide();
}); });
});//ready });//ready
</script> </script>
</body> </body>
</html> </html>

View File

@@ -1,263 +1,263 @@
<%@ page contentType="text/html; charset=UTF-8" %> <%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>창고 정보 수정페이지</title> <title>창고 정보 수정페이지</title>
<style> <style>
.body { .body {
text-align: center; text-align: center;
} }
.col-centered { .col-centered {
margin: 0 auto; margin: 0 auto;
float: none; float: none;
} }
.col-margin-left-32 { .col-margin-left-32 {
margin-left: 32%; margin-left: 32%;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="mt-5 mb-5 text-center"> <div class="mt-5 mb-5 text-center">
<h1>창고 정보 수정페이지</h1> <h1>창고 정보 수정페이지</h1>
</div> </div>
<hr> <hr>
<div class="container" style="text-align: center"> <div class="container" style="text-align: center">
<form id="createForm"> <form id="createForm">
<div class="ulTag"> <div class="ulTag">
<div class="row"> <div class="row">
<div class="col-12" style="text-align: center;"> <div class="col-12" style="text-align: center;">
<input type="hidden" id="id" value="${dto.id }"> <input type="hidden" id="id" value="${dto.id }">
<input type='hidden' id="manager_id" value="15b68e54-b0f0-11ee-935d-0242ac110006"/> <input type='hidden' id="manager_id" value="15b68e54-b0f0-11ee-935d-0242ac110006"/>
<input type='hidden' id="activation" value="1"> <input type='hidden' id="activation" value="1">
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon1">업체명</span> <span class="input-group-text" id="basic-addon1">업체명</span>
<input type="text" name="name" id="name" class="form-control" <input type="text" name="name" id="name" class="form-control"
placeholder="업체명을 입력하세요" aria-label="업체명" value="${dto.name }" placeholder="업체명을 입력하세요" aria-label="업체명" value="${dto.name }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<!-- 설명만 있는 입력 --> <!-- 설명만 있는 입력 -->
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon2">대표자명</span> <span class="input-group-text" id="basic-addon2">대표자명</span>
<input type="text" name="president_name" id="president_name" class="form-control" <input type="text" name="president_name" id="president_name" class="form-control"
placeholder="대표자명을 입력하세요" aria-label="대표자명" value="${dto.president_name }" placeholder="대표자명을 입력하세요" aria-label="대표자명" value="${dto.president_name }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon3">주소</span> <span class="input-group-text" id="basic-addon3">주소</span>
<input type="text" name="address" id="address" class="form-control" <input type="text" name="address" id="address" class="form-control"
placeholder="주소를 입력하세요" aria-label="주소" value="${dto.address }" placeholder="주소를 입력하세요" aria-label="주소" value="${dto.address }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">사업자등록번호</span> <span class="input-group-text" id="basic-addon4">사업자등록번호</span>
<input type="text" name="registration_number" id="registration_number" class="form-control" <input type="text" name="registration_number" id="registration_number" class="form-control"
placeholder="사업자등록번호를 입력하세요" aria-label="사업자등록번호" value="${dto.registration_number }" placeholder="사업자등록번호를 입력하세요" aria-label="사업자등록번호" value="${dto.registration_number }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon5">email</span> <span class="input-group-text" id="basic-addon5">email</span>
<input type="text" name="email" id="email" class="form-control" <input type="text" name="email" id="email" class="form-control"
placeholder="Email주소를 입력하세요" aria-label="email" value="${dto.email }" placeholder="Email주소를 입력하세요" aria-label="email" value="${dto.email }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon6">대표번호</span> <span class="input-group-text" id="basic-addon6">대표번호</span>
<input type="text" name="president_telephone" id="president_telephone" class="form-control" <input type="text" name="president_telephone" id="president_telephone" class="form-control"
placeholder="대표번호를 입력하세요" aria-label="대표번호" value="${dto.president_telephone }" placeholder="대표번호를 입력하세요" aria-label="대표번호" value="${dto.president_telephone }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span> <span class="input-group-text" id="basic-addon7">거래처 담당자 이름</span>
<input type="text" name="vendor_manager" id="vendor_manager" class="form-control" <input type="text" name="vendor_manager" id="vendor_manager" class="form-control"
placeholder="거래처 담당자 이름을 입력하세요" aria-label="거래처 담당자 이름" value="${dto.vendor_manager }" placeholder="거래처 담당자 이름을 입력하세요" aria-label="거래처 담당자 이름" value="${dto.vendor_manager }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span> <span class="input-group-text" id="basic-addon8">거래처 담당자 연락 번호</span>
<input type="text" name="vendor_manager_telephone" id="vendor_manager_telephone" class="form-control" <input type="text" name="vendor_manager_telephone" id="vendor_manager_telephone" class="form-control"
placeholder="거래처 담당자 연락 번호를 입력하세요" aria-label="거래처 담당자 연락 번호" value="${dto.vendor_manager_telephone }" placeholder="거래처 담당자 연락 번호를 입력하세요" aria-label="거래처 담당자 연락 번호" value="${dto.vendor_manager_telephone }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
<div class="input-group mb-3 w-40 col-centered"> <div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon9">주요품목</span> <span class="input-group-text" id="basic-addon9">주요품목</span>
<input type="text" name="main_product" id="main_product" class="form-control" <input type="text" name="main_product" id="main_product" class="form-control"
placeholder="주요품목을 입력하세요" aria-label="주요품목" value="${dto.main_product }" placeholder="주요품목을 입력하세요" aria-label="주요품목" value="${dto.main_product }"
aria-describedby="basic-addon1"> aria-describedby="basic-addon1">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-12 "> <div class="col-12 ">
<div class="w-40 col-centered" style="text-align: right"> <div class="w-40 col-centered" style="text-align: right">
<button type="button" class="btn btn-primary" id="updateBtn">수정 완료</button> <button type="button" class="btn btn-primary" id="updateBtn">수정 완료</button>
<button type="button" class="btn btn-secondary" id="cancelBtn">취소</button> <button type="button" class="btn btn-secondary" id="cancelBtn">취소</button>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
</div> </div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script> <script>
$(document).ready(function () { $(document).ready(function () {
$("#updateBtn").on("click", function () { $("#updateBtn").on("click", function () {
var id = $("#id").val(); var id = $("#id").val();
var manager_id = $("#manager_id").val(); var manager_id = $("#manager_id").val();
var name = $("#name").val(); var name = $("#name").val();
var president_name = $("#president_name").val(); var president_name = $("#president_name").val();
var address = $("#address").val(); var address = $("#address").val();
var registration_number = $("#registration_number").val(); var registration_number = $("#registration_number").val();
var email = $("#email").val(); var email = $("#email").val();
var president_telephone = $("#president_telephone").val(); var president_telephone = $("#president_telephone").val();
var vendor_manager = $("#vendor_manager").val(); var vendor_manager = $("#vendor_manager").val();
var vendor_manager_telephone = $("#vendor_manager_telephone").val(); var vendor_manager_telephone = $("#vendor_manager_telephone").val();
var main_product = $("#main_product").val(); var main_product = $("#main_product").val();
var activation = $("#activation").val(); var activation = $("#activation").val();
if (!name) { if (!name) {
alert("업체명을 입력해야 합니다."); alert("업체명을 입력해야 합니다.");
$("#name").focus(); $("#name").focus();
return false; return false;
} }
if (!president_name) { if (!president_name) {
alert("대표자명을 입력해야 합니다."); alert("대표자명을 입력해야 합니다.");
$("#president_name").focus(); $("#president_name").focus();
return false; return false;
} }
if (!address) { if (!address) {
alert("주소를 입력해야 합니다."); alert("주소를 입력해야 합니다.");
$("#address").focus(); $("#address").focus();
return false; return false;
} }
if (!registration_number) { if (!registration_number) {
alert("사업자등록번호를 입력해야 합니다."); alert("사업자등록번호를 입력해야 합니다.");
$("#registration_number").focus(); $("#registration_number").focus();
return false; return false;
} }
if (!email) { if (!email) {
alert("Email을 입력해야 합니다."); alert("Email을 입력해야 합니다.");
$("#email").focus(); $("#email").focus();
return false; return false;
} }
if (!president_telephone) { if (!president_telephone) {
alert("대표번호를 입력해야 합니다."); alert("대표번호를 입력해야 합니다.");
$("#presidentTelephone").focus(); $("#presidentTelephone").focus();
return false; return false;
} }
if (!vendor_manager) { if (!vendor_manager) {
alert("거래처 담당자 이름을 입력해야 합니다."); alert("거래처 담당자 이름을 입력해야 합니다.");
$("#vendor_manager").focus(); $("#vendor_manager").focus();
return false; return false;
} }
if (!vendor_manager_telephone) { if (!vendor_manager_telephone) {
alert("거래처 담당자 연락 번호를 입력해야 합니다."); alert("거래처 담당자 연락 번호를 입력해야 합니다.");
$("#vendor_manager_telephone").focus(); $("#vendor_manager_telephone").focus();
return false; return false;
} }
if (!main_product) { if (!main_product) {
alert("주요품목을 입력해야 합니다."); alert("주요품목을 입력해야 합니다.");
$("#main_product").focus(); $("#main_product").focus();
return false; return false;
} }
$.ajax({ $.ajax({
url: "/vendor/update_process", url: "/vendor/update_process",
type: "put", type: "put",
data: { data: {
"id": id, "id": id,
"manager_id": manager_id, "manager_id": manager_id,
"name": name, "name": name,
"president_name": president_name, "president_name": president_name,
"address": address, "address": address,
"registration_number": registration_number, "registration_number": registration_number,
"email": email, "email": email,
"president_telephone": president_telephone, "president_telephone": president_telephone,
"vendor_manager": vendor_manager, "vendor_manager": vendor_manager,
"vendor_manager_telephone": vendor_manager_telephone, "vendor_manager_telephone": vendor_manager_telephone,
"main_product": main_product, "main_product": main_product,
"activation" : activation "activation" : activation
}, },
datatype: "json" datatype: "json"
}).done(function (data) { }).done(function (data) {
if (data == true) { if (data == true) {
alert("거래처를 수정하였습니다."); alert("거래처를 수정하였습니다.");
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/read"; form.action = "/vendor/read";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
var input = document.createElement("input"); var input = document.createElement("input");
input.type = "hidden"; input.type = "hidden";
input.name = "id"; input.name = "id";
input.value = id; input.value = id;
form.appendChild(input); form.appendChild(input);
form.submit(); form.submit();
} else { } else {
alert("거래처 수정에 실패하였습니다."); alert("거래처 수정에 실패하였습니다.");
} }
}).fail(function () { }).fail(function () {
alert("오류가 발생했습니다."); alert("오류가 발생했습니다.");
}).always(function () { }).always(function () {
// //
}); });
});//updateBtn });//updateBtn
$("#cancelBtn").on("click", function () { $("#cancelBtn").on("click", function () {
var id = $("#id").val(); var id = $("#id").val();
var form = document.createElement("form"); var form = document.createElement("form");
form.action = "/vendor/read"; form.action = "/vendor/read";
form.method = "POST"; form.method = "POST";
document.body.appendChild(form); document.body.appendChild(form);
var input = document.createElement("input"); var input = document.createElement("input");
input.type = "hidden"; input.type = "hidden";
input.name = "id"; input.name = "id";
input.value = id; input.value = id;
form.appendChild(input); form.appendChild(input);
form.submit(); form.submit();
}) })
});//ready });//ready
</script> </script>
</body> </body>
</html> </html>