Files
SIPAIIS_WMS_JSSW/bin/WebRoot/jsp/plan/districtDailyPlanByTaskOrder.jsp
2026-01-16 14:13:44 +08:00

684 lines
25 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.util.Date" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@ page import="com.sipai.tools.SessionManager"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%
SessionManager sessionManager = new SessionManager();
%>
<%String contextPath = request.getContextPath();%>
<%request.setAttribute("Flag_Edit",com.sipai.entity.plan.DailyPlan.Flag_Edit);%>
<%request.setAttribute("Flag_Check",com.sipai.entity.plan.DailyPlan.Flag_Check);%>
<%request.setAttribute("Flag_Finish",com.sipai.entity.plan.DailyPlan.Flag_Finish);%>
<%request.setAttribute("Flag_Issue",com.sipai.entity.plan.DailyPlan.Flag_Issue);%>
<%request.setAttribute("Flag_ReEdit",com.sipai.entity.plan.DailyPlan.Flag_ReEdit);%>
<%request.setAttribute("Flag_Submit",com.sipai.entity.plan.DailyPlan.Flag_Submit);%>
<%request.setAttribute("Flag_Delete",com.sipai.entity.plan.DailyPlan.Flag_Delete);%>
<%request.setAttribute("Flag_Suspend",com.sipai.entity.plan.DailyPlan.Flag_Suspend);%>
<%request.setAttribute("Flag_Active",com.sipai.entity.plan.DailyPlan.Flag_Active);%>
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<script type="text/javascript">
var grid;
var gridAll;
var invalidategrid;
var ddv;
var ddvall;
var order_n0;
var order_n;
var index_n0;
var index_n;
var allowDndflag=0;
var addFun = function(taskorderid) {
var dialog = parent.ext.modalDialog({
iframeId:'add',
height:250,
width:500,
title : '自动分配日计划',
url : ext.contextPath + '/plan/dailyplan/addMoreByTaskOrderid.do?taskOrderId=${taskOrder.id}',
buttons : [
{
text : '确认',
handler : function() {
dialog.find('iframe').get(0).contentWindow.dosave(dialog, grid);
}
}
]
});
};
var addOldFun = function() {
var dialog = parent.ext.modalDialog({
iframeId:'addold',
title : '新增旧单日计划',
url : ext.contextPath + '/plan/dailyplan/addoldorderplan.do?iframeId=addold&date=${param.sdt}&plandate=${dailyplansummary.plandt}&pid=${dailyplansummary.id }&insertpid=${dailyplansummary.insertpid }',
buttons : [
{
text : '保存',
handler : function() {
dialog.find('iframe').get(0).contentWindow.dosave(dialog, grid);
}
}
]
});
};
var viewFun = function(id) {
//grid.datagrid('clearChecked');
var dialog = parent.ext.modalDialog({
width: 800,
height:600,
title : '查看日计划',
url : ext.contextPath + '/plan/dailyplan/view.do?id='+id,
buttons : [ {
text : '关闭',
handler : function() {
dialog.dialog('destroy');
}
}]
});
};
//分配工作量-wxp
var distFun = function(planid,prid) {
var dialog = parent.ext.modalDialog({
width: 950,
height:550,
title : '分配任务量',
url : ext.contextPath + '/plan/dailyplansummary/showDistricWork.do?processrealid='+prid+'&planid='+planid,
buttons : [ {
text : '关闭',
handler : function() {
dialog.dialog('destroy');
}
}]
});
};
/* 提交日计划 至审核*/
function dosubmit(id){
parent.$.messager.confirm('提示', '您确定要提交计划?提交计划等待审核,将无法修改。', function(r) {
if(r){
$.post(ext.contextPath + "/plan/dailyplan/updatebyid.do", {id : id}, function(data) {
if (data == 1) {
top.$.messager.alert('提示', "提交成功", 'info', function() {
grid.datagrid('reload');
});
}else if(data == 0){
top.$.messager.alert('提示', "提交失败", 'info');
}else{
top.$.messager.alert('提示', data, 'info');
}
},'json');
}else{
return ;
}
}) ;
}
/* 提交多条日计划 至审核*/
function dosubmits(){
var checkedItems = $('#grid').datagrid('getChecked');
var datas="";
$.each(checkedItems, function(index, item){
if(datas!=""){
datas+=",";
}
datas+=item.id;
});
if(datas==""){
top.$.messager.alert('提示', '请先选择需提交的日计划','info');
}else{
parent.$.messager.confirm('提示', '您确定要提交计划?提交计划等待审核,将无法修改。', function(r) {
if(r){
$.post(ext.contextPath + "/plan/dailyplan/updatebyid.do", {id : datas}, function(data) {
if (data == 1) {
top.$.messager.alert('提示', "提交成功", 'info', function() {
grid.datagrid('reload');
});
}else if(data == 0){
top.$.messager.alert('提示', "提交失败", 'info');
}else{
top.$.messager.alert('提示', data, 'info');
}
},'json');
}else{
return ;
}
});
}
}
var editFun = function(id) {
var dialog = parent.ext.modalDialog({
iframeId:'edit',
width: 800,
height:590,
title : '编辑日计划',
url : ext.contextPath + '/plan/dailyplan/edit.do?id=' + id+'&iframeId=edit',
buttons : [ {
text : '保存',
handler : function() {
dialog.find('iframe').get(0).contentWindow.dosave(dialog, grid);
}
} ]
});
};
var deleteFun = function(id) {
parent.$.messager.confirm('提示', '您确定要删除此记录?计划删除后工单将自动作废。', function(r) {
if (r) {
$.post(ext.contextPath + '/plan/dailyplan/delete.do', {id : id}, function(data) {
if(data==1){
top.$.messager.alert('提示','删除成功','info');
grid.datagrid('reload');
}else{
top.$.messager.alert('提示','删除失败','info');
}
});
}
});
};
var deletesFun = function() {
var checkedItems = $('#grid').datagrid('getChecked');
var datas="";
$.each(checkedItems, function(index, item){
if(item.status=='${Flag_Edit}'){//下发后的计划不能删除
datas+=item.id+",";
}else{
top.$.messager.alert('提示', '下发后的计划('+item.insdt.substring(0,19)+')不能删除','info');
}
});
if(datas==""){
top.$.messager.alert('提示', '未查询到需要删除的记录','info');
}else{
top.$.messager.confirm('提示', '您确定要删除多条记录?计划删除后工单将自动作废。', function(r) {
if (r) {
$.post(ext.contextPath + '/plan/dailyplan/deletes.do', {ids:datas} , function(data) {
if(data>0){
top.$.messager.alert('提示','成功删除'+data+'条记录','info');
grid.datagrid('reload');
grid.datagrid('clearChecked');
}else{
top.$.messager.alert('提示','删除失败','info');
}
});
}
});
}
};
var suspendFun = function(id,status) {
var tip="";
var status_="";
if(status=="${Flag_Suspend}"){
tip="激活";
status_="${Flag_Active}";
}else {
tip="挂起";
status_="${Flag_Suspend}";
}
parent.$.messager.confirm('提示', '您确定要'+tip+'此记录?', function(r) {
if (r) {
$.post(ext.contextPath + '/plan/dailyplan/suspend.do', {id : id,suspended:status_}, function(data) {
if(data==1){
parent.$.messager.alert('提示',tip+'成功','info',function(){
grid.datagrid('reload');
});
}else{
parent.$.messager.alert('提示',tip+'失败','info');
}
});
}
});
};
var flag=0;
$(function() {
grid= $('#grid').datagrid({
title : '',
url:ext.contextPath + '/plan/dailyplan/getdailyplans.do',
queryParams: {
sdt: $("#sdt").val(),
edt: $("#edt").val(),
search_status: $('#search_status').combobox('getValue'),
notdisplayinvalid:$('#notdisplayinvalid').val(),
taskorderid:'${taskOrder.id}',
sort:'stdt'
},
striped : true,
rownumbers : true,
pagination : true,
selectOnCheck: true,
checkOnSelect: true,
idField : 'id',
pageSize : 50,
pageList : [ 20, 50, 100],
//loadMsg:'',
height:'auto',
rowStyler: function(index,row){
var rowstyler='';
if (row.taskchangedstatus!=null){
if(row.taskchangedstatus=='true' ||row.taskchangedstatus=='TRUE'){
rowstyler+= 'font-weight:bold;';
}
}
if(row.status=='${Flag_Delete}'|| row.status=='${Flag_ReEdit}'){
rowstyler+= ' background-color:#C0C0C0;color:#fff;';
}else if(row.status=='${Flag_Finish}'){
rowstyler+= ' font-style:ltalic;';
}
return rowstyler;
},
columns : [ [
{checkbox:true , field : 'ck'},
{width : '150', title : '任务单号', field : 'taskorderno', sortable : true, halign:'center' ,formatter : function(value, row){
if(row.taskorder!=null){
return row.taskorder.tasklistcode;
}else{
return "";
}
} },
{width : '180', title : '物料名称', field : 'bomname', sortable : true, halign:'center' , formatter : function(value, row){
if(row.materialBOM!=null){
return row.materialBOM.materialname;
}else{
return "";
}
}},
{width : '100', title : '销售订单号', field : 'salseno', halign:'center' ,formatter : function(value, row){
if(row.taskorder!=null){
return row.taskorder.salesno;
}else{
return "";
}
} },
{width : '100', title : '工艺路线', field : 'processrealid', halign:'center' ,sortable:false},
{width : '140', title : '计划编制时间', field : 'insdt',align:'center', formatter : function(value, row){
if(value.substring(0,4)=="1900"){
return "";
}else{
return value.substring(0,19);
}
},sortable:false },
{width : '100', title : '计划日期', field : 'stdt',align:'center', formatter : function(value, row){
if(value.substring(0,4)=="1900"){
return "";
}else{
return value.substring(0,10);
}
},sortable:false },
{width : '100', title : '计划状态', field : 'status', align:'center', formatter : function(value, row){
var susp="";
if(row.suspended=='${Flag_Active}'){
susp= "";
}else if(row.suspended=='${Flag_Suspend}'){
susp= "/<font color='red'>已挂起</font>";
}
switch(value){
case '${Flag_Edit}': return "待提交"+susp;
case '${Flag_Submit}': return "待审核"+susp;
case '${Flag_Check}': return "待下发"+susp;
case '${Flag_Issue}': return "已下发"+susp;
case '${Flag_Delete}': return "已作废"+susp;
case '${Flag_ReEdit}': return "已重排"+susp;
case '${Flag_Finish}': return "<font color='blue'>已完成</font>";
}
} ,sortable:false},
{width : '45', title : '优先级(数字越小优先级越高)', field : 'porder', sortable : false, halign:'center',formatter:function(value, row){
return value;
}},
{title : '操作', field : 'action', width : '140', halign:'center', align:'center', formatter : function(value, row) {
var str = '';
str += '<img class="iconImg ext-icon-table" title="查看" onclick="viewFun(\''+row.id+'\');"/> ';
if(row.status!="${Flag_Submit}" && row.status!='${Flag_Finish}'&& row.status!='${Flag_Delete}'){
<%if (sessionManager.havePermission(session,"plan/dailyplan/edit.do")) {%>
if(row.status=='${Flag_Edit}'){
str += '<img class="iconImg ext-icon-table_add" title="配置" onclick="distFun(\''+row.id+'\',\''+row.processrealid+'\');"/> ';
}
<%}%>
<%if (sessionManager.havePermission(session,"plan/dailyplan/edit.do")) {%>
if(row.status=='${Flag_Edit}'){
str += '<img class="iconImg ext-icon-table_go" title="提交" onclick="dosubmit(\''+row.id+'\');"/> ';
}
<%}%>
<%if (sessionManager.havePermission(session,"plan/dailyplan/edit.do")) {%>
if(row.status=='${Flag_Edit}'){
str += '<img class="iconImg ext-icon-table_edit" title="编辑" onclick="editFun(\''+row.id+'\');"/> ';
}
<%}%>
<%if (sessionManager.havePermission(session,"plan/dailyplan/delete.do")) {%>
if(row.status=='${Flag_Edit}'){
str += '<img class="iconImg ext-icon-table_delete" title="删除" onclick="deleteFun(\''+row.id+'\');"/> ';
}else if(row.suspended=='${Flag_Suspend}'){
str += '<img class="iconImg ext-icon-table_lightning" title="激活" onclick="suspendFun(\''+row.id+'\',\''+row.suspended+'\');"/> ';
}else if(row.suspended=='${Flag_Active}'){
str += '<img class="iconImg ext-icon-table_link" title="挂起" onclick="suspendFun(\''+row.id+'\',\''+row.suspended+'\');"/> ';
}
<%}%>
<%if (sessionManager.havePermission(session,"plan/dailyplan/edit.do")) {%>
if(row.status!='${Flag_Edit}'){
str += '<img class="iconImg ext-icon-bin" title="计划作废" onclick="invalidateFun(\''+row.id+'\');"/> ';
}
str += '<img class="iconImg ext-icon-arrow_up" title="计划置顶" onclick="ToTop(\''+row.id+'\',\''+row.pid+'\',\''+row.porder+'\');"/> ';
<%}%>
}
return str;
}
},
{width : '80', title : '提示', field : 'taskchangedstatus',align:'center', formatter : function(value, row){
if(value=="true" ||value=="TRUE"){
return '已生成工单<img class="iconImg ext-icon-new" title="任务新变动" onclick="viewFun(\''+row.id+'\');"/>';
}else{
return "";
}
} ,sortable:false}
] ],
toolbar : '#toolbar',
onResize:function(){
},
onLoadSuccess:function(){
$('.iconImg').attr('src', ext.pixel_0);
if(allowDndflag==1){//连续拖拽
$(this).datagrid('enableDnd');
allowDndflag=0;
}
},
onStopDrag:function(row){
index_n=grid.datagrid('getRowIndex',row.id);
var temp="";
if(index_n==index_n0){//判断移动方向
return;
}else if(index_n<index_n0){//向上移动
if(index_n==0){
temp=grid.datagrid('getRows')[1].porder;//index为0上面无行由下面porder 决定porder值
order_n=Number(temp);
}else{
temp=grid.datagrid('getRows')[index_n-1].porder;//由移动后上面一行porder值+1决定porder值
order_n=Number(temp)+1;
}
}else if(index_n>index_n0){//向下移动
temp=grid.datagrid('getRows')[index_n-1].porder;//由移动后上面一行porder值决定porder值
order_n=Number(temp);
}
$.post(ext.contextPath + '/plan/dailyplan/drag.do', {order_n0:order_n0,order_n:order_n,pid:row.pid,id:row.id} , function(data) {
if(data==0){
return;
}else if(data>0){
allowDndflag=1;
grid.datagrid('reload');
}else{
top.$.messager.alert('提示','操作失败','info');
}
});
},
onStartDrag:function(row){
index_n0=grid.datagrid('getRowIndex',row.id);
order_n0=row.porder;
}
});
});
//计划作废
var invalidateFun = function(id) {
parent.$.messager.confirm('提示', '您确定要此记录作废?计划作废后将无法撤销。', function(r) {
if (r) {
$.post(ext.contextPath + '/plan/dailyplan/invalidate.do', {id : id}, function(data) {
if(data==1){
top.$.messager.alert('提示','作废成功','info');
grid.datagrid('reload');
}else{
top.$.messager.alert('提示','作废失败','info');
}
});
}
});
};
var invalidateday = function() {
parent.$.messager.confirm('提示', '您确定要作废全天计划?计划作废后将无法撤销。', function(r) {
if (r) {
var id='${dailyplansummary.id }';
$.post(ext.contextPath + '/plan/dailyplansummary/invalidateday.do', {id : id}, function(data) {
if(data==1){
top.$.messager.alert('提示','作废成功','info');
parent.$("#viewDialog").dialog('destroy');
}else{
top.$.messager.alert('提示','作废失败','info');
}
});
}
});
};
var distributeday = function() {
parent.$.messager.confirm('提示', '您确定要下发全天计划?', function(r) {
if (r) {
var id='${dailyplansummary.id }';
$.post(ext.contextPath + '/plan/dailyplansummary/distributeday.do', {id : id}, function(data) {
if(data.res=='1'){
top.$.messager.alert('提示','下发成功','info');
grid.datagrid('reload');
}else if(data.res=='0'){
top.$.messager.alert('提示','无可下发计划','info');
}else{
top.$.messager.alert('提示',data.res,'info');
}
},'json');
}
});
};
var submitday = function() {
parent.$.messager.confirm('提示', '您确定要提交全天待提交计划?', function(r) {
if (r) {
var id='${dailyplansummary.id }';
$.post(ext.contextPath + '/plan/dailyplansummary/submitday.do', {id : id}, function(data) {
if(data.res!='0'){
top.$.messager.alert('提示','成功提交'+data.res+'条记录','info');
$('#addtd').hide();
grid.datagrid('reload');
}else{
top.$.messager.alert('提示','无可提交计划','info');
}
},'json');
}
});
};
function reset(){
$('#searchForm').form('clear');
grid.datagrid('load',{pid:'${dailyplansummary.id }'});
$('#sdt').val('${wsdt}');
$('#edt').val('${wedt}');
notallowDnd();
}
function allowDnd(){
grid.datagrid('enableDnd');
var nad =document.getElementById("notallowDndbtn");
var ad =document.getElementById("allowDndbtn");
nad.style.display="";
ad.style.display="none";
showTips('列表拖拽已启用', 1);
//grid.datagrid('reload');
}
function notallowDnd(){
grid.datagrid('reload');
var nad =document.getElementById("notallowDndbtn");
var ad =document.getElementById("allowDndbtn");
ad.style.display="";
nad.style.display="none";
//showTips('列表拖拽已禁用', 1);
}
$(function(){
$('#mm').switchbutton({
onChange: function(checked){
if(checked==true){
$('#notdisplayinvalid').val("1");
}else{
$('#notdisplayinvalid').val("");
}
//alert(checked);
grid.datagrid('load',ext.serializeObject($('#searchForm')));//搜索
}
});
/* if('${addpermit}'=='1'||'${dailyplansummary.insertpid}'!=null||'${dailyplansummary.insertpid}'!=''){
$('#addtd').show();
}else{
$('#addtd').hide();
}
if('${dailyplansummary.insertpid}'!=null||'${dailyplansummary.insertpid}'!=''){
$('#addoldtd').show();
}else{
$('#addoldtd').hide();
} */
});
</script>
</head>
<body >
<div id="cc" class="easyui-layout" data-options="fit:true,border:false">
<div data-options="region:'north',title:'任务单信息',split:false" style="height:100px;">
<table class="table">
<tr>
<th>任务单编号</th>
<td>${taskOrder.tasklistcode }</td>
<th>状态</th>
<td>
<c:choose>
<c:when test="${dailyplansummary.status == 0}">未审核</c:when>
<c:when test="${dailyplansummary.status == 1}">已完成</c:when>
<c:when test="${dailyplansummary.status == 3}">已审核</c:when>
<c:otherwise></c:otherwise>
</c:choose>
</td>
<th >开始时间</th>
<td>${fn:substring(taskOrder.pstdate,0,10)}</td>
<th>结束时间</th>
<td>${fn:substring(taskOrder.pendate,0,10)}</td>
</tr>
<tr>
<th>产品编号</th>
<td>${taskOrder.productno}</td>
<th>产品数量</th>
<td>${taskOrder.prodamount}</td>
<th>备注</th>
<td></td>
<th ></th>
<td></td>
</tr>
</table>
</div>
<div data-options="region:'center',title:'日计划'" style="padding:0px;">
<div class="easyui-layout" data-options="fit:true,border:false">
<div id="toolbar" style="display: none;">
<table>
<tr>
<td>
<table>
<tr>
<c:if test="${param.olddayflag!=1}">
<%if (sessionManager.havePermission(session,"plan/dailyplan/add.do")) {%>
<td id="addtd" name="addtd">
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true"
onclick="addFun('');">添加</a>
</td>
<!-- <td id="addoldtd" name="addoldtd">
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true"
onclick="addOldFun();">添加旧单计划</a>
</td> -->
<%}%>
</c:if>
<%if (sessionManager.havePermission(session,"plan/dailyplan/delete.do")) {%>
<!-- <td id="importcsv" name="importcsv">
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'ext-icon-table_add',plain:true"
onclick="importcsv();">导入csv</a>
</td> -->
<td>
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true"
onclick="deletesFun();">删除</a>
</td>
<%}%>
<%if (sessionManager.havePermission(session,"plan/dailyplan/edit.do")) {%>
<td id="edittd" name="edittd" >
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'ext-icon-note_go',plain:true" onclick="dosubmits();">提交</a>
</td>
<%}%>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<form id="searchForm">
<input id="taskorderid" name="taskorderid" type="hidden" value="${taskOrder.id }" />
<input name="sort" type="hidden" value="stdt" />
<table>
<tr>
<td >计划状态</td>
<td colspan='4'><select id="search_status" name="search_status" class="easyui-combobox" style="width:152px;">
<option value='all' select>全部</option>
<option value='edit'>待提交</option>
<option value='submit'>待审核</option>
<option value='audited'>待下发</option>
<option value='inprogress'>已下发</option>
<option value='completed'>已完成</option>
<option value='rearrenged'>已重排</option>
<option value='invalid'>已作废</option>
</select>
</td>
<!-- </tr> -->
<!-- <tr> -->
<!-- <td>计划下达日期</td> -->
<td><input id="sdt" name="sdt" class="Wdate" type="hidden"
value="${wsdt}"
onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'edt\')}'})"
readonly></td>
<!-- <td>到</td> -->
<td><input id="edt" name="edt" class="Wdate" type="hidden"
value="${wedt}"
onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'sdt\')}'})"
readonly></td>
<td>隐藏作废&nbsp;&nbsp;<input id="mm"
class="easyui-switchbutton" style="height:22px;width:50px;"
data-options="onText:'是',offText:'否'" unchecked></td>
<input id="notdisplayinvalid" name="notdisplayinvalid" type="hidden"
value="" />
<td><a href="javascript:void(0);" class="easyui-linkbutton"
data-options="iconCls:'ext-icon-search',plain:true"
onclick="$('#pid').val('${dailyplansummary.id }');grid.datagrid('load',ext.serializeObject($('#searchForm')));notallowDnd();">搜索</a>
<a href="javascript:void(0);" class="easyui-linkbutton"
data-options="iconCls:'icon-reload',plain:true"
onclick="reset();">重置</a>
<!-- <a href="javascript:void(0);" class="easyui-linkbutton" -->
<!-- data-options="iconCls:'ext-icon-search',plain:true" -->
<!-- onclick="$('#searchForm').form('clear');ddvpid='';grid.datagrid('load',{});">全部计划</a> -->
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</div>
<div data-options="region:'center',fit:true,border:false">
<table id="grid" data-options="fit:true,border:false"></table>
</div>
</div>
</div>
</div>
</body>
</html>