Merge remote-tracking branch 'origin/master'

This commit is contained in:
Suh
2024-01-16 12:04:57 +09:00
46 changed files with 4027 additions and 471 deletions

View File

@@ -69,7 +69,9 @@
<div class="row row-buttons">
<div class="col-3 text-start">
<!-- <img alt="엑셀이미지" src="엑셀이미지"> -->
<button type="button" class="btn btn-success" id="uploadExcel">업로드</button>
<button type="button" class="btn btn-success" id="downlodeExcelForm">양식다운로드</button>
</div>
<div class="col-6 d-flex justify-content-center">
<nav>
@@ -97,6 +99,28 @@
<button type="button" class="btn btn-primary" id="createButton">생성</button>
</div>
</div><!-- row row-buttons -->
<div class="row row-buttons">
<form name="uplodeExcleForm" id="uplodeExcleForm" method="post" onsubmit="return _onSubmit();" action="/category/uplodeExcel" enctype="multipart/form-data" class="form-horizontal">
<div class="col-4 text-start">
<table id="datatable-scroller" class="table table-bordered tbl_Form">
<tbody>
<tr>
<th class="active" style="text-align:right"><label class="control-label" for="">파일 업로드</label></th>
<td>
<input type="file" name="file" id="file" accept=".xlsx, .xls"/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="col-4 text-start">
<div class="d-flex justify-content-start align-items-center">
<button type="submit" class="btn btn-success" id="uploadExcel">업로드</button>
</div>
</div>
</form><!-- uplodeExcleForm -->
</div><!-- row row-buttons -->
</div>
</div>
@@ -113,6 +137,16 @@
document.body.appendChild(form);
form.submit();
});
$("#downlodeExcelForm").on("click",function(){
var form = document.createElement("form");
form.action = "/category/downlodeCategoryForm";
form.method = "GET";
document.body.appendChild(form);
form.submit();
});
$("body").on("click", ".detailTr", function(){
var kan_code = $(this).data("kan_code");
@@ -166,8 +200,13 @@
});
var msg = "${resMap.msg}";
if (msg != "") alert(msg);
});//ready
function pagingFunction(clickedId){
var searchn1 = $("#searchn1").val();
var search1 = $("#search1").val();
@@ -196,7 +235,27 @@
document.body.appendChild(form);
form.submit();
}
}//pagingFunction
function _onSubmit(){
if($("#file").val() == ""){
alert("파일을 업로드해주세요.");
$("#file").focus();
return false;
}
return true;
}
</script>
</body>
</html>

View File

@@ -12,7 +12,7 @@
<div class="row">
<h1>제품 카테고리 상세페이지</h1>
<div class="col-10" style="text-align: right;">
<button type="button" class="btn btn-danger" id="yes_no_modal_show_button">삭제</button>
<button type="button" class="btn btn-danger" onclick="goDelete()">삭제</button>
</div>
</div>
</div>
@@ -91,8 +91,6 @@
form.submit();
})//modifyBtn click
yesNoModal.yesFunction = deleteCategoryFunction;
});//ready
@@ -123,6 +121,15 @@
}//deleteCategoryFunction
function goDelete(){
yesNoModalTextDefine("카테고리 삭제", "해당 카테고리를 삭제하시겠습니까?");
$("#yesNoModalLabel").text(yesNoModal.title);
$("#yesNoModalBodyTextDiv").text(yesNoModal.body);
yesNoModal.yesFunction = deleteCategoryFunction;
yesNoModalBootStrap.show();
}

View File

@@ -5,77 +5,54 @@
<head>
<meta charset="UTF-8">
<title>test상세페이지</title>
<style type="text/css">
.col-centered{
margin: 0 auto;
float: none;
}
.col-margin-left-32{
margin-left: 32%;
}
</style>
</head>
<body>
test success
<br>
<hr>
<c:forEach items="${dto }" var="item">
${item.kan_code} : ${item.cls_nm_1} > ${item.cls_nm_2} > ${item.cls_nm_3} > ${item.cls_nm_4}<br>
활성화 : ${item.activation}<br>
<hr>
</c:forEach>
코드테스트 버튼 :
<div class="input-group mb-3 w-40 col-centered">
<input type="text" name="kan_code" id="kan_code" class="form-control"
placeholder="KAN 분류코드" aria-label="KAN 분류코드"
aria-describedby="button-addon2">
<button class="btn btn-outline-secondary" id="checkKan"
style="background-color: #FF5E5E;" type="button" id="button-addon2">중복확인</button>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$("#checkKan").on("click", function() {
// 중복 클릭 방지를 위해 버튼을 비활성화
$("#checkKan").prop("disabled", true);
let kanCode = $("#kan_code").val();
if (!kanCode) {
alert("KAN 분류코드를 입력하세요.");
$("#kan_code").focus();
// 버튼 다시 활성화
$("#checkKan").prop("disabled", false);
return false;
}
$.ajax({
url: "/category/checkKancode",
type: "post",
data: {"kan_code": kanCode},
datatype:"text"
}).done(function(data) {
if (data == "") {
$("#checkKan").css("background-color", "#4CAF50"); // 파란색 배경으로 변경
$("#checkKan").text("사용가능"); // 버튼 텍스트 변경
$("#checkKan").append("<input type='hidden' id='kan_chack' value='1'>");
} else {
$("#checkKan").css("background-color", "#FF5E5E"); // 원래의 빨간색 배경으로 변경
$("#checkKan").text("사용불가"); // 버튼 텍스트 변경
}
}).fail(function() {
alert("오류가 발생했습니다.");
}).always(function() {
// Ajax 요청 완료 후 버튼 다시 활성화
$("#checkKan").prop("disabled", false);
});
});
});
</script>
<div class="row row-buttons">
<form name="uplodeExcleForm" id="uplodeExcleForm" method="post" onsubmit="return _onSubmit();" action="/category/uplodeExcel" enctype="multipart/form-data" class="form-horizontal">
<div class="col-4 text-start">
<table id="datatable-scroller" class="table table-bordered tbl_Form">
<tbody>
<tr>
<th class="active" style="text-align:right"><label class="control-label" for="">파일 업로드</label></th>
<td>
<input type="file" name="file" id="file" accept=".xlsx, .xls"/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="col-4 text-start">
<div class="d-flex justify-content-start align-items-center">
<button type="submit" class="btn btn-success" id="uploadExcel">업로드</button>
</div>
</div>
</form><!-- uplodeExcleForm -->
</div><!-- row row-buttons -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
var msg = "${resMap.msg}";
if (msg != "") alert(msg);
});//ready
function _onSubmit(){
if($("#file").val() == ""){
alert("파일을 업로드해주세요.");
$("#file").focus();
return false;
}
return true;
}
</script>
</body>
</html>

View File

@@ -0,0 +1,32 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6">
<!-- 첫 번째 공간 -->
달력
</div>
<div class="col-md-6">
<!-- 두 번째 공간 -->
로고
</div>
</div>
<div class="row">
<div class="col-md-6">
<!-- 세 번째 공간 -->
부족한 재고
</div>
<div class="col-md-6">
<!-- 네 번째 공간 -->
개시판(공지사항)
</div>
</div>
</div>
</body>
</html>

View File

@@ -1,12 +1,9 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
function onSearch(){
//
//
}
function onSelectAuth(tag){
function onSelect(tag){
const $tag = $(tag);
const tid = $tag.data('tid');
const name = $tag.data('tname');
@@ -14,7 +11,70 @@
$("#cls_nm_4").val(name);
$("#kan_code").val(tid);
hideSearchModal();
}
}//onSelect
function pagingFunction(clickedId){
var title = "분류 검색";
var val = "category";
var searchn = $("#searchn1").val();
var search = $("#search1").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : parseInt(clickedId)
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/product/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}//pagingFunction
$(document).ready(function() {
$("#searchBtn").on("click", function(){
var title = "분류 검색";
var val = "category";
var searchn = $("#searchn").val();
var search = $("#search").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : 1
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/product/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
})//searchBtn
});//ready
</script>
<div class="container">
<div class="row">
@@ -59,11 +119,32 @@
<td>${dto.cls_nm_3 }</td>
<td>${dto.cls_nm_4 }</td>
<td>${dto.kan_code }</td>
<td><button data-tid="${dto.kan_code}" data-tname="${dto.cls_nm_4}" class="btn btn-primary" onclick="onSelectAuth(this)">선택</button></td>
<td><button data-tid="${dto.kan_code}" data-tname="${dto.cls_nm_4}" class="btn btn-primary" onclick="onSelect(this)">선택</button></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-12 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<li class="page-item <c:if test="${p == i}"> active </c:if>">
<a href="javascript:void(0);" class="page-link " onclick="pagingFunction(this.id); return false;" id="${i }">${i }</a>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>

View File

@@ -0,0 +1,71 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<script>
function onSearch(){
//
//
}
function onSelect(tag){
const $tag = $(tag);
const tid = $tag.data('tid');
const name = $tag.data('tname');
<!-- 수정해야할 부분 -->
$("#productName").val(name);
$("#product_id").val(tid);
hideSearchModal();
}
</script>
<div class="container">
<div class="row">
<div class="col-12">
<div id="div_auth_search" class="text-end">
<div class="input-group mb-3 w-50 col-centered">
<div class="w-30">
<select class="form-select" name="searchn" id="searchn">
<option selected="selected" value="0">제품명</option>
<option value="1">가격</option>
<option value="2">등록날짜</option>
</select>
</div>
<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>
<!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}">
<input type="hidden" id="search1" value="${search}">
<!-- 페이징작업용 -->
</div>
</div>
</div>
<div class="col-12">
<table class="table">
<thead class="table-dark">
<tr>
<th>번호</th>
<th>제품명</th>
<th>가격</th>
<th>등록날짜</th>
<th>담당자</th>
<th>선택</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list }" var="dto">
<tr class="detailTr" data-product_id="${dto.id}" >
<td>${status.count }</td>
<td>${dto.productDto.name }</td>
<td>${dto.price }</td>
<td><fmt:formatDate value="${dto.registration_date }"
dateStyle="short" /></td>
<td>${dto.accountDto.name }</td>
<!-- 수정해야할 부분 -->
<td><button data-tid="${dto.id}" data-tname="${dto.name}" class="btn btn-primary" onclick="onSelect(this)">선택</button></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>

View File

@@ -1,13 +1,10 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
function onSearch(){
//
//
}
function onSelectAuth(tag){
function onSelect(tag){
const $tag = $(tag);
const tid = $tag.data('tid');
const name = $tag.data('tname');
@@ -15,7 +12,67 @@
$("#productName").val(name);
$("#product_id").val(tid);
hideSearchModal();
}
}//onSelect
function pagingFunction(clickedId){
var title = "제품 검색";
var val = "product";
var searchn = $("#searchn1").val();
var search = $("#search1").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : parseInt(clickedId)
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/price/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}//pagingFunction
$(document).ready(function() {
$("#searchBtn").on("click", function(){
var title = "제품 검색";
var val = "product";
var searchn = $("#searchn").val();
var search = $("#search").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : 1
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/price/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
})//searchBtn
});//ready
</script>
<div class="container">
<div class="row">
@@ -62,11 +119,32 @@
<td><fmt:formatDate value="${dto.registration_date }"
dateStyle="short" /></td>
<td>${dto.accountDto.name }</td>
<td><button data-tid="${dto.id}" data-tname="${dto.name}" class="btn btn-primary" onclick="onSelectAuth(this)">선택</button></td>
<td><button data-tid="${dto.id}" data-tname="${dto.name}" class="btn btn-primary" onclick="onSelect(this)">선택</button></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-12 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<li class="page-item <c:if test="${p == i}"> active </c:if>">
<a href="javascript:void(0);" class="page-link " onclick="pagingFunction(this.id); return false;" id="${i }">${i }</a>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>

View File

@@ -0,0 +1,157 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<script>
function onSelect(tag) {
const $tag = $(tag);
const tname = $tag.data('tname');
const tid = $tag.data('tid');
const tcategory = $tag.data('tcategory');
const tcompany_name = $tag.data('tcompany_name');
$("#stock_pro_name").val(tname);
$("#product_id").val(tid);
$("#stock_category_name").val(tcategory);
$("#stock_company_name_name").val(tcompany_name);
hideSearchModal();
}
$(document).ready(function () {
// 검색 기능
$("#searchBtn").on("click", function () {
var searchn = $("#searchn").val();
var search = $("#search").val();
$.ajax({
type: "POST",
url: "/stock/show_modal",
data: {
searchn: searchn,
search: search,
p: 1,
name: "product_category_company_search"
},
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
});
});
function pageingFunction(clickedId) {
var searchn = $("#searchn").val();
var search = $("#search").val();
$.ajax({
type: "POST",
url: "/stock/show_modal",
data: {
searchn: searchn,
search: search,
p: clickedId,
name: "product_category_company_search"
},
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}
</script>
<div class="container">
<div class="row">
<div class="col-12">
<div id="div_product_category_company_search" class="text-end">
<div class="input-group mb-3 w-50 col-centered">
<div class="w-30">
<select class="form-select" name="searchn" id="searchn">
<option value="0">제품명</option>
<option value="1">카테고리</option>
<option value="2">제조사</option>
</select>
</div>
<input type="text" id="search" name="search" class="form-control" placeholder="검색어를 입력하세요">
<button class="btn btn-info" type="button" id="searchBtn">검색</button>
<!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}">
<input type="hidden" id="search1" value="${search}">
<!-- 페이징작업용 -->
</div>
</div>
</div>
<div class="col-12 col-centered">
<table class="table">
<thead class="table-dark">
<tr>
<th class="col-1"></th>
<th class="col-3">제품</th>
<th class="col-3">카테고리</th>
<th class="col-3">제조사</th>
<th class="col-1"></th>
<th class="col-1"></th>
</tr>
</thead>
<tbody>
<c:forEach items="${list }" var="dto">
<tr>
<td></td>
<td>${dto.name }</td>
<td>${dto.cls_Nm_4 }</td>
<td>${dto.company_name }</td>
<td>
<button data-tid="${dto.productId}"
data-tname="${dto.name}"
data-tcategory="${dto.cls_Nm_4}"
data-tcompany_name="${dto.company_name}"
class="btn btn-primary" onclick="onSelect(this)">선택
</button>
</td>
<td></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="row row-buttons">
<div class="col-12 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)"
id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<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>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)"
id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>
</div><!-- row row-buttons -->
</div>
</div>

View File

@@ -0,0 +1,147 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
function onSelect(tag){
const $tag = $(tag);
const tid = $tag.data('tid');
const name = $tag.data('tname');
$("#vendor").val(name);
$("#vendor_id").val(tid);
hideSearchModal();
}//onSelect
function pagingFunction(clickedId){
var title = "거래처 검색";
var val = "vendor";
var searchn = $("#searchn1").val();
var search = $("#search1").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : parseInt(clickedId)
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/product/show_modal2', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}//pagingFunction
$(document).ready(function() {
$("#searchBtn").on("click", function(){
var title = "거래처 검색";
var val = "vendor";
var searchn = $("#searchn").val();
var search = $("#search").val();
$("#searchModalLabel").text(title);
const data = { name : val,
searchn : searchn,
search : search,
p : 1
};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/product/show_modal2', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
})//searchBtn
});//ready
</script>
<div class="container">
<div class="row">
<div class="col-12">
<div id="div_auth_search" class="text-end">
<div class="input-group mb-3 w-50 col-centered">
<div class="w-30">
<select class="form-select" name="searchn" id="searchn">
<option selected="selected" value="0">업체명</option>
<option value="1">업체명</option>
<option value="2">거래처 담당자</option>
<option value="3">거래처 담당자 전화번호</option>
</select>
</div>
<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>
<!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}">
<input type="hidden" id="search1" value="${search}">
<!-- 페이징작업용 -->
</div>
</div>
</div>
<div class="col-12">
<table class="table">
<thead class="table-dark">
<tr>
<th>번호</th>
<th>업체명</th>
<th>대표번호</th>
<th>거래처 담당자</th>
<th>거래처 담당자 전화번호</th>
<th>선택</th>
</tr>
</thead>
<tbody>
<c:forEach items="${vlist }" var="dto">
<tr class="detailTr" data-product_id="${dto.id}" >
<td>${start} <c:set var="start" value="${start +1 }"/></td>
<td>${dto.name }</td>
<td>${dto.president_telephone }</td>
<td>${dto.vendor_manager }</td>
<td>${dto.vendor_manager_telephone }</td>
<td><button data-tid="${dto.id}" data-tname="${dto.name}" class="btn btn-primary" onclick="onSelect(this)">선택</button></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-12 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<li class="page-item <c:if test="${p == i}"> active </c:if>">
<a href="javascript:void(0);" class="page-link " onclick="pagingFunction(this.id); return false;" id="${i }">${i }</a>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pagingFunction(this.id)" id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>

View File

@@ -0,0 +1,163 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<script>
function onSelect(tag) {
const $tag = $(tag);
const id = $tag.data('id');
const name = $tag.data('name');
const address = $tag.data('address');
const capacity = $tag.data('capacity');
const remainingcapacity = $tag.data('remainingcapacity');
$("#warehouse_id").val(id);
$("#warehouse_name").val(name);
$("#Address_name").val(address);
$("#Capacity_name").val(capacity);
$("#remainingcapacity").val(remainingcapacity);
hideSearchModal();
}
$(document).ready(function () {
// 검색 기능
$("#searchBtn").on("click", function () {
var searchn = $("#searchn").val();
var search = $("#search").val();
$.ajax({
type: "POST",
url: "/stock/show_modal",
data: {
searchn: searchn,
search: search,
p: 1,
name: "warehouse_capacity_currentCapacity"
},
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
});
});
function pageingFunction(clickedId) {
var searchn = $("#searchn").val();
var search = $("#search").val();
$.ajax({
type: "POST",
url: "/stock/show_modal",
data: {
searchn: searchn,
search: search,
p: clickedId,
name: "warehouse_capacity_currentCapacity"
},
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}
</script>
<div class="container" id="pageingData">
<div class="row">
<div class="col-12">
<div id="div_warehouse_capacity_currentCapacity" class="text-end">
<div class="input-group mb-3 w-50 col-centered">
<div class="w-30">
<select class="form-select" name="searchn" id="searchn">
<option value="0">창고명</option>
<option value="1">지역</option>
<option value="2">용적</option>
</select>
</div>
<input type="text" id="search" name="search" class="form-control" placeholder="검색어를 입력하세요">
<button class="btn btn-info" type="button" id="searchBtn">검색</button>
</div>
</div>
</div>
<div class="col-12">
<table class="table">
<thead class="table-dark">
<tr>
<th class="col-1"></th>
<th class="col-2">창고명</th>
<th class="col-2">지역</th>
<th class="col-2">용적</th>
<th class="col-2">잔여 용량</th>
<th class="col-1"></th>
<th class="col-1"></th>
</tr>
</thead>
<tbody>
<c:forEach items="${list }" var="dto">
<tr>
<td></td>
<td>${dto.warehouseName }</td>
<td>${dto.address }</td>
<td>${dto.capacity }</td>
<td>${dto.capacity - dto.current_capacity }</td>
<td>
<button data-id="${dto.warehouseId}"
data-name="${dto.warehouseName}"
data-address="${dto.address}"
data-capacity="${dto.capacity}"
data-remainingcapacity="${dto.capacity - dto.current_capacity }"
class="btn btn-primary" onclick="onSelect(this)">선택
</button>
</td>
<td></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="row row-buttons">
<div class="col-12 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)"
id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<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>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)"
id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>
</div><!-- row row-buttons -->
</div>
</div>

View File

@@ -11,7 +11,7 @@
<div class="row">
<h1>제품 상세페이지</h1>
<div class="col-10" style="text-align: right;">
<button type="button" class="btn btn-danger" id="yes_no_modal_show_button">삭제</button>
<button type="button" class="btn btn-danger" onclick="goDelete()">삭제</button>
</div>
</div>
</div>
@@ -118,6 +118,16 @@
});
}//deletePriceFunction
function goDelete(){
yesNoModalTextDefine("제품가격 삭제", "해당 제품가격을 삭제하시겠습니까?");
$("#yesNoModalLabel").text(yesNoModal.title);
$("#yesNoModalBodyTextDiv").text(yesNoModal.body);
yesNoModal.yesFunction = deletePriceFunction;
yesNoModalBootStrap.show();
}
</script>
</body>
</html>

View File

@@ -57,17 +57,15 @@
<span class="input-group-text" id="basic-addon4">거래처</span>
<input type="text" name="vendor" id="vendor" class="form-control"
placeholder="거래처를 입력하세요" aria-label="거래처"
aria-describedby="button-addon2">
aria-describedby="button-addon2" readonly>
<button class="btn btn-outline-secondary rounded-end" id="searchVendor"
style="background-color:#FF5E5E;" type="button" onclick="showSearchModal2('거래처 검색','vendor')">검색</button>
<input type='hidden' id='searchVendorChack' value='0'>
<input type='hidden' id="vendor_id" value="">
</div>
<!-- 추후 수정 -->
<input type='hidden' id="manager_id" value="83bdda69-ae95-11ee-935d-0242ac110006">
<input type='hidden' id="vendor_id" value="52f16bb8-aeb9-11ee-935d-0242ac110006">
<!-- 추후 수정 -->
</div>
@@ -190,7 +188,7 @@
const data = { name : val};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/category/show_modal', // 요청할 서버url
url : '/product/show_modal2', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수

View File

@@ -11,7 +11,7 @@
<div class="row">
<h1>제품 상세페이지</h1>
<div class="col-10" style="text-align: right;">
<button type="button" class="btn btn-danger" id="yes_no_modal_show_button">삭제</button>
<button type="button" class="btn btn-danger" onclick="goDelete()">삭제</button>
</div>
</div>
</div>
@@ -128,7 +128,15 @@
});
}//deleteProductFunction
function goDelete(){
yesNoModalTextDefine("제품 삭제", "해당 제품을 삭제하시겠습니까?");
$("#yesNoModalLabel").text(yesNoModal.title);
$("#yesNoModalBodyTextDiv").text(yesNoModal.body);
yesNoModal.yesFunction = deleteProductFunction;
yesNoModalBootStrap.show();
}
</script>
</body>
</html>

View File

@@ -42,15 +42,15 @@
</div>
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">거래처</span>
<input type="text" class="form-control" name="newVendor" placeholder="거래처를 입력해도 바뀌는 건 없습니다."
aria-label="거래처" id="vendor" value="${dto.vendorDto.name }">
<button class="btn btn-outline-secondary rounded-end" id="searchVendor"
style="background-color:#FF5E5E;" type="button" >검색</button>
<input type='hidden' id='searchVendorChack' value='0'>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">거래처</span>
<input type="text" name="vendor" id="vendor" class="form-control"
placeholder="거래처를 입력하세요" aria-label="거래처"
aria-describedby="button-addon2" value="${dto.vendorDto.name }" readonly>
<button class="btn btn-outline-secondary rounded-end" id="searchVendor"
style="background-color:#FF5E5E;" type="button" onclick="showSearchModal2('거래처 검색','vendor')">검색</button>
<input type='hidden' id="vendor_id" value="${dto.vendor_id }">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon5">등록날짜</span>
@@ -61,9 +61,7 @@
<input type='hidden' id="id" value="${dto.id }">
<!-- 추후 수정 -->
<input type='hidden' id="manager_id" value="83bdda69-ae95-11ee-935d-0242ac110006">
<input type='hidden' id="vendor_id" value="${dto.vendor_id }">
<!-- 추후 수정 -->
</div>
@@ -188,7 +186,24 @@
alert(error)
}
});
}
}//showSearchModal
function showSearchModal2(title, val){
$("#searchModalLabel").text(title);
const data = { name : val};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/product/show_modal2', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}//showSearchModal2
</script>

View File

@@ -1,68 +1,186 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>재고 생성</title>
<style type="text/css">
.header {
text-align: center;
}
</style>
</head>
<body>
<div class = "container" >
<div class="header">
<h1>재고 관리 생성</h1>
</div>
<hr>
<div class = "row">
<div class = "col-6">
<form>
<input type="text" name="search" maxlength="50" readonly/>
<input type="submit" class="btn btn-primary" id = "search_modal_show_button" value="검색" />
</form>
</div>
</div>
<div class="mt-5 mb-5 text-center">
<h1>재고 생성</h1>
</div>
<hr>
<div class="container" style="text-align: center">
<div class="ulTag">
<div class="row">
<div class="col-12">
<input type='hidden' id="activation" value="1">
<!--제품 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Product_label' class="input-group-text">제품</span>
<input readonly id="stock_pro_name" type="text" class="form-control" placeholder="제품 검색">
<input hidden name="ProductName" id="product_id" value="${dto.product_id}">
<button id="product_search_button" class="btn-primary btn" onclick="showSearchModals('제품 검색','product_category_company_search')">검색</button>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Category_label' class="input-group-text">카테고리</span>
<input readonly id="stock_category_name" type="text" class="form-control" placeholder="">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Company_name_label' class="input-group-text">제조사</span>
<input readonly id="stock_company_name_name" type="text" class="form-control" placeholder="">
</div>
<!--창고 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Warehouse_label' class="input-group-text">창고</span>
<input readonly id="warehouse_name" type="text" class="form-control" placeholder="창고 검색">
<input hidden name="product_id" id="warehouse_id" value="${dto.warehouse_id}">
<button id="Warehouse_search_button" class="btn-primary btn" onclick="showSearchModals('창고 검색','warehouse_capacity_currentCapacity')">검색</button>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Address_label' class="input-group-text">주소</span>
<input readonly id="Address_name" type="text" class="form-control" placeholder="">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Capacity_label' class="input-group-text">용적</span>
<input readonly id="Capacity_name" type="text" class="form-control" placeholder="">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='RemainingCapacity_label' class="input-group-text">잔여 용량</span>
<input readonly id="remainingcapacity" type="text" placeholder="" value="${dto.capacity - dto.current_capacity}" class="form-control">
</div>
<!--적재할 상품의 재고수-->
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">재고량</span>
<input type="text" name="quantity" id="quantity" class="form-control"
placeholder="재고량을 입력하세요" aria-label="재고량" value="${dto.quantity }"
aria-describedby="basic-addon1">
</div>
<div class="modal fade" id="search_modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered modal-xl" >
<div class="modal-content" id="search_modal_content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="searchModalLabel">재고명 검색</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="search_modal_body">
</div>
</div>
</div>
<div class="row">
<div class="col-12 ">
<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-secondary" id="cancelBtn">취소</button>
</div>
</div>
</div>
</div>
</div>
</body>
<script src="utils.js" type="text/javascript"></script>
<script>
//검색 팝업 모달 관련
const searchModalBootStrap = new bootstrap.Modal("#search_modal");
$("#search_modal_show_button").on("click", function(){
searchModalBootStrap.show();
});
/*
* 검색 팝업 모달 닫는 함수
*/
function hideSearchModal(){
searchModalBootStrap.hide();
function showSearchModals(title, val){
$("#searchModalLabel").text(title);
const data = { name : val};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/stock/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}
//검색 팝업 모달 관련 끝
</script>
$(document).ready(function () {
</html>
$("#submitBtn").on("click", function () {
var product_id = $("#product_id").val();
var warehouse_id = $("#warehouse_id").val();
var quantity = $("#quantity").val();
var activation = $("#activation").val();
var remainingcapacity = $("#remainingcapacity").val();
if (!product_id) {
alert("제품을 선택해야 합니다.");
$("#product_id").focus();
return false;
}
if (!warehouse_id) {
alert("적재할 창고를 선택해야 합니다.");
$("#warehouse_id").focus();
return false;
}
if (!quantity) {
alert("재고량를 입력해야 합니다.");
$("#quantity").focus();
return false;
}
if (quantity > remainingcapacity) {
alert("적재 할 재고량이 잔여 용량을 넘을 수 없습니다.");
$("#quantity").focus();
return false;
}
$.ajax({
url: "/stock/create_process",
type: "post",
data: {
"productId": product_id,
"warehouseId": warehouse_id,
"quantity": quantity,
"activation": activation
},
datatype: "json"
}).done(function (data) {
if (data == true) {
alert("재고 정보가 생성되었습니다.");
var form = document.createElement("form");
form.action = "/stock/read";
form.method = "POST";
document.body.appendChild(form);
var input = document.createElement("input");
input.type = "hidden";
input.name = "name";
input.value = name;
form.appendChild(input);
form.submit();
window.location.href = "/stock/list";
} else {
alert("재고 정보 생성에 실패하였습니다.");
}
}).fail(function () {
alert("오류가 발생했습니다.");
}).always(function () {
//
});
})
$("#cancelBtn").on("click", function () {
$(location).attr("href", "/stock/list");
})
});
</script>

View File

@@ -1,121 +1,388 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>재고 리스트</title>
<style type="text/css">
.header {
text-align: center;
}
</style>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script src="base.js"></script>
<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://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">
<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">
<title>재고 관리</title>
</head>
<body>
<div class="header">
<h1>재고 리스트</h1>
<div class="mt-5 mb-5 text-center">
<h1>재고 관리</h1>
</div>
<hr>
<div class="body">
<!--탭키명 -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
<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>
</li>
<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>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div id="search" align="center">
<form action="search">
<select name="searchn">
<option value="0">제품명</option>
<option value="1">카테고리</option>
</select>
<input type="text" name="search" maxlength="50"/>
<input type="submit" class="btn btn-primary" value="검색" />
</form>
</div>
<!--재고 리스트 -->
<c:if test="${count != 0 }">
<table align="center">
<tr>
<th>번호</th>
<th>제품명</th>
<th>창고명</th>
</tr>
<c:forEach items="${list}" var="stock">
<tr>
<td><a href ="read/${stock.id}">${stock.id}</a></td>
<td>${stock.product_name }</td>
<td>${stock.warehouse_name }</td>
</tr>
</c:forEach>
</table>
<ul class="nav nav-tabs" id="myTab" role="tablist">
<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>
</li>
<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>
</li>
</ul>
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<div class="container-fluid">
<div class="col-12">
<form>
<div class="input-group mb-3 w-30 col-centered">
<div class="w-25">
<select class="form-select" name="searchn" id="searchn">
<option value="0">제품명</option>
<option value="1">카테고리</option>
<option value="2">재고수</option>
</select>
</div>
<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>
<!-- 엑셀 다운로드-->
<div class="excelButton" align="left">
<button id="excelButton" value="excelButton">다운로드</button>
</div>
<div id="page" align="center">
<c:if test="${begin > pageNum }">
<a href="list?p=${begin-1 }">[<]</a>
</c:if>
<c:forEach begin="${begin }" end="${end}" var="i">
<a href="list?p=${i}">${i}</a>
</c:forEach>
<c:if test="${end < totalPages }">
<a href="list?p=${end+1}">[>]</a>
</c:if>
</div>
<!-- 페이징작업용 -->
<input type="hidden" id="searchn1" value="${searchn}">
<input type="hidden" id="search1" value="${search}">
<!-- 페이징작업용 -->
<div class="createButton" align="right">
<button id="createButton" href="create">생성</button>
</div>
</form>
</div>
</div>
<div class="container-fluid">
<div class="row row-table">
<div class="col-12">
<table class="table">
<thead class="table-dark">
<tr>
<th>번호</th>
<th>제품명</th>
<th>카테고리</th>
<th>재고수</th>
</tr>
</thead>
<tbody>
<c:forEach items="${slist }" var="dto">
<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">${dto.productName }</td>
<td class="col-1">${dto.cls_nm_4 }</td>
<td class="col-1">${dto.quantity}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row row-buttons">
<div class="col-3 text-start">
<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="download">다운로드</button>
</div>
<div class="col-6 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin > pageNum }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${begin - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<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>
</li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction(this.id)" id="${end + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>
<div class="col-3 text-end">
<button type="button" class="btn btn-primary" id="createButton">생성</button>
</div>
</div><!-- row row-buttons -->
</div>
</div>
<!--탭내용 2-->
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
<div class="container-fluid">
<div class="col-12">
<form>
<div class="input-group mb-3 w-30 col-centered">
<div class="w-25">
<select class="form-select" name="searchn" id="searchn2">
<option value="0">제품명</option>
<option value="1">카테고리</option>
<option value="2">재고수</option>
</select>
</div>
<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>
<!-- 페이징작업용 -->
<input type="hidden" id="searchn22" value="${searchn2}">
<input type="hidden" id="search22" value="${search2}">
<!-- 페이징작업용 -->
</div>
</form>
</div>
</div>
<div class="container-fluid">
<div class="row row-table">
<div class="col-12">
<table class="table">
<thead class="table-dark">
<tr>
<th>번호</th>
<th>제품명</th>
<th>카테고리</th>
<th>재고수</th>
</tr>
</thead>
<tbody>
<c:forEach items="${slist2 }" var="dto">
<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">${dto.productName }</td>
<td class="col-1">${dto.cls_nm_4 }</td>
<td class="col-1">${dto.quantity }</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row row-buttons">
<div class="col-3 text-start">
<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="download2">다운로드</button>
</div>
<div class="col-6 d-flex justify-content-center">
<nav>
<ul class="pagination">
<c:if test="${begin2 > pageNum2 }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction2(this.id)" id="${begin2 - 1 }">&lt;</a>
</li>
</c:if>
<c:forEach begin="${begin2 }" end="${end2 }" var="i">
<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>
</li>
</c:forEach>
<c:if test="${end2 < totalPages2 }">
<li class="page-item">
<a href="javascript:void(0);" class="page-link" onclick="pageingFunction2(this.id)" id="${end2 + 1 }">&gt;</a>
</li>
</c:if>
</ul>
</nav>
</div>
<div class="col-3 text-end">
<button type="button" class="btn btn-primary" id="createButton2">생성</button>
</div>
</div><!-- row row-buttons -->
</div>
</div>
</div>
</c:if>
</div>
<div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
탭2 내용
</div>
</div>
</div>
</body>
<script src="utils.js" type="text/javascript"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
//POST방식으로 create폼화면 출력
/*엑셀 다운로드 클릭 펑션 */
$("#excelButton").click(function(){
const columns = [
{name: '번호', key: 'id'},
{name: '제품명', key: 'product_name'},
{name: '창고명', key: 'warehouse_name'},
{name: '재고수', key: 'quantity'},
{name: '카테고리', key: 'cls_Nm_4'}
//탭 1 생성 버튼
$("#createButton").on("click",function(){
var form = document.createElement("form");
form.action = "/stock/create";
form.method = "POST";
document.body.appendChild(form);
form.submit();
});
];
//탭 2 생성 버튼
$("#createButton2").on("click",function(){
var form = document.createElement("form");
form.action = "/stock/create";
form.method = "POST";
document.body.appendChild(form);
form.submit();
});
exportExcel(e, 'sheet', columns, list, 'stock');
})
$("body").on("click", ".detailTr", function(){
var id = $(this).data("id");
var form = document.createElement("form");
form.action = "/stock/read";
form.method = "POST";
document.body.appendChild(form);
var input = document.createElement("input");
input.type = "hidden";
input.name = "id";
input.value = id;
form.appendChild(input);
form.submit();
});
//탭 1 검색기능
$("#searchBtn").on("click",function(){
var searchn = $("#searchn").val();
var search = $("#search").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 = searchn;
form.appendChild(input1);
var input2 = document.createElement("input");
input2.type = "hidden";
input2.name = "search";
input2.value = search;
form.appendChild(input2);
var input3 = document.createElement("input");
input3.type = "hidden";
input3.name = "p";
input3.value = 1;
form.appendChild(input3);
document.body.appendChild(form);
form.submit();
});
//탭 2 검색기능
$("#searchBtn2").on("click",function(){
var searchn = $("#searchn2").val();
var search = $("#search2").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 = searchn;
form.appendChild(input1);
var input2 = document.createElement("input");
input2.type = "hidden";
input2.name = "search";
input2.value = search;
form.appendChild(input2);
var input3 = document.createElement("input");
input3.type = "hidden";
input3.name = "p";
input3.value = 1;
form.appendChild(input3);
document.body.appendChild(form);
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>
</html>
</body>
</html>

View File

@@ -0,0 +1,190 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<div class="mt-5 mb-5 text-center">
<h1>재고 상세페이지</h1>
<div class="col-10" style="text-align: right">
<button type="button" class="btn btn-danger" id="yes_no_modal_show">삭제</button>
</div>
</div>
<hr>
<div class="container" style="text-align: center">
<div class="ulTag">
<div class="row">
<div class="col-12">
<input type="hidden" class="form-control" aria-label="id" id="id" value="${dto.id}" readonly>
<input type='hidden' id="activation" value="1">
<!--제품 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Product_label' class="input-group-text">제품</span>
<input readonly id="stock_pro_name" type="text" class="form-control" placeholder="제품 검색" value="${dto.productName}">
<input hidden name="ProductName" id="product_id" value="${dto.productId}">
<%-- <button id="product_search_button" class="btn-primary btn" onclick="showSearchModals('제품 검색','product_category_company_search')">검색</button>--%>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Category_label' class="input-group-text">카테고리</span>
<input readonly id="stock_category_name" type="text" class="form-control" placeholder="" value="${dto.cls_nm_4}">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Company_name_label' class="input-group-text">제조사</span>
<input readonly id="stock_company_name_name" type="text" class="form-control" placeholder="" value="${dto.company_name}">
</div>
<!--창고 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Warehouse_label' class="input-group-text">창고</span>
<input readonly id="warehouse_name" type="text" class="form-control" placeholder="창고 검색" value="${dto.warehouseName}">
<input hidden name="product_id" id="warehouse_id" value="${dto.warehouseId}">
<%-- <button id="Warehouse_search_button" class="btn-primary btn" onclick="showSearchModals('창고 검색','warehouse_capacity_currentCapacity')">검색</button>--%>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Address_label' class="input-group-text">주소</span>
<input readonly id="Address_name" type="text" class="form-control" placeholder="" value="${dto.address}">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Capacity_label' class="input-group-text">용적</span>
<input readonly id="Capacity_name" type="text" class="form-control" placeholder="" value="${dto.capacity}">
</div>
<!--적재할 상품의 재고수-->
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">재고량</span>
<input type="text" name="quantity" id="quantity" class="form-control"
placeholder="재고량을 입력하세요" aria-label="재고량" value="${dto.quantity }"
aria-describedby="basic-addon1" readonly>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 ">
<div class="w-40 col-centered" style="text-align: right">
<button type="button" class="btn btn-success" id="checkBtn">확인</button>
<button type="button" class="btn btn-secondary" id="modifyBtn">수정</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="yes_no_modal_stock_delete" tabindex="-1" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="yesNoModalLabel">삭제 하시겠습니까?</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
<button id="modal_yes_button_stock_delete" type="button" class="modal_yes btn btn-primary">삭제</button>
</div>
</div>
</div>
</div>
<script>
function showSearchModals(title, val){
$("#searchModalLabel").text(title);
const data = { name : val};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/stock/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}
$(document).ready(function () {
$("#modifyBtn").on("click", function () {
var id = $("#id").val();
var form = document.createElement("form");
form.action = "/stock/update";
form.method = "POST";
document.body.appendChild(form);
var input = document.createElement("input");
input.type = "hidden";
input.name = "id";
input.value = id;
form.appendChild(input);
form.submit();
})
$("#checkBtn").on("click", function () {
$(location).attr("href", "/stock/list");
})
yesNoModal.yesFunction1 = deleteStockFunction;
function deleteStockFunction() {
var id = $("#id").val();
var warehouse_id = $("#warehouse_id").val();
var quantity = $("#quantity").val();
$.ajax({
url: "/stock/delete",
type: "delete",
data: {
"id": id,
"warehouseId": warehouse_id,
"quantity" : quantity
},
datatype: "json"
}).done(function (data) {
if (data == true) {
alert("삭제되었습니다.");
$(location).attr("href", "/stock/list");
} else {
alert("정상적으로 삭제되지 않았습니다..");
}
}).fail(function () {
alert("오류가 발생했습니다.");
}).always(function () {
//
});
}//deleteCategoryFunction
const yesNoModalBootStrap = new bootstrap.Modal("#yes_no_modal_stock_delete");
$("#yes_no_modal_show").on("click", function () {
yesNoModalBootStrap.show();
});
$("#modal_yes_button_stock_delete").on("click", function () {
console.log("삭제 버튼 클릭 이벤트 실행");
yesNoModal.yesFunction1();
yesNoModalBootStrap.hide();
});
});
</script>

View File

@@ -0,0 +1,200 @@
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<div class="mt-5 mb-5 text-center">
<h1>재고 수정</h1>
</div>
<hr>
<div class="container" style="text-align: center">
<div class="ulTag">
<div class="row">
<div class="col-12">
<input type="hidden" class="form-control" aria-label="id" id="id" value="${dto.id }" readonly>
<input type='hidden' id="activation" value="1">
<!--제품 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Product_label' class="input-group-text">제품</span>
<input readonly id="stock_pro_name" type="text" class="form-control" placeholder="제품 검색" value="${dto.productName}">
<input hidden name="ProductName" id="product_id" value="${dto.productId}">
<%-- <button id="product_search_button" class="btn-primary btn" onclick="showSearchModals('제품 검색','product_category_company_search')">검색</button>--%>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Category_label' class="input-group-text">카테고리</span>
<input readonly id="stock_category_name" type="text" class="form-control" placeholder="" value="${dto.cls_nm_4}">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Company_name_label' class="input-group-text">제조사</span>
<input readonly id="stock_company_name_name" type="text" class="form-control" placeholder="" value="${dto.company_name}">
</div>
<!--창고 관련 -->
<div class="input-group mb-3 w-40 col-centered">
<span id='Warehouse_label' class="input-group-text">창고</span>
<input readonly id="warehouse_name" type="text" class="form-control" placeholder="창고 검색" value="${dto.company_name}">
<input hidden name="product_id" id="warehouse_id" value="${dto.warehouseId}">
<%-- <button id="Warehouse_search_button" class="btn-primary btn" onclick="showSearchModals('창고 검색','warehouse_capacity_currentCapacity')">검색</button>--%>
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Address_label' class="input-group-text">주소</span>
<input readonly id="Address_name" type="text" class="form-control" placeholder="" value="${dto.address}">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='Capacity_label' class="input-group-text">용적</span>
<input readonly id="Capacity_name" type="text" class="form-control" placeholder="" value="${dto.capacity}">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span id='RemainingCapacity_label' class="input-group-text">재고량 한도</span>
<input readonly id="remainingcapacity" type="text" placeholder="" value="${dto.capacity - dto.current_capacity + dto.quantity}" class="form-control">
</div>
<!--적재할 상품의 재고수-->
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon4">기존 재고량</span>
<input type="text" name="quantity" id="quantity" class="form-control"
placeholder="재고량을 입력하세요" aria-label="재고량" value="${dto.quantity }" readonly
aria-describedby="basic-addon1">
</div>
<div class="input-group mb-3 w-40 col-centered">
<span class="input-group-text" id="basic-addon5">수정 할 재고량</span>
<input type="text" name="quantity" id="quantityAdjustment" class="form-control"
placeholder="재고량을 입력하세요" aria-label="재고량"
aria-describedby="basic-addon1">
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 ">
<div class="w-40 col-centered" style="text-align: right">
<button type="button" class="btn btn-success" id="updateBtn">수정 완료</button>
<button type="button" class="btn btn-secondary" id="cancelBtn">취소</button>
</div>
</div>
</div>
</div>
<script>
function showSearchModals(title, val){
$("#searchModalLabel").text(title);
const data = { name : val};
$.ajax({
type : 'post', // 타입 (get, post, put 등등)
url : '/stock/show_modal', // 요청할 서버url
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
data : data,
success : function(result) { // 결과 성공 콜백함수
$("#search_modal_body").html(result);
searchModalBootStrap.show();
},
error : function(request, status, error) {
alert(error)
}
});
}
$(document).ready(function () {
$("#updateBtn").on("click", function () {
var product_id = $("#product_id").val();
var warehouse_id = $("#warehouse_id").val();
var quantity = $("#quantity").val();
var activation = $("#activation").val();
var remainingcapacity = $("#remainingcapacity").val();
var id = $("#id").val();
var quantityAdjustment = $("#quantityAdjustment").val();
if (!product_id) {
alert("제품을 선택해야 합니다.");
$("#product_id").focus();
return false;
}
if (!warehouse_id) {
alert("적재할 창고를 선택해야 합니다.");
$("#warehouse_id").focus();
return false;
}
if (!quantity) {
alert("재고량를 입력해야 합니다.");
$("#quantity").focus();
return false;
}
if (quantity > remainingcapacity) {
alert("적재 할 재고량이 재고량 한도를 넘을 수 없습니다.");
$("#quantity").focus();
return false;
}
$.ajax({
url: "/stock/update_process",
type: "put",
data: {
"id": id,
"warehouseId": warehouse_id,
"quantity": quantity,
"activation": activation,
"quantityAdjustment": quantityAdjustment
},
datatype: "json"
}).done(function (data) {
if (data == true) {
alert("재고 정보가 수정되었습니다.");
var form = document.createElement("form");
form.action = "/stock/read";
form.method = "POST";
document.body.appendChild(form);
var input = document.createElement("input");
input.type = "hidden";
input.name = "name";
input.value = name;
form.appendChild(input);
form.submit();
window.location.href = "/stock/list";
} else {
alert("재고 정보 수정에 실패하였습니다.");
}
}).fail(function () {
alert("오류가 발생했습니다.");
}).always(function () {
//
});
})
$("#cancelBtn").on("click", function () {
$(location).attr("href", "/stock/list");
})
});
</script>

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,25 +1,26 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>창고 생성</title>
<style>
.body{
.body {
text-align: center;
}
.col-centered{
.col-centered {
margin: 0 auto;
float: none;
}
.col-margin-left-32{
.col-margin-left-32 {
margin-left: 32%;
}
</style>
</head>
<body>
@@ -34,9 +35,10 @@
<div class="col-12" style="text-align: center;">
<-- 세션 만들어지고 value 수정-->
<%-- 세션 만들어지고 value 수정--%>
<input type='hidden' id="managerId" value="e9882095-aeb2-11ee-935d-0242ac110006">
<input type='hidden' id="currentCapacity" value="0">
<input type='hidden' id="activation" value="1">
<div class="input-group mb-3 w-40 col-centered">
@@ -75,28 +77,29 @@
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
$(document).ready(function () {
$("#submitBtn").on("click", function(){
$("#submitBtn").on("click", function () {
var managerId = $("#managerId").val();
var name = $("#name").val();
var capacity = $("#capacity").val();
var address = $("#address").val();
var currentCapacity = $("#currentCapacity").val();
var activation = $("#activation").val();
if(!name){
if (!name) {
alert("창고명을 입력해야 합니다.");
$("#name").focus();
return false;
}
if(!capacity){
if (!capacity) {
alert("중분류를 입력해야 합니다.");
$("#capacity").focus();
return false;
}
if(!address){
if (!address) {
alert("중분류를 입력해야 합니다.");
$("#address").focus();
return false;
@@ -107,14 +110,16 @@
url: "/warehouse/create_process",
type: "post",
data: {
"managerId" : managerId,
"managerId": managerId,
"name": name,
"capacity": capacity,
"address": address
"address": address,
"currentCapacity": currentCapacity,
"activation": activation
},
datatype:"json"
}).done(function(data) {
datatype: "json"
}).done(function (data) {
if (data == true) {
alert("창고가 생성되었습니다.");
@@ -130,27 +135,25 @@
form.appendChild(input);
form.submit();
window.location.href = "/warehouse/list";
} else {
alert("창고 생성에 실패하였습니다.");
}
}).fail(function() {
}).fail(function () {
alert("오류가 발생했습니다.");
}).always(function() {
}).always(function () {
//
});
})
$("#cancelBtn").on("click", function(){
$("#cancelBtn").on("click", function () {
$(location).attr("href", "/warehouse/list");
})
});
</script>

View File

@@ -26,7 +26,7 @@
<div class="row">
<div class="container-fluid">
<div class="col-12">
<form action="list">
<form>
<div class="input-group mb-3 w-30 col-centered">
<div class="w-25">
<select class="form-select" name="searchn" id="searchn">
@@ -62,11 +62,11 @@
</thead>
<tbody>
<c:forEach items="${wlist }" var="dto">
<tr class="detailTr" data-id="${dto.id}">
<td>${start} <c:set var="start" value="${start +1 }"/></td>
<td>${dto.name }</td>
<td>${dto.capacity }</td>
<td>${dto.currentCapacity }</td>
<tr class="detailTr col-4" data-id="${dto.id}">
<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.capacity }</td>
<td class="col-1">${dto.currentCapacity }</td>
</tr>
</c:forEach>
</tbody>
@@ -85,24 +85,29 @@
<c:if test="${begin > pageNum }">
<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>
</c:if>
<c:forEach begin="${begin }" end="${end }" var="i">
<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>
</c:forEach>
<c:if test="${end < totalPages }">
<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>
</c:if>
</ul>
</nav>
</div>
<div class="col-3 text-end">
<button type="button" class="btn btn-primary" onclick="window.location.href='/warehouse/create'">생성</button>
<button type="button" class="btn btn-primary"
onclick="window.location.href='/warehouse/create'">생성
</button>
</div>
</div>
</div>
@@ -135,7 +140,7 @@
});
//검색기능
$("#searchBtn").on("click",function(){
$("#searchBtn").on("click", function () {
var searchn = $("#searchn").val();
var search = $("#search").val();
@@ -169,7 +174,7 @@
});//ready
function pageingFunction(clickedId){
function pageingFunction(clickedId) {
var searchn1 = $("#searchn1").val();
var search1 = $("#search1").val();

View File

@@ -79,7 +79,7 @@
</thead>
<tbody>
<c:forEach items="${wlist }" var="dto">
<tr class="detailTr" data-id="${dto.id}">
<tr class="detailTr">
<td>${start} <c:set var="start" value="${start +1 }"/></td>
<td>${dto.name }</td>
<td>${dto.quantity }</td>
@@ -172,10 +172,10 @@
yesNoModal.yesFunction = deleteCategoryFunction;
yesNoModal.yesFunction = deleteWarehouseFunction;
function deleteCategoryFunction(){
function deleteWarehouseFunction(){
var id = $("#id").val();
$.ajax({
url: "/warehouse/delete",