- 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
326 lines
14 KiB
Plaintext
326 lines
14 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"); */
|
|
});
|
|
|
|
$("#inj_ton").keyup(function(event) {
|
|
var inj_ton = parseFloat($("#inj_ton").val());
|
|
|
|
|
|
$.ajax({
|
|
url:"/project/getMachine_time.do",
|
|
type:"POST",
|
|
data:{"inj_ton":inj_ton},
|
|
dataType:"json",
|
|
success:function(data){
|
|
/* Swal.fire(data.second); */
|
|
$("#machine_time").val(data.second);
|
|
if("" != $("#machine_time").val() && "" != $("#injection_ct").val() && "" != $("#cooling_time").val()){
|
|
$("#total_cooling_time").val(parseFloat($("#machine_time").val()) + parseFloat($("#injection_ct").val()) + parseFloat($("#cooling_time").val()))
|
|
Setinjection_labor()
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
});
|
|
$("#shot_ct").keyup(function(event) {
|
|
cooling_time()
|
|
});
|
|
$("#gram_thickness").keyup(function(event) {
|
|
cooling_time()
|
|
});
|
|
$("#equip_coefficient").keyup(function(event) {
|
|
cooling_time()
|
|
});
|
|
$("#mold_coefficient").keyup(function(event) {
|
|
cooling_time()
|
|
});
|
|
|
|
|
|
$("#cav").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
$("#labor_wage_rate").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
$("#injection_setup_time").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
$("#injection_setup_person").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
$("#lot").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
$("#et").keyup(function(event) {
|
|
Setinjection_labor()
|
|
});
|
|
|
|
$("#expense").keyup(function(event) {
|
|
Setinjection_expense()
|
|
});
|
|
$("#injection_exp").keyup(function(event) {
|
|
Setinjection_expense()
|
|
});
|
|
|
|
|
|
});
|
|
|
|
function cooling_time(){
|
|
var shot_ct = parseFloat($("#shot_ct").val());
|
|
var gram_thickness = parseFloat($("#gram_thickness").val());
|
|
var equip_coefficient = parseFloat($("#equip_coefficient").val());
|
|
var mold_coefficient = parseFloat($("#mold_coefficient").val());
|
|
|
|
if("" != shot_ct && "" != gram_thickness && "" != equip_coefficient && "" != mold_coefficient){
|
|
var cooling_time =Math.round(shot_ct * Math.pow(gram_thickness, 2)*equip_coefficient*mold_coefficient *100) /100
|
|
$("#cooling_time").val(cooling_time);
|
|
|
|
if("" != $("#machine_time").val() && "" != $("#injection_ct").val() && "" != $("#cooling_time").val()){
|
|
$("#total_cooling_time").val(parseFloat($("#machine_time").val()) + parseFloat($("#injection_ct").val()) + parseFloat($("#cooling_time").val()))
|
|
Setinjection_labor()
|
|
Setinjection_expense()
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
function Setinjection_labor(){
|
|
var total_cooling_time = parseFloat($("#total_cooling_time").val());
|
|
var et = parseFloat($("#et").val());
|
|
var cav = parseFloat($("#cav").val());
|
|
var injection_setup_time = parseFloat($("#injection_setup_time").val());
|
|
var lot = parseFloat($("#lot").val());
|
|
var labor_wage_rate = parseFloat($("#labor_wage_rate").val());
|
|
var injection_setup_person = parseFloat($("#injection_setup_person").val());
|
|
|
|
|
|
if("" != total_cooling_time && "" != et && "" != cav && "" != injection_setup_time && "" != lot && "" != labor_wage_rate && "" != injection_setup_person){
|
|
var injection_labor =Math.round((((total_cooling_time*(1+(et/100)))/cav) + injection_setup_time*60/lot)*labor_wage_rate/3600*injection_setup_person*100)/100
|
|
/* Swal.fire("injection_labor " + injection_labor); */
|
|
/* Swal.fire("lot"+lot); */
|
|
$("#injection_labor").val(injection_labor);
|
|
}
|
|
}
|
|
|
|
function Setinjection_expense(){
|
|
var total_cooling_time = parseFloat($("#total_cooling_time").val());
|
|
var et = parseFloat($("#et").val());
|
|
var cav = parseFloat($("#cav").val());
|
|
var injection_setup_time = parseFloat($("#injection_setup_time").val());
|
|
var lot = parseFloat($("#lot").val());
|
|
var expense = parseFloat($("#expense").val());
|
|
var injection_exp = parseFloat($("#injection_exp").val());
|
|
var injection_setup_person = parseFloat($("#injection_setup_person").val());
|
|
|
|
|
|
if("" != total_cooling_time && "" != et && "" != cav && "" != injection_setup_time && "" != lot && "" != expense && "" != injection_exp && "" != injection_setup_person){
|
|
var injection_expense =Math.round((((total_cooling_time*(1+(et/100)))/cav) + injection_setup_time*60/lot)*expense*(1+(injection_exp/100))/3600*injection_setup_person*100)/100
|
|
/* Swal.fire("injection_labor " + injection_labor); */
|
|
/* Swal.fire("lot"+lot); */
|
|
$("#injection_expense").val(injection_expense);
|
|
}
|
|
}
|
|
|
|
|
|
//수주활동 등록정보 수정
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
if(confirm("저장하시겠습니까?")){
|
|
saveProcess();
|
|
}
|
|
}
|
|
}
|
|
|
|
function saveProcess(){
|
|
$.ajax({
|
|
url:"/project/saveInjectionCost.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>사출비 등록1 23${info.INJECTION_CT}</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%">
|
|
<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>Material Spec</td>
|
|
<td>Grade</td>
|
|
<td>Source</td>
|
|
<td>RM <br>Price(KRW/KG)</td>
|
|
<td>Part <br>Weight( gram )</td>
|
|
<td>SR RATE(%)</td>
|
|
|
|
<td>SR Weight<br>( gram )</td>
|
|
|
|
<td>INJ TON</td>
|
|
<td>CAV</td>
|
|
<td>기계작동시간</td>
|
|
|
|
<td>사출C/T</td>
|
|
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><input type="text" id="part_name" name="part_name" value="${info.PART_NAME}" readonly></td>
|
|
<td><input type="text" id="photo" name="photo" value="${info.PHOTO}" readonly></td>
|
|
<td><input type="text" id="process" name="process" value="${info.PROCESS}" readonly></td>
|
|
<td><input type="text" id="material" name="material" value="${info.MATERIAL}" readonly></td>
|
|
<td><input type="text" id="material_spec" name="material_spec" value="${info.MATERIAL_SPEC}"></td>
|
|
|
|
<td><input type="text" id="grade" name="grade" value="${info.GRADE}" readonly></td>
|
|
<td><input type="text" id="source" name="source" value="${info.SOURCE}" readonly></td>
|
|
<td><input type="text" id="rmprice" name="rmprice" value="${info.RESIN_PRICE}" readonly></td>
|
|
|
|
<td><input type="text" id="partweight" name="partweight" value="${info.PART_WEIGHT}" readonly></td>
|
|
<td><input type="text" id="sr_rate" name="sr_rate" value="${info.SR_RATE}" readonly></td>
|
|
<td><input type="text" id="sr_rate_gram" name="sr_rate_gram" value="${info.SR_WEIGHT}" readonly></td>
|
|
|
|
<td><input type="text" id="inj_ton" name="inj_ton" value="${info.INJ_TON}" required reqTitle="inj_ton" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="cav" name="cav" value="${info.CAV}" required reqTitle="cav" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="machine_time" name="machine_time" value="${info.MACHINE_TIME}" required reqTitle="machine_time" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="injection_ct" name="injection_ct" value="${info.INJECTION_CT}" required reqTitle="injection_ct"></td>
|
|
|
|
</tr>
|
|
<tr class="plm_thead">
|
|
<td>Shot 당 <br>기본냉각 C/T</td>
|
|
<td>중량별 최대두께</td>
|
|
<td>장비별 계수</td>
|
|
<td>성형깊이 계수</td>
|
|
<td>냉각 C/T</td>
|
|
|
|
<td>총 C/T<br>(사출C/T+냉각C/T)</td>
|
|
<td>노무임율</td>
|
|
<td>경비(사출기) 임율</td>
|
|
<td>사출 SET UP<br>준비시간(Min)</td>
|
|
<td>사출 SET UP<br>준비인원</td>
|
|
<td>LOT 수량</td>
|
|
<td>ET 율(EXCEPTION TIME)</td>
|
|
<td>사출가동율<br>(IND EXP)</td>
|
|
<td>사출<br>노무비 금액</td>
|
|
<td>사출<br>경비 금액</td>
|
|
</tr>
|
|
<tr>
|
|
<td><input type="text" id="shot_ct" name="shot_ct" value="${info.SHOT_CT}" required reqTitle="shot_ct"></td>
|
|
|
|
<td><input type="text" id="gram_thickness" name="gram_thickness" value="${info.GRAM_THICKNESS}" required reqTitle="gram_thickness" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="equip_coefficient" name="equip_coefficient" value="${info.EQUIP_COEFFICIENT}" required reqTitle="equip_coefficient" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="mold_coefficient" name="mold_coefficient" value="${info.MOLD_COEFFICIENT}" required reqTitle="mold_coefficient" style="background-color: yellow;"></td>
|
|
|
|
<td><input type="text" id="cooling_time" name="cooling_time" value="${info.COOLING_TIME}" required reqTitle="cooling_time" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="total_cooling_time" name="total_cooling_time" value="${info.TOTAL_COOLING_TIME}" required reqTitle="total_cooling_time" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="labor_wage_rate" name="labor_wage_rate" value="${info.LABOR_WAGE_RATE}" required reqTitle="labor_wage_rate" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="expense" name="expense" value="${info.EXPENSE}" required reqTitle="expense" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="injection_setup_time" name="injection_setup_time" value="${info.INJECTION_SETUP_TIME}" required reqTitle="injection_setup_time" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="injection_setup_person" name="injection_setup_person" value="${info.INJECTION_SETUP_PERSON}" required reqTitle="injection_setup_person" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="lot" name="lot" value="${info.LOT}" required reqTitle="lot" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="et" name="et" value="${info.ET}" required reqTitle="et" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="injection_exp" name="injection_exp" value="${info.INJECTION_EXP}" required reqTitle="injection_exp" style="background-color: yellow;"></td>
|
|
<td><input type="text" id="injection_labor" name="injection_labor" value="${info.INJECTION_LABOR}" required reqTitle="injection_labor" style="background-color: #26f926;"></td>
|
|
<td><input type="text" id="injection_expense" name="injection_expense" value="${info.INJECTION_EXPENSE}" required reqTitle="injection_expense" 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> |