<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="org.apache.commons.lang.StringUtils"%>
<%@page import="com.oletech.triangle.utils.TriangleUIHelper"%>
<%@page import="com.oletech.triangle.utils.TriangleDefinition"%>
<%@page import="com.oletech.triangle.component.*"%>
<%@page import="com.oletech.triangle.pojo.*"%>
<%@page import="com.oletech.triangle.utils.*"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
DataBean paramDataBean = (DataBean) request.getAttribute("paramDataBean");
TableBean inspectMaterialRelativeTableBean = paramDataBean.getTableBean("inspectMaterialRelativeTableBean");//根据暂收,暂收明细 显示到材料检验列表
FormBean queryParamFormBean = paramDataBean.getFormBean("queryParamFormBean");
String purchNo = queryParamFormBean.getCellBeanValue("purchNo");
String receiptNo = queryParamFormBean.getCellBeanValue("receiptNo");
String vendName = queryParamFormBean.getCellBeanValue("vendName");
String purchTableId = queryParamFormBean.getCellBeanValue("purchTableId");
String receiveTableId = queryParamFormBean.getCellBeanValue("receiveTableId");
//多国语
String search_purchaseNo = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.purchaseNo");
String search_vendors = TriangleUIHelper.getMessageResources(request, "oletech.triangle.multilanguage.title.vendTable");
String search_vendName = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.vendors");
String search_deliveryDate = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.deliveryDate");
String search_receiveNo = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.receiveNo");
String title_receiveNo = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.receiveNo");
String title_vendorsName = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.vendorsName");
String title_materialNo = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.materialNo");
String title_materialName = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.materialName");
String title_unit = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.unit");
String title_trailerMessage = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.trailerMessage");//预告信息
String title_trailerQty = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.trailerQty");//预告数量
String title_iqcDate = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.iqcDate");//检验日期
String title_receiveQuantity = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.receiveQuantity");//收料数量
String title_checkQualifiedQuantity = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.checkQualifiedQuantity");//检验合格量
String title_noOkQty = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.noOkQty");//不合格数量
String title_freePayQty = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.freePayQty");//折补数量
String title_unqualifiedCause = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.unqualifiedCause");//不合格原因
String title_iqcWay = TriangleUIHelper.getMessageResources(request, "oletech.triangle.multilanguage.title.checkMehtod");//检验方式
String title_index = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.index");
String button_search = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.button.search");
String title_remark = TriangleUIHelper.getMessageResources(request,"oletech.triangle.multilanguage.title.note"); //by Walter 马隆记 2016/11/03
int height = 25;
int fixRowNum = inspectMaterialRelativeTableBean.size();//固定20行显示(包括表头),超过20行滚动条
if(fixRowNum > 20){
fixRowNum = 20;
}
int fixHeight = (10)*height;
%>
<script type="text/javascript">
//固定表头,列
function changeDivSize() {
var screenWidth = parseInt(document.body.offsetWidth);
var A_xFirstDivWidth = parseInt(document.getElementById('A_xFirstDiv').style.width);
var A_xFirstDivHeight = parseInt(document.getElementById('A_xFirstDiv').style.height);
var curAvailableDivWidth = (screenWidth*92/100)-A_xFirstDivWidth;
var curAvailableDivHeight = parseFloat("<%=fixHeight%>");
document.getElementById('scrollTitle').style.width = curAvailableDivWidth;
document.getElementById('A_xDiv').style.width = curAvailableDivWidth;
document.getElementById('A_xyDiv').style.width = curAvailableDivWidth+16;
document.getElementById('A_xyDiv').style.height = curAvailableDivHeight +18;
document.getElementById('A_xyFirstDiv').style.height = curAvailableDivHeight+1;
}
//文档加载,控制table
$(function() {
changeDivSize();
});
//生成检验单
function saveInspectOrderFunc(){
if(validateChooseRecord()) {
if(validateSearchConditionIsNotEmpty()) {
if(validateInspectQty()) {
$("#dynbean").attr("action","<%= path %>/materialsWarehouse/newInspectMaterial.do");
$("#dynbean").submit();
$("#saveButton").attr("disabled",true);
}
}
} else {
var key = "oletech.triangle.multilanguage.alert.notChooseRecord";
showMessageFunc(key);
}
}
//必须勾选保存
function validateChooseRecord() {
var flag = true
var chooseRecordObj = $("#inspectMaterialTrailerBodyLeft input[type='checkbox']:checked");
if(chooseRecordObj.length == 0) {
flag = false;
var key = "oletech.triangle.multilanguage.alert.notChooseRecord";
showMessageFunc(key);
}
return flag;
}
//若校验合格数量 + 不合格数量 + 折补数量 = 暂收数量,进行提交操作
function validateInspectQty() {
var flag = true;
$("#inspectMaterialTrailerBodyLeft tr td input[type='checkbox'][id^='primaryId_']:checked").each(function() {
var startIndex = $(this).attr("id").indexOf("_");
var index = $(this).attr("id").substring(startIndex + 1);
//暂收数量
var inventQty = $("#inventQty_"+index).text();
//不合格数量
var noOkQty = $("#noOkQty_"+index).val();
//合格数量
var okQty = $("#okQty_"+index).val();
//折补数量
var freePayQty = $("#freePayQty_"+index).val();
//调整数量和
var adjustSumQty = noOkQty * 1 + okQty * 1 + freePayQty * 1;
if(inventQty * 1 > adjustSumQty.toFixed(4) * 1) {
flag = false;
var key = "oletech.triangle.multilanguage.alert.receiveQtyInspectNotFinished";
showMessageFunc(key);
return flag;
}
});
return flag;
}
//必填项不允许为空
function validateSearchConditionIsNotEmpty() {
var flag = false
var purchTableId = $("#hidden_purchTableId").val();
var receiveTableId = $("#hidden_receiveTableId").val();
if(purchTableId != "" | receiveTableId != "") {
flag = true;
} else {
flag = false;
var key = "oletech.triangle.multilanguage.alert.searchConditionNotEmpty";
showMessageFunc(key);
}
return flag;
}
//采购单回调执行查询功能
function openpageFunction_callback_purchTableId() {
searchInspectMaterialTrailerFunc();
}
//材料暂收单回调执行查询功能
function openpageFunction_callback_receiveTableId() {
searchInspectMaterialTrailerFunc();
}
//查询产生检验单预告信息
function searchInspectMaterialTrailerFunc() {
var purchaseId = $("#purchNo").val();
var receiveId = $("#receiptNo").val();
if(purchaseId != "" | receiveId != "") {
$("#dynbean").attr("action","<%=path%>/materialsWarehouse/inspectMaterialList.do");
$("#dynbean").submit();
} else {
var key = "oletech.triangle.multilanguage.alert.searchConditionNotEmpty";
showMessageFunc(key);
}
}
//选中所有
function selectAllOrderFunc() {
var selectedAll = $("#all").attr("checked");
if(selectedAll == "checked") {
$("#inspectMaterialTrailerBodyLeft tr td input[type='checkbox']").each(function() {
$(this).attr("checked",true);
});
} else {
$("#inspectMaterialTrailerBodyLeft tr td input[type='checkbox']").each(function() {
$(this).removeProp("checked");
});
}
}
//文档加载事务
$(function() {
//不合格数量栏位绑定change Event 暂收数量 = 检验合格数量 + 不合格数量(改变) + 折补数量
$("#inspectMaterialTrailerBodyRight tr td").delegate("input[type='text'][id^='noOkQty_']","change",function() {
var startIndex = $(this).attr("id").indexOf("_");
var index = $(this).attr("id").substring(startIndex + 1);
//暂收数量
var inventQty = $("#inventQty_"+index).text();
//不合格数量
var noOkQty = $("#noOkQty_"+index).val();
//合格数量
var okQty = $("#okQty_"+index).val();
//折补数量
var freePayQty = $("#freePayQty_"+index).val();
//若折补数量 + 不合格数量 < 暂收数量成立, 则合格数量 = 暂收数量 - 折补数量 - 不合格数量;
var adjustQty = noOkQty * 1 + freePayQty * 1;
if(inventQty * 1 < adjustQty * 1) {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.notOkQtyNotGreaterReceiveQty";
showMessageFunc(key);
noOkQty = inventQty * 1 - (okQty * 1 + freePayQty * 1);
$("#noOkQty_"+index).val(noOkQty.toFixed(4));
} else {
//合格数量 = 暂收数量 - 不合格数量
if(adjustQty * 1 >= 0) {
var okQty = inventQty * 1 - adjustQty * 1;
$("#okQty_"+index).val(okQty.toFixed(4));
$("#okQtySpan_"+index).text(okQty.toFixed(4));
}
}
//不合格数量不允许为空
if(noOkQty == "") {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.notEmptyNoOkQty";
showMessageFunc(key);
}
});
//当折补数量改变时:控制折补数量 + 不合格数量 不能大于暂收数量
$("#inspectMaterialTrailerBodyRight tr td").delegate("input[type='text'][id^='freePayQty_']","change",function() {
var startIndex = $(this).attr("id").indexOf("_");
var index = $(this).attr("id").substring(startIndex + 1);
//暂收数量
var inventQty = $("#inventQty_"+index).text();
//不合格数量
var noOkQty = $("#noOkQty_"+index).val();
//合格数量
var okQty = $("#okQty_"+index).val();
//折补数量
var freePayQty = $("#freePayQty_"+index).val();
//若折补数量 + 不合格数量 < 暂收数量成立, 则合格数量 = 暂收数量 - 折补数量 - 不合格数量;
var adjustQty = noOkQty * 1 + freePayQty * 1;
if(inventQty * 1 < adjustQty * 1) {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.freePayQtyAddNoOkQtyNotGreaterReceiveQty";
showMessageFunc(key);
freePayQty = inventQty * 1 - (okQty * 1 + noOkQty * 1);
$("#freePayQty_"+index).val(freePayQty.toFixed(4));
} else {
//合格数量 = 暂收数量 - 不合格数量
if(adjustQty * 1 >= 0) {
var okQty = inventQty * 1 - adjustQty * 1;
$("#okQty_"+index).val(okQty.toFixed(4));
$("#okQtySpan_"+index).text(okQty.toFixed(4));
}
}
//折补数量不允许为空
if(freePayQty == "") {
$(this).val("0.0000");
var key = "oletech.triangle.multilanguage.alert.notEmptyFreePayQty";
showMessageFunc(key);
}
});
});
//显示提示信息
function showMessageFunc(obj) {
var message = getMessageResources(obj);
alertE(message);
}
/**
*判断是否为数字
*/
function checkNumbers(obj){
var value = $(obj).val();
//判断是否数字
if(isNaN(value)){
var key = "oletech.triangle.multilanguage.alert.pleaseInputNumber";
var message = getMessageResources(key);
alertW(message);
$(obj).val('');
}
}
//打开材料暂收未检验列表页
function openNoIqcReceiveMaterialList(){
url = contentPath + '/selectpage/noIqcReceiveMaterialList.do';
window.open(url);
}
</script>
<style type="text/css">
.mateiralName {
width:220px; white-space:nowrap;text-overflow:ellipsis;overflow:hidden;
}
.vendorsName {
width: 190px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
#inspectMaterialTrailerBodyLeft tr th,td {padding:0px 0px;margin:0px;}
#inspectMaterialTrailerBodyRight tr th,td {padding:0px 0px;margin:0px;}
#inspectMaterialTrailerTitleLeft tr th,td {padding:0px 0px;margin:0px;}
#inspectMaterialTrailerTitleRight tr th,td {padding:0px 0px;margin:0px;}
</style>
<table width="96%" cellpadding="0" cellspacing="0" style="overflow: hidden">
<tbody>
<tr>
<td>
<table>
<tr>
<th class="th"><%= search_purchaseNo %>:</th>
<td>
<input type="hidden" id="hidden_purchTableId" name="purchTableId" value="<%= purchTableId %>"/>
<%-- <span id="span_purchTableId"><%= purchTableNo %></span>
<img src="<%=path%>/images/query.gif" οnclick="openPageForTriangleFun('gts.erp.view.page.purchNo', 'purchTableId', this)"/>
<img src="<%=path%>/images/delete.jpg" οnclick="deleteOpenPageFun('purchTableId', this);"/> --%>
<input type="text" id="purchNo" name="purchNo" value="<%=purchNo%>"/>
</td>
<td style="width:100px;"> </td>
<th class="th"><%= search_receiveNo %>:</th>
<td>
<input type="hidden" id="hidden_receiveTableId" name="receiveTableId" value="<%= receiveTableId %>"/>
<%-- <span id="span_receiveTableId"><%= receiveTableNo %></span>
<img src="<%=path%>/images/query.gif" οnclick="openPageForTriangleFun('gts.erp.view.page.receiptShowNo', 'receiveTableId', this)"/>
<img src="<%=path%>/images/delete.jpg" οnclick="deleteOpenPageFun('receiveTableId', this);"/> --%>
<input type="text" id="receiptNo" name="receiptNo" value="<%=receiptNo%>"/>
</td>
<td style="width:100px;"> </td>
<th><%= search_vendName %>:</th>
<td>
<span id="span_vendId"><%= vendName %></span>
</td>
<td style="width:100px"> </td>
<td class="button">
<input value="<%= button_search %>" class="adidasToolbarButton" οnclick="searchInspectMaterialTrailerFunc()" type="button"/>
</td>
</tr>
</table>
</td>
</tr>
<tr valign="top">
<td align="left" width="100%">
<table cellpadding="0" cellspacing="0" width="100%" align="left">
<tr>
<td><table class="table" style="margin:10px auto 2px 0;"><tr><th><%= title_trailerMessage %></th></tr></table></td>
</tr>
<tr>
<td align="left">
<table class="table" width="100%" cellpadding="0" cellspacing="0" align="left">
<thead>
<tr>
<!-- 固定行,列 分成四个区域,固定头信息,滚动头信息,固定数据信息,滚头数据信息 -->
<!-- fixTitle 固定的title信息 -->
<td align="left" valign="bottom">
<div name="A_xFirstDiv" id="A_xFirstDiv" style="width:573px;height:25px;overflow-x:hidden;overflow-y:hidden;">
<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" id="inspectMaterialTrailerTitleLeft" width="573px">
<thead>
<tr>
<th style="width:36px;"><input id="all" name="selectAll" type="checkbox" οnclick="selectAllOrderFunc();"/></th>
<th style="width:35px;"><%= title_index %></th>
<th style="width:150px;"><%= title_receiveNo %></th>
<th style="width:100px;"><%= title_materialNo %></th>
<th style="width:250px;"><%= title_materialName %></th>
</tr>
</thead>
</table>
</div>
</td>
<!-- rowTitle 滚动的title信息-->
<td align="left" valign="bottom">
<div name="scrollTitle" id="scrollTitle" style="width:-1px;overflow-x:hidden;overflow-y:hidden;height:25px;" οnscrοll="">
<div name="A_xDiv" id="A_xDiv" style="width:-1px;overflow-x:hidden;overflow-y:hidden;" οnscrοll="">
<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" id="inspectMaterialTrailerTitleRight" width="1300px">
<thead>
<tr>
<th style="width:100px;"><%= title_unit %></th>
<th style="width:100px;"><%= title_trailerQty %></th>
<th style="width:100px;"><%= title_iqcDate %></th>
<th style="width:100px;"><%= title_receiveQuantity %></th>
<th style="width:100px;"><%= title_checkQualifiedQuantity %></th>
<th style="width:100px;"><%= title_noOkQty %></th>
<th style="width:100px;"><%= title_freePayQty %></th>
<th style="width:100px;"><%= title_unqualifiedCause %></th>
<th style="width:100px;"><%= title_iqcWay %></th>
<th style="width:100px;"><%= title_remark %></th>
</tr>
</thead>
</table>
</div>
</div>
</td>
</tr>
</thead>
<tbody>
<tr>
<!-- 因为栏位是固定的,所有固定数据,滚动数据只需要到相应的区域读取即可 -->
<!-- column -->
<td align="left" valign="top">
<div name="A_xyFirstDiv" id="A_xyFirstDiv" style="width:-1;overflow-x:hidden;overflow-y:hidden;" οnscrοll="">
<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" width="575px" id="inspectMaterialTrailerBodyLeft">
<tbody>
<%
for (int i = 0; i < 25; i++) {
RowBean rowBean = inspectMaterialRelativeTableBean.get(0);
String materialName = rowBean.getCellBeanValue("materialName");
String materialNo = rowBean.getCellBeanValue("materialNo");
String materialId = rowBean.getCellBeanValue("materialId");
String receiptListId = rowBean.getCellBeanValue("receiptListId");//暂收单主键
String receiptListNo = rowBean.getCellBeanValue("receiptListNo");//暂收单编号
String receiptsListLineId = rowBean.getCellBeanValue("receiptsListLineId");
%>
<tr>
<td style="width:36px; text-align:center;"><input id="primaryId_<%= i %>" name="primaryId_<%= i %>" value="<%= receiptsListLineId %>" type="checkbox" /></td>
<td style="width:35px; text-align:center;"><span id="index_<%= i %>"><%= (i+1) %></span></td>
<td style="width:150px; text-align:center;"><span id="receiptListNo_<%= i %>" ><%= receiptListNo %></span> </td>
<td style="width:100px; text-align:center;">
<span id="materialNo_<%= i %>"><%= materialNo %></span>
<input type="hidden" id="materialId_<%= i%>" name="materialId_<%= i%>" value="<%= materialId%>"/>
</td>
<td style="width:250px;"><abbr style="cursor:pointer;" title="<%= materialName %>"><div class="mateiralName"><span id="materialName_<%= i %>"><%= materialName %></span></div></abbr></td>
<%
}
%>
</tr>
</tbody>
</table>
</div>
</td>
<!-- data -->
<td align="left" valign="top">
<div name="A_xyDiv" id="A_xyDiv" style="height:-8;width:-8;overflow-x:scroll;overflow-y:scroll;" οnscrοll="document.getElementById('A_xDiv').scrollLeft=this.scrollLeft;document.getElementById('A_xyDiv').scrollTop=this.scrollTop;document.getElementById('A_xyFirstDiv').scrollTop=this.scrollTop">
<table style="border-collapse: collapse;" cellpadding="0" cellspacing="0" width="1300px" id="inspectMaterialTrailerBodyRight">
<tbody>
<%
for (int i = 0; i < 25; i++) {
RowBean rowBean = inspectMaterialRelativeTableBean.get(0);
String materialId = rowBean.getCellBeanValue("materialId");
String unitId = rowBean.getCellBeanValue("unitId");
String unitName = rowBean.getCellBeanValue("unitName");
String inspectDate = rowBean.getCellBeanValue("inspectDate");
String purchQty = rowBean.getCellBeanValue("purchQty");
String inventQty = rowBean.getCellBeanValue("inventQty");
String noOkQty = "0.0000";
String freePayQty = "0.0000";
String iqcWayId = rowBean.getCellBeanValue("iqcWayId");
String iqcClassName = rowBean.getCellBeanValue("iqcClassName");
String remark = rowBean.getCellBeanValue("remark");
TableBean iqcTypeTableBean = paramDataBean.getTableBean(materialId);
%>
<tr>
<td style="width:100px; text-align:left;">
<span id="unitName_<%= i %>"><%= unitName %></span>
<input type="hidden" id="unitId_<%= i%>" name="unitId_<%= i%>" value="<%= unitId%>"/>
</td>
<td style="width:100px; text-align:right;"><span id="purchQty_<%= i %>"><%= purchQty %></span></td>
<td style="width:100px; text-align:center;"><span id="iqcDate_<%= i %>" name="iqcDate_<%= i %>" ><%= inspectDate %></span></td>
<td style="width:100px; text-align:right;"><span id="inventQty_<%= i %>" ><%= inventQty %></span></td>
<td style="width:100px; text-align:right;">
<span id="okQtySpan_<%= i %>"><%= inventQty %></span>
<input type="hidden" id="okQty_<%= i %>" name="okQty_<%= i %>" value="<%= inventQty %>"/>
</td>
<td style="width:100px;"><input type="text" id="noOkQty_<%= i %>" name="noOkQty_<%= i %>" value="<%= noOkQty %>" οnblur="checkNumbers(this)"/></td>
<td style="width:100px;"><input type="text" id="freePayQty_<%= i %>" name="freePayQty_<%= i %>" value="<%= freePayQty %>" οnblur="checkNumbers(this)"/></td>
<td style="width:100px;">
<select id="iqcTypeId_<%= i %>" name="iqcTypeId_<%= i %>">
<option value=''>N/A</option>
<%
for (int j = 0; j < iqcTypeTableBean.size(); j++) {
RowBean iqcTypeRowBean = iqcTypeTableBean.get(j);
String primaryId = iqcTypeRowBean.getCellBeanValue("CN_ID");
String name = iqcTypeRowBean.getCellBeanValue("CN_IQC_TYPE_REASON");
%>
<option value="<%= primaryId %>"><%= name %></option>
<%
}
%>
</select>
</td>
<td style="width:100px;text-align:center;">
<input type="hidden" id="iqcWayId_<%= i %>" name="iqcWayId_<%= i %>" value="<%= iqcWayId %>"/><span><%= TriangleUIHelper.getMessageResources(request, iqcClassName) %></span>
</td>
<td style="width:100px;" >
<span id="remark_<%= i %>"><%= remark %></span>
</td>
</tr>
<%
}
%>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
</table>
</td>
</tr>
</tbody>
</table>
固定行,列 分成四个区域,固定头信息,滚动头信息,固定数据信息,滚头数据信息
最新推荐文章于 2023-12-12 11:50:16 发布