- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
225 lines
8.3 KiB
Plaintext
225 lines
8.3 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
|
|
<c:set var="oemObjId" value="${projectMap.oem_objid}" />
|
|
<c:set var="carObjId" value="${projectMap.car_objid}" />
|
|
<c:set var="factoryObjId" value="${projectMap.OEM_FACTORY}" />
|
|
|
|
</head>
|
|
<script>
|
|
$(document).ready(function(){
|
|
$("#btn_close").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
if('${projectMap.CFT_TEAM_CD}'!=''){
|
|
optionJobGroup('${projectMap.CFT_TEAM_CD}');
|
|
$("#cft_userid").val('${projectMap.CFT_USERID}');
|
|
}
|
|
|
|
//취소
|
|
$("#btnCancel").click(function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
var params = "?objId="+objId;
|
|
document.form1.action ="/project/projectDetailPopUp.do"+params;
|
|
document.form1.submit();
|
|
});
|
|
|
|
|
|
//SR자료등록 팝업
|
|
$(".File1").click(function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
Swal.fire(objId);
|
|
/* var docType =$(this).attr("data-docType");
|
|
var docTypeName = $(this).attr("data-docTypeName");
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName;
|
|
window.open("/projectConcept/FileRegistPopup.do"+params, "", "width=800, height=335"); */
|
|
});
|
|
|
|
$("#part_weight").keyup(function(event) {
|
|
|
|
var scrap_loss = parseFloat($("#scrap_loss").val());
|
|
var resin_price = parseFloat($("#resin_price").val());
|
|
var part_weight = parseFloat($("#part_weight").val());
|
|
|
|
|
|
$.ajax({
|
|
url:"/project/getSrRate.do",
|
|
type:"POST",
|
|
data:{"part_weight":part_weight},
|
|
dataType:"json",
|
|
success:function(data){
|
|
/* Swal.fire(data.sr_rate); */
|
|
$("#sr_rate").val(data.sr_rate);
|
|
|
|
$("#sr_weight").val(($("#sr_rate").val() * $("#part_weight").val())/100);
|
|
var sr_weight = parseFloat($("#sr_weight").val());
|
|
|
|
if("" != scrap_loss && "" != resin_price && "" != sr_weight){
|
|
var sr_price = ((scrap_loss/100)+1) *resin_price*sr_weight/1000
|
|
$("#sr_price").val(sr_price);
|
|
}
|
|
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
if("" != scrap_loss && "" != resin_price && "" != part_weight){
|
|
var part_price = (resin_price*(1+(scrap_loss/100))*part_weight)/1000
|
|
$("#part_price").val(part_price);
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
$("#scrap_loss").keyup(function(event) {
|
|
var scrap_loss = parseFloat($("#scrap_loss").val());
|
|
var resin_price = parseFloat($("#resin_price").val());
|
|
var part_weight = parseFloat($("#part_weight").val());
|
|
var sr_weight = parseFloat($("#sr_weight").val());
|
|
if("" != scrap_loss && "" != resin_price && "" != part_weight){
|
|
var part_price = (resin_price*(1+(scrap_loss/100))*part_weight)/1000
|
|
$("#part_price").val(part_price);
|
|
}
|
|
|
|
if("" != scrap_loss && "" != resin_price && "" != sr_weight){
|
|
var sr_price =((scrap_loss/100)+1) *resin_price*sr_weight/1000
|
|
$("#sr_price").val(sr_price);
|
|
}
|
|
|
|
});
|
|
$("#resin_price").keyup(function(event) {
|
|
var scrap_loss = parseFloat($("#scrap_loss").val());
|
|
var resin_price = parseFloat($("#resin_price").val());
|
|
var part_weight = parseFloat($("#part_weight").val());
|
|
var sr_weight = parseFloat($("#sr_weight").val());
|
|
if("" != scrap_loss && "" != resin_price && "" != part_weight){
|
|
var part_price = (resin_price*(1+(scrap_loss/100))*part_weight)/1000
|
|
$("#part_price").val(part_price);
|
|
}
|
|
|
|
if("" != scrap_loss && "" != resin_price && "" != sr_weight){
|
|
var sr_price =((scrap_loss/100)+1) *resin_price *sr_weight/1000
|
|
$("#sr_price").val(sr_price);
|
|
}
|
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
//수주활동 등록정보 수정
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
if(confirm("저장하시겠습니까?")){
|
|
saveProcess();
|
|
}
|
|
}
|
|
}
|
|
|
|
function saveProcess(){
|
|
$.ajax({
|
|
url:"/project/saveMaterialcost.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.RESULT.msg);
|
|
opener.location.reload();
|
|
self.close();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objId" id="objId" value="${info.objid}">
|
|
<input type="hidden" name="target_objid" id="target_objid" value="${param.objId}">
|
|
<section class="business_popup_min_width">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>재료비 등록</span>
|
|
</h2>
|
|
</div>
|
|
<div class="plm_table_wrap">
|
|
<div>
|
|
<!-- <div style="width:100%;">
|
|
<div style="overflow-y:scroll; height:500px;"> -->
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="10%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>PART NAME</td>
|
|
<td>photo</td>
|
|
<td>Process</td>
|
|
<td>Material</td>
|
|
<td>SCRAP/LOSS</td>
|
|
<td>Grade</td>
|
|
<td>Source</td>
|
|
<td>RESIN <br>Price(KRW/KG)</td>
|
|
<td>Part <br>Weight( gram )</td>
|
|
<td>SR RATE(%)</td>
|
|
<td>SR Weight<br>( gram )</td>
|
|
<td>제품중량 금액</td>
|
|
<td>SR 중량 금액</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><input type="text" id="part_name" name="part_name" value="${info.PART_NAME}"></td>
|
|
<td><input type="text" id="photo" name="photo" value="${info.PHOTO}"></td>
|
|
<td><input type="text" id="process" name="process" value="${info.PROCESS}"></td>
|
|
<td><input type="text" id="material" name="material" value="${info.MATERIAL}" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="scrap_loss" name="scrap_loss" value="${info.SCRAP_LOSS}" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="grade" name="grade" value="${info.GRADE}"></td>
|
|
<td><input type="text" id="source" name="source" value="${info.SOURCE}"></td>
|
|
<td><input type="text" id="resin_price" name="resin_price" value="${info.RESIN_PRICE}" required reqTitle="resin_price" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="part_weight" name="part_weight" value="${info.PART_WEIGHT}" required reqTitle="part_weight" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="sr_rate" name="sr_rate" value="${info.SR_RATE}" required reqTitle="sr_rate" readonly="readonly" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="sr_weight" name="sr_weight" value="${info.SR_WEIGHT}" required reqTitle="sr_weight" readonly="readonly" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="part_price" name="part_price" value="${info.PART_PRICE}" required reqTitle="제품중량금액" readonly="readonly" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="sr_price" name="sr_price" value="${info.SR_PRICE}" required reqTitle="SR중량금액" readonly="readonly" style="background-color: #26f926;"></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_wrap" style="clear:both;">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="저장" class="plm_btns" onclick="javascript:fn_save();">
|
|
<input type="button" value="닫기" class="plm_btns" onclick="javascript:self.close(0);">
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |