Commit fb3c0762 authored by 鲁鑫's avatar 鲁鑫

客户异常报告多选

parent 15fd5837
<%--采购申请--%>
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<form class="hg-form ui-show" method="post" action="" id="queryMainForm">
<x:hidden name="customerOrderNo"/>
<div class="hg-form-row">
<x:inputC name="aufnr" label="生产单号" labelCol="2" fieldCol="2"/>
</div>
<x:searchButtons/>
</form>
<x:title title="生产单列表" hideTable="#maingrid" name="list"/>
<div id="maingrid" style="margin:2px;"></div>
\ No newline at end of file
<%--采购申请--%>
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,dateTime,combox,attachment,commonTree,comboDialog"/>
</head>
<body>
<div class="container-fluid">
<x:billTitle title="请选择异常报告单类型" needStatus="true" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="billType" label="报告单类型" labelCol="4" fieldCol="8" required="true"/>
</div>
</div>
</form>
</div>
</body>
\ No newline at end of file
var clientGridManager,produceGridManager, purchaseGridManager, dutyPersonGridManager = null var clientGridManager,produceGridManager, purchaseGridManager, dutyPersonGridManager,exceptionClientManager = null;var checkbox = true;
$(function () { $(function () {
initialize(); initialize();
initSerachBox(); initSerachBox();
...@@ -67,13 +67,17 @@ function initialize() { ...@@ -67,13 +67,17 @@ function initialize() {
// return false; // return false;
} }
if (v.value== "3"){ if (v.value== "3"){
checkbox = true
initSerachBox();
showClientDiv(); showClientDiv();
UICtrl.setElRequiredFlag("#customerNo", true); UICtrl.setElRequiredFlag("#customerNo", true);
} else { } else {
checkbox = false
initSerachBox();
UICtrl.setElRequiredFlag("#customerNo", false); UICtrl.setElRequiredFlag("#customerNo", false);
showProduceDiv(); showProduceDiv();
} }
UICtrl.setElHideOrShow("#loseMoney",false);
} }
} }
}); });
...@@ -129,6 +133,7 @@ function showClientDiv() { ...@@ -129,6 +133,7 @@ function showClientDiv() {
} }
setPurchaseMustInput(false); setPurchaseMustInput(false);
setProduceMustInput(true); setProduceMustInput(true);
UICtrl.setElHideOrShow("#loseMoney",false);
} }
function showPurchaseDiv() { function showPurchaseDiv() {
...@@ -143,7 +148,6 @@ function showPurchaseDiv() { ...@@ -143,7 +148,6 @@ function showPurchaseDiv() {
// alert(e.error); // alert(e.error);
} }
$("#purchaseDiv").show(); $("#purchaseDiv").show();
setPurchaseMustInput(true); setPurchaseMustInput(true);
setProduceMustInput(false); setProduceMustInput(false);
} }
...@@ -153,13 +157,16 @@ function setPurchaseMustInput(flag) { ...@@ -153,13 +157,16 @@ function setPurchaseMustInput(flag) {
UICtrl.setElRequiredFlag("#customerOrderNoPur", flag); UICtrl.setElRequiredFlag("#customerOrderNoPur", flag);
UICtrl.setElRequiredFlag("#brandName", flag); UICtrl.setElRequiredFlag("#brandName", flag);
UICtrl.setElHideOrShow("#loseMoney",true);
} }
function setProduceMustInput(flag) { function setProduceMustInput(flag) {
if ($('#exceptionReasonType').val() == "3"){ if ($('#exceptionReasonType').val() == "3"){
UICtrl.setElRequiredFlag("#customerNo", flag); UICtrl.setElRequiredFlag("#customerNo", flag);
} }
UICtrl.setElRequiredFlag("#customerOrderNo", flag); UICtrl.setElRequiredFlag("#customerOrderNo", false);
UICtrl.setElHideOrShow("#loseMoney",false);
} }
function initSerachBox(){ function initSerachBox(){
...@@ -186,6 +193,10 @@ function initSerachBox(){ ...@@ -186,6 +193,10 @@ function initSerachBox(){
$('#customerOrderNo').searchbox({ $('#customerOrderNo').searchbox({
type: "system", name: "sapCustomerOrderSelect", type: "system", name: "sapCustomerOrderSelect",
checkbox:checkbox,
checkboxIndex:"VBELN",
textIndex:"NAME1",
valueIndex:"VBELN",
getParam: function (item) { getParam: function (item) {
if (Public.isBlank($('#werksName').val())) { if (Public.isBlank($('#werksName').val())) {
Public.tip("请先选择工厂!") Public.tip("请先选择工厂!")
...@@ -203,7 +214,8 @@ function initSerachBox(){ ...@@ -203,7 +214,8 @@ function initSerachBox(){
}, },
onChange: function (value, data) { onChange: function (value, data) {
if ($('#exceptionReasonType').val()=="3") { //客户异常 if ($('#exceptionReasonType').val()=="3") { //客户异常
$('#customerName').val(data.NAME1); //$('#customerName').val(data.NAME1);
$('#customerName').val(value.text);
} }
if ($('#exceptionReasonType').val()=="2"&&data.VBELN!=undefined) { //生产异常 if ($('#exceptionReasonType').val()=="2"&&data.VBELN!=undefined) { //生产异常
produceGridManager.addRows({ produceGridManager.addRows({
...@@ -214,7 +226,7 @@ function initSerachBox(){ ...@@ -214,7 +226,7 @@ function initSerachBox(){
number: data.PSMNG number: data.PSMNG
}); });
} }
$('#customerOrderNo').val(data.VBELN); $('#customerOrderNo').val(value.value);
} }
}); });
//产品类别 //产品类别
...@@ -289,7 +301,49 @@ function initClientGrid() { ...@@ -289,7 +301,49 @@ function initClientGrid() {
produceToolbarOptions=null; produceToolbarOptions=null;
var clientToolbarOptions = UICtrl.getDefaultToolbarOptions({ var clientToolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
UICtrl.addGridRow(clientGridManager); //如果生产单号/客户单号 不为空,根据单号弹框查询
var customerOrderNo = $("#customerOrderNo").val();
if (Public.isNotBlank(customerOrderNo)){
UICtrl.showAjaxDialog({
title: '新增',
width: 1200,
height: 400,
url: web_app.name + '/exceptionReport/chooseExceptionClientDetail.load',
param:{customerOrderNo:customerOrderNo},
init: function (){
initExceptionClient();
},
ok: function () {
var rows = exceptionClientManager.getSelectedRows();
for (var i = 0 ;i<rows.length;i++){
var row = rows[i];
var dates = clientGridManager.getData();
if (dates != null && dates.length > 0){
for (let j = 0; j < dates.length; j++) {
var data = dates[i];
if (data.produceNo == row.AUFNR){
Public.tip("生产单号:"+row.AUFNR+" 已选择,请取消勾选!");
return false;
}
}
}
clientGridManager.addRow({
produceNo: row.AUFNR,
productCode: row.MATNR,
productName: row.MAKTX,
number: row.PSMNG,
unitName: row.MEINS,
currencyName: row.KOEIN,
money: row.KWERT,
sendDate: row.LFDAT
});
}
this.close();
}
})
}else {
UICtrl.addGridRow(clientGridManager);
}
}, },
deleteHandler: function () { deleteHandler: function () {
var _grid = UICtrl.getGridManager('#clientgrid'); var _grid = UICtrl.getGridManager('#clientgrid');
...@@ -340,6 +394,80 @@ function initClientGrid() { ...@@ -340,6 +394,80 @@ function initClientGrid() {
UICtrl.setSearchAreaToggle(clientGridManager); UICtrl.setSearchAreaToggle(clientGridManager);
} }
function initExceptionClient(){
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
});
exceptionClientManager = UICtrl.grid('#maingrid', {
columns: getExceptionClientColumns(),
dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionClientList.ajax',
parms: {
werks: $("#werks").val(),
kunnr: $("#customerNo").val(),
vbeln: $("#customerOrderNo").val(),
reasonType: $('#exceptionReasonType').val()
},
height:'400', // colRowNum*35+90
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
toolbar: toolbarOptions,
})
UICtrl.setSearchAreaToggle(exceptionClientManager);
}
function getExceptionClientColumns(){
var columns = [];
columns.push({
display: "客户单号", name: "BSTNK", width: "160", align: "left", type: "string",
});
columns.push({
display: "生产单号", name: "AUFNR", width: "160", align: "left", type: "string",
});
columns.push(
{display: "产品编码", name: "MATNR", width: "160", align: "left", type: "string"
} );
columns.push(
{display: "产品名称", name: "MAKTX", width: "250", align: "left", type: "string"
} );
columns.push(
{display: "数量", name: "PSMNG", width: "60", align: "left", type: "string"
} );
columns.push(
{display: "单位", name: "MEINS", width: "60", align: "left", type: "string"
} );
columns.push(
{display: "币别", name: "KOEIN", width: "60", align: "left", type: "string"
} );
columns.push(
{display: "金额", name: "KWERT", width: "60", align: "left", type: "string"
} );
columns.push(
{display: "出货日期", name: "LFDAT", width: "140", align: "left", type: "date"
} );
return columns;
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(exceptionClientManager, param);
}
function reloadExceptionClientGrid() {
exceptionClientManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
function countSumChange() { function countSumChange() {
if ($('#exceptionReasonType').val() == "1") { if ($('#exceptionReasonType').val() == "1") {
countSum(purchaseGridManager.rows); countSum(purchaseGridManager.rows);
...@@ -403,7 +531,21 @@ function getClientGridColumns() { ...@@ -403,7 +531,21 @@ function getClientGridColumns() {
} ); } );
columns.push( columns.push(
{display: "币别", name: "currencyName", width: "100", align: "left", type: "string" {display: "币别", name: "currencyName", width: "100", align: "left", type: "string"
,editor: {type: "text"} ,//editor: {type: "text"}
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "currency",
KTEXT: "currencyName",
}
},
}
} ); } );
columns.push( columns.push(
{display: "金额", name: "money", width: "100", align: "left", type: "string" {display: "金额", name: "money", width: "100", align: "left", type: "string"
...@@ -440,8 +582,22 @@ function getProcduceGridColumns() { ...@@ -440,8 +582,22 @@ function getProcduceGridColumns() {
{display: "单位", name: "unitName", width: "80", align: "left", type: "string" {display: "单位", name: "unitName", width: "80", align: "left", type: "string"
,editor: {type: "text"} ,editor: {type: "text"}
}, },
{display: "币别", name: "currencyName", width: "100", align: "left", type: "string" {display: "币别", name: "currencyName", width: "100", align: "left", type: "string",
,editor: {type: "text"} editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "currency",
KTEXT: "currencyName",
}
},
}
//,editor: {type: "text"}
}, },
{display: "金额", name: "money", width: "100", align: "left", type: "string" {display: "金额", name: "money", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'} ,editor: {type: "text",mask: '9999999.999'}
...@@ -652,8 +808,22 @@ function getPurchaseGridColumns() { ...@@ -652,8 +808,22 @@ function getPurchaseGridColumns() {
} }
}, },
{ {
display: "币别", name: "currencyName", width: "100", align: "left", type: "string" display: "币别", name: "currencyName", width: "100", align: "left", type: "string",
, editor: {type: "text"} editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "currency",
KTEXT: "currencyName",
}
},
}
//editor: {type: "text"}
}, },
{ {
display: "损失金额", name: "money", width: "100", align: "left", type: "string" display: "损失金额", name: "money", width: "100", align: "left", type: "string"
...@@ -664,7 +834,7 @@ function getPurchaseGridColumns() { ...@@ -664,7 +834,7 @@ function getPurchaseGridColumns() {
editor: {type: "text", mask: '9999999.999'} editor: {type: "text", mask: '9999999.999'}
}, },
{ {
display: "金额", name: "totalMoney", width: "100", align: "left", type: "string" display: "损失金额", name: "totalMoney", width: "100", align: "left", type: "string"
} }
// { // {
// display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date" // display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date"
......
...@@ -149,20 +149,20 @@ ...@@ -149,20 +149,20 @@
<td class="td2" > <td class="td2" >
<#if (itemList)?? && ((itemList)?size > 0)> <#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list> <#list itemList as list>
<p class="p1" style="width:90pt" ><span>${(list.money)!' '}</span></p> <p class="p1" style="width:90pt" ><span>${(list.totalMoney)!' '}</span></p>
</#list>
</#if>
</td>
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">折算金额</span></p>
</td>
<td class="td2">
<#if (itemList)?? && ((itemList)?size > 0)>
<#list itemList as list>
<p class="p1" style="width:85pt" ><span>${(list.rmbMoney)!' '}</span></p>
</#list> </#list>
</#if> </#if>
</td> </td>
<#-- <td class="td1">-->
<#-- <p class="p1"><span style="font-weight:bolder ">折算金额</span></p>-->
<#-- </td>-->
<#-- <td class="td2">-->
<#-- <#if (itemList)?? && ((itemList)?size > 0)>-->
<#-- <#list itemList as list>-->
<#-- <p class="p1" style="width:85pt" ><span>${(list.rmbMoney)!' '}</span></p>-->
<#-- </#list>-->
<#-- </#if>-->
<#-- </td>-->
<td class="td1"> <td class="td1">
<p class="p1"><span style="font-weight:bolder ">客诉编号</span></p> <p class="p1"><span style="font-weight:bolder ">客诉编号</span></p>
</td> </td>
...@@ -230,6 +230,14 @@ ...@@ -230,6 +230,14 @@
</td> </td>
</tr> </tr>
<tr >
<td class="td1">
<p class="p1"><span style="font-weight:bolder ">赔付金额</span></p>
</td>
<td class="td2" style="width:90%">
<p class="p1" style="width:auto" ><span>${(head.payMoney)!' '}</span></p>
</td>
</tr>
</table> </table>
<table> <table>
<tr > <tr >
...@@ -259,7 +267,11 @@ ...@@ -259,7 +267,11 @@
<p class="p1"><span style="font-weight:bolder ">备注</span></p> <p class="p1"><span style="font-weight:bolder ">备注</span></p>
</td> </td>
<td class="td2" style="width:90%"> <td class="td2" style="width:90%">
<p class="p1" style="width:auto"><span class="autoLine">${(head.remark)!' '}</span></p> <p class="p1" style="width:auto">
<span class="autoLine">${(head.remark)!' '}</span>
<br/>
<span class="autoLine">${(head.opinion)!' '}</span>
</p>
</td> </td>
</tr> </tr>
......
...@@ -728,7 +728,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -728,7 +728,7 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
} else{ } else{
exceptionReport.setExceptionType("外部"); exceptionReport.setExceptionType("外部");
} }
String sql="select s.code,w.handler_name,w.handler_id,w.dept_name,w.full_id,w.HANDLED_DATE FROM WF_PROCUNITHANDLER w left join sa_oporg s on s.id=w.HANDLER_ID"; String sql="select s.code,w.handler_name,w.handler_id,w.dept_name,w.full_id,w.HANDLED_DATE,w.opinion FROM WF_PROCUNITHANDLER w left join sa_oporg s on s.id=w.HANDLER_ID";
sql+=" where biz_id='"+id+"' order by w.HANDLED_DATE desc "; sql+=" where biz_id='"+id+"' order by w.HANDLED_DATE desc ";
List<Map<String, Object>> mapList=sqlExecutorDao.queryToListMap(sql); List<Map<String, Object>> mapList=sqlExecutorDao.queryToListMap(sql);
Map<String ,Object> data = new HashMap<>(); Map<String ,Object> data = new HashMap<>();
...@@ -738,7 +738,9 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except ...@@ -738,7 +738,9 @@ public class ExceptionReportApplicationImpl extends FlowBroker implements Except
} }
if (mapList.size()>1) { if (mapList.size()>1) {
String preLastAuditPerson = mapList.get(1).get("handlerName").toString(); String preLastAuditPerson = mapList.get(1).get("handlerName").toString();
String opinion = mapList.get(1).get("opinion").toString();
data.put("preAuditPerson",preLastAuditPerson); data.put("preAuditPerson",preLastAuditPerson);
data.put("opinion",opinion);
} }
if ("supplier".equals(exceptionReport.getBillType())){ if ("supplier".equals(exceptionReport.getBillType())){
//StringBuffer dealmethod=new StringBuffer(""); //StringBuffer dealmethod=new StringBuffer("");
......
...@@ -6,6 +6,8 @@ import com.huigou.topsun.sap.exceptionReport.application.*; ...@@ -6,6 +6,8 @@ import com.huigou.topsun.sap.exceptionReport.application.*;
import com.huigou.topsun.sap.exceptionReport.domain.ExceptionReport; import com.huigou.topsun.sap.exceptionReport.domain.ExceptionReport;
import com.huigou.topsun.sap.exceptionReport.domain.ExceptionReportResponsible; import com.huigou.topsun.sap.exceptionReport.domain.ExceptionReportResponsible;
import com.huigou.topsun.sap.exceptionReport.domain.query.ExceptionReportQueryRequest; import com.huigou.topsun.sap.exceptionReport.domain.query.ExceptionReportQueryRequest;
import com.huigou.topsun.sap.sapApplication.application.SapMaterialApplication;
import com.huigou.topsun.sap.sapApplication.domain.query.SapDialogOrderQuery;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus; import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController; import com.huigou.uasp.client.CommonController;
...@@ -15,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -15,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -40,6 +44,8 @@ public class ExceptionReportController extends CommonController { ...@@ -40,6 +44,8 @@ public class ExceptionReportController extends CommonController {
private ExceptionReportCashApplication exceptionReportCashApplication; private ExceptionReportCashApplication exceptionReportCashApplication;
@Autowired @Autowired
private ExceptionReportGoodsApplication exceptionReportGoodsApplication; private ExceptionReportGoodsApplication exceptionReportGoodsApplication;
@Autowired
private SapMaterialApplication sapMaterialApplication;
@Override @Override
protected String getPagePath() { protected String getPagePath() {
...@@ -65,8 +71,11 @@ public class ExceptionReportController extends CommonController { ...@@ -65,8 +71,11 @@ public class ExceptionReportController extends CommonController {
return toResult(map); return toResult(map);
} }
public String chooseExceptionDetail(){ public String chooseExceptionClientDetail(){
return forward("chooseExceptionDetail"); SDO sdo = this.getSDO();
String customerOrderNo = sdo.getString("customerOrderNo");
this.putAttribute("customerOrderNo",customerOrderNo);
return forward("chooseExceptionClientDetail");
} }
/** /**
...@@ -258,4 +267,16 @@ public class ExceptionReportController extends CommonController { ...@@ -258,4 +267,16 @@ public class ExceptionReportController extends CommonController {
this.putAttribute("customerOrders",list); this.putAttribute("customerOrders",list);
return success(); return success();
} }
public String slicedExceptionClientList(){
SDO sdo = this.getSDO();
SapDialogOrderQuery queryRequest = sdo.toObject(SapDialogOrderQuery.class);
List<Map<String,String>> mapList = new ArrayList<>();
try {
mapList = sapMaterialApplication.getSapCustomerOrder(queryRequest);
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
return packGridDataAndResult(mapList);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment