mirror of
https://github.com/suhf/No1WMS.git
synced 2026-02-05 12:13:33 +09:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
<%@ 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>
|
||||
@@ -22,25 +23,84 @@
|
||||
<div class="ulTag">
|
||||
<div class="row">
|
||||
<div class="col-12" style="text-align: center;">
|
||||
|
||||
<!-- 제품명 -->
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon1">제품명</span>
|
||||
<input type="text" name="productName" id="productName" class="form-control"
|
||||
placeholder="제품명을 검색하세요" aria-label="제품명" value="${dto.productDto.name }"
|
||||
aria-describedby="basic-addon1" readonly>
|
||||
<button class="btn btn-outline-secondary rounded-end" id="searchProductName"
|
||||
style="background-color:#FF5E5E;" type="button" onclick="showSearchModal('제품 검색','product')" >검색</button>
|
||||
style="background-color:#FF5E5E;" type="button" onclick="showSearchModal_product('제품 검색','product')" >검색</button>
|
||||
<input type='hidden' id="product_id" value="">
|
||||
|
||||
</div>
|
||||
<!-- 설명만 있는 입력 -->
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon2">가격</span>
|
||||
<input type="number" name="price" id="price" class="form-control"
|
||||
placeholder="가격을 입력하세요" aria-label="가격" value="${dto.price }"
|
||||
aria-describedby="basic-addon1" disable><!-- 여기서부터 작업 -->
|
||||
<span id='company_name_span' class="input-group-text">회사명</span>
|
||||
<input readonly id="company_name" type="text" class="form-control" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='cls_Nm_4_span' class="input-group-text">분류</span>
|
||||
<input readonly id="cls_Nm_4" type="text" class="form-control" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='vendor_name_span' class="input-group-text">거래처</span>
|
||||
<input readonly id="vendor_name" type="text" placeholder="" value="" class="form-control">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 수량 -->
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon2">수량</span>
|
||||
<input type="number" name="quantity" id="quantity" class="form-control"
|
||||
placeholder="수량을 입력하세요" aria-label="수량" value="${dto.quantity }"
|
||||
aria-describedby="basic-addon1">
|
||||
</div>
|
||||
<!-- 창고명 -->
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon1">창고명</span>
|
||||
<input type="text" name="warehouse_name" id="warehouse_name" class="form-control"
|
||||
placeholder="창고를 검색하세요" aria-label="창고명" value="${dto.warehouseDto.name }"
|
||||
aria-describedby="basic-addon1" readonly>
|
||||
<button class="btn btn-outline-secondary rounded-end" id="searchWarehouseName"
|
||||
style="background-color:#FF5E5E;" type="button" onclick="showSearchModal_warehouse('창고 검색','warehouse_capacity_currentCapacity')" >검색</button>
|
||||
<input type='hidden' id="warehouse_id" value="">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='address_span' 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_span' 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_span' class="input-group-text">잔여 용량</span>
|
||||
<input readonly id="remainingcapacity" type="text" placeholder="" value="" class="form-control">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon3">입고날짜</span>
|
||||
<fmt:formatDate value="${dto.in_date}" pattern="yyyy-MM-dd HH:mm:ss" type="date" var="formattedDate" />
|
||||
<input type="datetime-local" id="in_date" name="in_date" class="form-control"
|
||||
placeholder="날짜을 입력하세요" aria-label="입고날짜" value="${formattedDate}"
|
||||
aria-describedby="basic-addon1">
|
||||
</div>
|
||||
|
||||
|
||||
<c:set var="userData" value="${sessionScope.userData}" />
|
||||
<input type='hidden' id="manager_id" value="${userData.id }">
|
||||
</div>
|
||||
@@ -49,7 +109,7 @@
|
||||
<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-success" id="submitBtn">추가</button>
|
||||
<button type="button" class="btn btn-secondary" id="cancelBtn">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -58,8 +118,107 @@
|
||||
</div>
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("#cancelBtn").on("click", function(){
|
||||
$(location).attr("href", "/in/list");
|
||||
|
||||
})//cancelBtn
|
||||
|
||||
$("#submitBtn").on("click",function(){
|
||||
var product_id = $("#product_id").val();
|
||||
var quantity = $("#quantity").val();
|
||||
var warehouse_id = $("#warehouse_id").val();
|
||||
var in_date = $("#in_date").val();
|
||||
var manager_id = $("#manager_id").val();
|
||||
|
||||
|
||||
if(!product_id){
|
||||
alert("제품을 선택해야합니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!quantity){
|
||||
alert("수량을 입력해야 합니다.");
|
||||
$("#quantity").focus();
|
||||
return false;
|
||||
}
|
||||
if(!warehouse_id){
|
||||
alert("창고을 선택해야합니다.");
|
||||
return false;
|
||||
}
|
||||
if(!in_date){
|
||||
in_date = new Date();
|
||||
}
|
||||
|
||||
const data = {
|
||||
product_id : product_id,
|
||||
quantity : quantity,
|
||||
in_date : in_date,
|
||||
manager_id : manager_id,
|
||||
warehouse_id : warehouse_id
|
||||
}
|
||||
|
||||
|
||||
$.ajax({
|
||||
url: "/in/create_process",
|
||||
type: "post",
|
||||
data: data,
|
||||
datatype:"json"
|
||||
}).done(function(data) {
|
||||
if (data == true) {
|
||||
alert("입고을 추가했습니다.");
|
||||
$(location).attr("href", "/price/list");
|
||||
} else {
|
||||
alert("입고 추가에 실패하였습니다.");
|
||||
}
|
||||
}).fail(function() {
|
||||
alert("오류가 발생했습니다.");
|
||||
}).always(function() {
|
||||
//
|
||||
});
|
||||
|
||||
});//submitBtn
|
||||
});//ready
|
||||
|
||||
|
||||
function showSearchModal_product(title, val){
|
||||
$("#searchModalLabel").text(title);
|
||||
const data = { name : val};
|
||||
$.ajax({
|
||||
type : 'post', // 타입 (get, post, put 등등)
|
||||
url : '/in/show_modal_product', // 요청할 서버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)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function showSearchModal_warehouse(title, val){
|
||||
$("#searchModalLabel").text(title);
|
||||
const data = { name : val};
|
||||
$.ajax({
|
||||
type : 'post', // 타입 (get, post, put 등등)
|
||||
url : '/in/show_modal_warehouse', // 요청할 서버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>
|
||||
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<th>가격</th>
|
||||
<th>수량</th>
|
||||
<th>입고예정그룹번호</th>
|
||||
<th>창고이름</th>
|
||||
<th>입고날짜</th>
|
||||
<th>담당자</th>
|
||||
</tr>
|
||||
@@ -59,7 +60,13 @@
|
||||
<td>${dto.productDto.name }</td>
|
||||
<td>${dto.latest_price }</td>
|
||||
<td>${dto.quantity }</td>
|
||||
<td>${dto.planInDto.viewGroupNumber }</td>
|
||||
<c:if test="${not empty dto.planInDto.viewGroupNumber}">
|
||||
<td>${dto.planInDto.viewGroupNumber}</td>
|
||||
</c:if>
|
||||
<c:if test="${empty dto.planInDto.viewGroupNumber}">
|
||||
<td></td>
|
||||
</c:if>
|
||||
<td>${dto.warehouseDto.name }</td>
|
||||
<td><fmt:formatDate value="${dto.in_date}" pattern="yyyy-MM-dd" type="date"/></td>
|
||||
<td>${dto.accountDto.name }</td>
|
||||
</tr>
|
||||
|
||||
@@ -8,9 +8,16 @@
|
||||
const $tag = $(tag);
|
||||
const tid = $tag.data('tid');
|
||||
const name = $tag.data('tname');
|
||||
const company_name = $tag.data('tcompany_name');
|
||||
const cls_nm_4 = $tag.data('tcls_nm_4');
|
||||
const vendor_name = $tag.data('tvendor_name');
|
||||
|
||||
|
||||
$("#productName").val(name);
|
||||
$("#product_id").val(tid);
|
||||
$("#company_name").val(company_name);
|
||||
$("#cls_Nm_4").val(cls_nm_4);
|
||||
$("#vendor_name").val(vendor_name);
|
||||
hideSearchModal();
|
||||
}//onSelect
|
||||
|
||||
@@ -119,7 +126,7 @@
|
||||
<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>
|
||||
<td><button data-tid="${dto.id}" data-tname="${dto.name}" data-tcompany_name="${dto.company_name }" data-tcls_nm_4="${dto.categoryDto.cls_nm_4 }" data-tvendor_name="${dto.vendorDto.name }"class="btn btn-primary" onclick="onSelect(this)">선택</button></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
|
||||
@@ -38,7 +38,23 @@
|
||||
<input type='hidden' id="product_id" value="">
|
||||
|
||||
</div>
|
||||
<!-- 설명만 있는 입력 -->
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='company_name_span' class="input-group-text">회사명</span>
|
||||
<input readonly id="company_name" type="text" class="form-control" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='cls_Nm_4_span' class="input-group-text">분류</span>
|
||||
<input readonly id="cls_Nm_4" type="text" class="form-control" placeholder="">
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span id='vendor_name_span' class="input-group-text">거래처</span>
|
||||
<input readonly id="vendor_name" type="text" placeholder="" value="" class="form-control">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
<span class="input-group-text" id="basic-addon2">가격</span>
|
||||
<input type="number" name="price" id="price" class="form-control"
|
||||
@@ -72,8 +88,8 @@ $(document).ready(function() {
|
||||
$("#submitBtn").on("click", function(){
|
||||
|
||||
var price = $("#price").val();
|
||||
var manager_id = $("#manager_id").val();// 수정해야함.
|
||||
var product_id = $("#product_id").val();// 수정해야함.
|
||||
var manager_id = $("#manager_id").val();
|
||||
var product_id = $("#product_id").val();
|
||||
|
||||
if(!price){
|
||||
alert("가격을 입력해야 합니다.");
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<div class="mt-5 mb-5 text-center">
|
||||
|
||||
<div class="row">
|
||||
<h1>제품 상세페이지</h1>
|
||||
<h1>제품 가격 상세페이지</h1>
|
||||
<div class="col-10" style="text-align: right;">
|
||||
<button type="button" class="btn btn-danger" onclick="goDelete()">삭제</button>
|
||||
</div>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
<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>
|
||||
<button id="Warehouse_search_button" class="btn-primary btn" onclick="showSearchModals2('창고 검색','warehouse_capacity_currentCapacity')">검색</button>
|
||||
</div>
|
||||
|
||||
<div class="input-group mb-3 w-40 col-centered">
|
||||
@@ -102,6 +102,26 @@
|
||||
});
|
||||
}
|
||||
|
||||
function showSearchModals2(title, val){
|
||||
$("#searchModalLabel").text(title);
|
||||
const data = { name : val};
|
||||
var product_id = $("#product_id").val();
|
||||
|
||||
$.ajax({
|
||||
type : 'post', // 타입 (get, post, put 등등)
|
||||
url : '/stock/show_modal', // 요청할 서버url
|
||||
dataType : 'html', // 데이터 타입 (html, xml, json, text 등등)
|
||||
data : product_id,data,
|
||||
success : function(result) { // 결과 성공 콜백함수
|
||||
$("#search_modal_body").html(result);
|
||||
searchModalBootStrap.show();
|
||||
},
|
||||
error : function(request, status, error) {
|
||||
alert(error)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
<th>제품명</th>
|
||||
<th>카테고리</th>
|
||||
<th>재고수</th>
|
||||
<th>창고</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -85,6 +86,7 @@
|
||||
<td class="col-1">${dto.productName }</td>
|
||||
<td class="col-1">${dto.cls_nm_4 }</td>
|
||||
<td class="col-1">${dto.quantity}</td>
|
||||
<td class="col-1">${dto.warehouseName}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
@@ -96,7 +98,8 @@
|
||||
<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>
|
||||
<button type="button" class="btn btn-success" id="downlodeStockForm">서식 다운로드</button>
|
||||
<button type="button" class="btn btn-success" id="downlodeExcelList">리스트 다운로드</button>
|
||||
</div>
|
||||
<div class="col-6 d-flex justify-content-center">
|
||||
<nav>
|
||||
@@ -192,7 +195,8 @@
|
||||
<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>
|
||||
<button type="button" class="btn btn-success" id="downlodeStockForm2">서식 다운로드</button>
|
||||
<button type="button" class="btn btn-success" id="downlodeExcelList2">리스트 다운로드</button>
|
||||
</div>
|
||||
<div class="col-6 d-flex justify-content-center">
|
||||
<nav>
|
||||
@@ -241,8 +245,23 @@
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
//POST방식으로 create폼화면 출력
|
||||
$("#downlodeStockForm,downlodeStockForm2").on("click",function(){
|
||||
var form = document.createElement("form");
|
||||
form.action = "/stock/downloadStockForm";
|
||||
form.method = "GET";
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
});
|
||||
|
||||
$("#downlodeExcelList,downlodeExcelList2").on("click",function(){
|
||||
var form = document.createElement("form");
|
||||
form.action = "/stock/downloadExcelList";
|
||||
form.method = "GET";
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
});
|
||||
|
||||
//POST방식으로 create폼화면 출력
|
||||
//탭 1 생성 버튼
|
||||
$("#createButton").on("click", function () {
|
||||
var form = document.createElement("form");
|
||||
|
||||
@@ -142,9 +142,9 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (quantity > remainingcapacity) {
|
||||
if (quantityAdjustment > remainingcapacity) {
|
||||
alert("적재 할 재고량이 재고량 한도를 넘을 수 없습니다.");
|
||||
$("#quantity").focus();
|
||||
$("#quantityAdjustment").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -115,6 +115,14 @@
|
||||
form.submit();
|
||||
});
|
||||
|
||||
$("#downlodeExcelList").on("click",function(){
|
||||
var form = document.createElement("form");
|
||||
form.action = "/vendor/downlodeExcelList";
|
||||
form.method = "GET";
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
});
|
||||
|
||||
//POST방식으로 create폼화면 출력
|
||||
$("#createButton").on("click",function(){
|
||||
var form = document.createElement("form");
|
||||
|
||||
Reference in New Issue
Block a user