Commit 38f5ed4f authored by 刘学辉's avatar 刘学辉

品质异常单根据异常类型获取不同接口数据

parent c6015faa
var itemGridManager, purchaseGridManager, dutyPersonGridManager = null var clientGridManager,produceGridManager, purchaseGridManager, dutyPersonGridManager = null
//var purchaseToolbarOptions=null;
$(function () { $(function () {
initialize(); initialize();
initSerachBox();
initProduceGrid(); initProduceGrid();
initClientGrid();
initPurchaseGrid(); initPurchaseGrid();
initDutyPersonGridGrid(); initDutyPersonGridGrid();
}); });
...@@ -42,11 +43,16 @@ function initialize() { ...@@ -42,11 +43,16 @@ function initialize() {
}); });
if ($('#exceptionReasonType').val() == "1") { if ($('#exceptionReasonType').val() == "1") {
showPurchaseDiv(); showPurchaseDiv();
} else { } else if ($('#exceptionReasonType').val() == "2") {
showProduceDiv(); showProduceDiv();
} else {
showClientDiv();
} }
$('#exceptionReasonType').combox({ $('#exceptionReasonType').combox({
onChange: function (v) { onChange: function (v) {
$('#customerOrderNo').val("");
$('#customerName').val("");
$('#customerNo').val("");
if (v.value == 1) { //供应商原料问题 if (v.value == 1) { //供应商原料问题
if ($('#exceptionType').val()=="in"){ if ($('#exceptionType').val()=="in"){
Public.tip("供应商原料问题的异常类型只能是外部!"); Public.tip("供应商原料问题的异常类型只能是外部!");
...@@ -60,7 +66,14 @@ function initialize() { ...@@ -60,7 +66,14 @@ function initialize() {
clearExceptionType(); clearExceptionType();
// return false; // return false;
} }
showProduceDiv(); if (v.value== "3"){
showClientDiv();
UICtrl.setElRequiredFlag("#customerNo", true);
} else {
UICtrl.setElRequiredFlag("#customerNo", false);
showProduceDiv();
}
} }
} }
}); });
...@@ -92,8 +105,25 @@ function showProduceDiv() { ...@@ -92,8 +105,25 @@ function showProduceDiv() {
$("#purchaseDiv").hide(); $("#purchaseDiv").hide();
$("#produceDiv").show(); $("#produceDiv").show();
$("#producegridDiv").show();
$("#clientgridDiv").hide();
try {
produceGridManager.loadData();
} catch(e){
// alert(e.error);
}
setPurchaseMustInput(false);
setProduceMustInput(true);
}
function showClientDiv() {
$("#purchaseDiv").hide();
$("#produceDiv").show();
$("#clientgridDiv").show();
$("#producegridDiv").hide();
try { try {
itemGridManager.loadData(); clientGridManager.loadData();
} catch(e){ } catch(e){
// alert(e.error); // alert(e.error);
} }
...@@ -126,11 +156,13 @@ function setPurchaseMustInput(flag) { ...@@ -126,11 +156,13 @@ function setPurchaseMustInput(flag) {
} }
function setProduceMustInput(flag) { function setProduceMustInput(flag) {
if ($('#exceptionReasonType').val() == "3"){
UICtrl.setElRequiredFlag("#customerNo", flag); UICtrl.setElRequiredFlag("#customerNo", flag);
}
UICtrl.setElRequiredFlag("#customerOrderNo", flag); UICtrl.setElRequiredFlag("#customerOrderNo", flag);
} }
function initProduceGrid() { function initSerachBox(){
//工厂 //工厂
$('#werksName').searchbox({ $('#werksName').searchbox({
type: "system", name: "dictionary", type: "system", name: "dictionary",
...@@ -151,22 +183,7 @@ function initProduceGrid() { ...@@ -151,22 +183,7 @@ function initProduceGrid() {
} }
countSumChange(); countSumChange();
}) })
/*$('#customerName').searchbox({
type: "system", name: "sapCustomerOrderSelect",
getParam: function (item) {
if (Public.isBlank($('#werksName').val())){
Public.tip("请先选择工厂!")
return false
}
return {
werks: $('#werks').val(),
}
},
onChange: function (value, data) {
$('#customerName').val(data.NAME1);
$('#customerNo').val(data.KUNNR);
}
});*/
$('#customerOrderNo').searchbox({ $('#customerOrderNo').searchbox({
type: "system", name: "sapCustomerOrderSelect", type: "system", name: "sapCustomerOrderSelect",
getParam: function (item) { getParam: function (item) {
...@@ -174,28 +191,39 @@ function initProduceGrid() { ...@@ -174,28 +191,39 @@ function initProduceGrid() {
Public.tip("请先选择工厂!") Public.tip("请先选择工厂!")
return false return false
} }
if (Public.isBlank($('#customerNo').val())) { if ($('#exceptionReasonType').val()=="3"&&Public.isBlank($('#customerNo').val())) {
Public.tip("请先输入客户编号!") Public.tip("请先输入客户编号!")
return false return false
} }
return { return {
werks: $('#werks').val(), werks: $('#werks').val(),
kunnr: $('#customerNo').val(), kunnr: $('#customerNo').val(),
reasonType:$('#exceptionReasonType').val() reasonType:$('#exceptionReasonType').val()
} }
}, },
onChange: function (value, data) { onChange: function (value, data) {
if ($('#exceptionReasonType').val()=="3") { //客户异常
$('#customerName').val(data.NAME1);
}
if ($('#exceptionReasonType').val()=="2"&&data.VBELN!=undefined) { //生产异常
produceGridManager.addRows({
produceNo:data.VBELN,
productCode: data.MATNR,
productName: data.MAKTX,
unitName: data.MEINS,
number: data.PSMNG
});
}
$('#customerOrderNo').val(data.VBELN); $('#customerOrderNo').val(data.VBELN);
$('#customerName').val(data.NAME1);
} }
}); });
var toolbarOptions = UICtrl.getDefaultToolbarOptions({ }
function initProduceGrid() {
var produceToolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
/* if (Public.isBlank($('#customerOrderNo').val())) { UICtrl.addGridRow(produceGridManager);
Public.tip("请先输入客户订单号!")
return false
}*/
UICtrl.addGridRow(itemGridManager);
}, },
deleteHandler: function () { deleteHandler: function () {
var _grid = UICtrl.getGridManager('#producegrid'); var _grid = UICtrl.getGridManager('#producegrid');
...@@ -205,14 +233,14 @@ function initProduceGrid() { ...@@ -205,14 +233,14 @@ function initProduceGrid() {
gridManager: _grid, gridManager: _grid,
idFieldName: 'id', idFieldName: 'id',
onSuccess: function () { onSuccess: function () {
countSum(itemGridManager.rows); countSum(produceGridManager.rows);
reloadGrid(); reloadGrid();
} }
}); });
}, },
}); });
itemGridManager = UICtrl.grid('#producegrid', { produceGridManager = UICtrl.grid('#producegrid', {
columns: getGridColumns(), columns: getProcduceGridColumns(),
dataAction: 'server', dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax', url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax',
parms: {exceptionReportId: getId(),exceptionReasonType:"2"}, parms: {exceptionReportId: getId(),exceptionReasonType:"2"},
...@@ -227,38 +255,93 @@ function initProduceGrid() { ...@@ -227,38 +255,93 @@ function initProduceGrid() {
fixedCellHeight: true, fixedCellHeight: true,
selectRowButtonOnly: true, selectRowButtonOnly: true,
//autoApplyNextEditor:false, //autoApplyNextEditor:false,
toolbar: toolbarOptions, toolbar: produceToolbarOptions,
onAfterEdit: function (item) { onAfterEdit: function (item) {
if (item.column.name == 'rmbMoney') { if (item.column.name == 'rmbMoney') {
countSum(itemGridManager.rows); countSum(produceGridManager.rows);
var money = MathUtil.add(item.record.money, item.value); var money = MathUtil.add(item.record.money, item.value);
itemGridManager.updateRow(item.record, {totalMoney:money }); produceGridManager.updateRow(item.record, {totalMoney:money });
} }
}, },
onAfterShowData() { onAfterShowData() {
countSum(itemGridManager.rows); countSum(produceGridManager.rows);
for (var r = 0; r < itemGridManager.rows.length; r++) { for (var r = 0; r < produceGridManager.rows.length; r++) {
var money = MathUtil.add(itemGridManager.rows[r].rmbMoney, itemGridManager.rows[r].money); var money = MathUtil.add(produceGridManager.rows[r].rmbMoney, produceGridManager.rows[r].money);
itemGridManager.updateRow(itemGridManager.rows[r], {totalMoney:money }); produceGridManager.updateRow(produceGridManager.rows[r], {totalMoney:money });
} }
}
})
UICtrl.setSearchAreaToggle(produceGridManager);
}
function initClientGrid() {
produceToolbarOptions=null;
var clientToolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(clientGridManager);
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#clientgrid');
DataUtil.delSelectedRows({
action: 'exceptionReport/deleteExceptionReportItem.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
countSum(clientGridManager.rows);
reloadGrid();
}
});
},
});
clientGridManager = UICtrl.grid('#clientgrid', {
columns: getClientGridColumns(),
dataAction: 'server',
url: web_app.name + '/exceptionReport/slicedExceptionReportItemList.ajax',
parms: {exceptionReportId: getId(),exceptionReasonType:"2"},
height:'auto', // colRowNum*35+90
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
//autoApplyNextEditor:false,
toolbar: clientToolbarOptions,
onAfterEdit: function (item) {
if (item.column.name == 'rmbMoney') {
countSum(clientGridManager.rows);
var money = MathUtil.add(item.record.money, item.value);
clientGridManager.updateRow(item.record, {totalMoney:money });
}
},
onAfterShowData() {
countSum(clientGridManager.rows);
for (var r = 0; r < clientGridManager.rows.length; r++) {
var money = MathUtil.add(clientGridManager.rows[r].rmbMoney, clientGridManager.rows[r].money);
clientGridManager.updateRow(clientGridManager.rows[r], {totalMoney:money });
}
} }
}) })
UICtrl.setSearchAreaToggle(itemGridManager); UICtrl.setSearchAreaToggle(clientGridManager);
} }
function countSumChange() { function countSumChange() {
if ($('#exceptionReasonType').val() == "1") { if ($('#exceptionReasonType').val() == "1") {
countSum(purchaseGridManager.rows); countSum(purchaseGridManager.rows);
} else if ($('#exceptionReasonType').val() == "2") {
countSum(produceGridManager.rows);
} else { } else {
countSum(itemGridManager.rows); countSum(clientGridManager.rows);
} }
} }
function getGridColumns() { function getClientGridColumns() {
var columns = []; var columns = [];
columns = [ columns.push({
{
display: "生产单号", name: "produceNo", width: "160", align: "left", type: "string", display: "生产单号", name: "produceNo", width: "160", align: "left", type: "string",
editor: { editor: {
required: false, type: "select", required: false, type: "select",
...@@ -267,13 +350,14 @@ function getGridColumns() { ...@@ -267,13 +350,14 @@ function getGridColumns() {
name: "sapCustomerProduceNo", name: "sapCustomerProduceNo",
getParam: function (item) { getParam: function (item) {
if (Public.isBlank($('#customerOrderNo').val())) { if (Public.isBlank($('#customerOrderNo').val())) {
Public.tip("请先输入客户单号!") Public.tip("请先输入客户单号!")
return false; return false;
} }
return { return {
werks: $("#werks").val(), werks: $("#werks").val(),
kunnr: $("#customerNo").val(), kunnr: $("#customerNo").val(),
vbeln: $("#customerOrderNo").val(), vbeln: $("#customerOrderNo").val(),
reasonType: $('#exceptionReasonType').val()
} }
}, },
back: { back: {
...@@ -288,24 +372,68 @@ function getGridColumns() { ...@@ -288,24 +372,68 @@ function getGridColumns() {
} }
} }
} }
}, });
columns.push(
{display: "产品编码", name: "productCode", width: "160", align: "left", type: "string" {display: "产品编码", name: "productCode", width: "160", align: "left", type: "string"
,editor: {type: 'text'} ,editor: {type: 'text'}
}, } );
columns.push(
{display: "产品名称", name: "productName", width: "200", align: "left", type: "string" {display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
,editor: {type: 'text'} ,editor: {type: 'text'}
} );
columns.push(
{display: "数量", name: "number", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'}
} );
columns.push(
{display: "单位", name: "unitName", width: "80", align: "left", type: "string"
,editor: {type: "text"}
} );
columns.push(
{display: "币别", name: "currencyName", width: "100", align: "left", type: "string"
,editor: {type: "text"}
} );
columns.push(
{display: "金额", name: "money", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'}
} );
columns.push(
{
display: "折算金额", name: "rmbMoney", width: "100", align: "left", type: "string",
editor: {type: "text", mask: '9999999.999'}
} );
columns.push(
{display: "出货日期", name: "sendDate", width: "140", align: "left", type: "date"
,editor: {type: "date"}
} );
return columns;
}
function getProcduceGridColumns() {
var columns = [];
columns.push({
display: "生产单号", name: "produceNo", width: "160", align: "left", type: "string",
editor: {type: 'text'}
});
columns.push(
{display: "产品编码", name: "productCode", width: "160", align: "left", type: "string"
,editor: {type: 'text'}
},
{display: "产品名称", name: "productName", width: "200", align: "left", type: "string"
,editor: {type: 'text'}
}, },
{display: "数量", name: "number", width: "100", align: "left", type: "string" {display: "数量", name: "number", width: "100", align: "left", type: "string"
,editor: {type: "text",mask: '9999999.999'} ,editor: {type: "text",mask: '9999999.999'}
}, },
{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: {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'}
}, },
{ {
display: "折算金额", name: "rmbMoney", width: "100", align: "left", type: "string", display: "折算金额", name: "rmbMoney", width: "100", align: "left", type: "string",
...@@ -315,9 +443,9 @@ function getGridColumns() { ...@@ -315,9 +443,9 @@ function getGridColumns() {
// 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"
,editor: {type: "date"} ,editor: {type: "date"}
} }
] );
return columns; return columns;
} }
...@@ -360,7 +488,7 @@ function initDutyPersonGridGrid() { ...@@ -360,7 +488,7 @@ function initDutyPersonGridGrid() {
); );
UICtrl.setSearchAreaToggle(dutyPersonGridManager); UICtrl.setSearchAreaToggle(dutyPersonGridManager);
} }
/*
function initPurchaseToolBar(){ function initPurchaseToolBar(){
purchaseToolbarOptions = UICtrl.getDefaultToolbarOptions({ purchaseToolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function () { addHandler: function () {
...@@ -380,7 +508,7 @@ function initPurchaseToolBar(){ ...@@ -380,7 +508,7 @@ function initPurchaseToolBar(){
}); });
}, },
}); });
} } */
function initPurchaseGrid() { function initPurchaseGrid() {
var purchaseToolbarOptions = UICtrl.getDefaultToolbarOptions({ var purchaseToolbarOptions = UICtrl.getDefaultToolbarOptions({
...@@ -599,6 +727,9 @@ function getExtendedData(processAction) { ...@@ -599,6 +727,9 @@ function getExtendedData(processAction) {
if ($('#exceptionReasonType').val() == "1") { //供应商材料问题 if ($('#exceptionReasonType').val() == "1") { //供应商材料问题
_grid = UICtrl.getGridManager('#purchasegrid'); _grid = UICtrl.getGridManager('#purchasegrid');
} }
if ($('#exceptionReasonType').val() == "3") { //客户异常
_grid = UICtrl.getGridManager('#clientgrid');
}
if (_grid) { if (_grid) {
var datas = DataUtil.getGridData({ var datas = DataUtil.getGridData({
gridManager: _grid, gridManager: _grid,
...@@ -612,14 +743,14 @@ function getExtendedData(processAction) { ...@@ -612,14 +743,14 @@ function getExtendedData(processAction) {
var _dutyPersonGrid = UICtrl.getGridManager('#dutyPersonGrid'); var _dutyPersonGrid = UICtrl.getGridManager('#dutyPersonGrid');
if (_dutyPersonGrid) { if (_dutyPersonGrid) {
var datas = DataUtil.getGridData({ var datas2 = DataUtil.getGridData({
gridManager: _dutyPersonGrid, gridManager: _dutyPersonGrid,
isAllData: true isAllData: true
}); });
if (!datas) { if (!datas2) {
return false; return false;
} }
extendedData.personList = Public.encodeJSONURI(datas); extendedData.personList = Public.encodeJSONURI(datas2);
} }
return extendedData; return extendedData;
} }
...@@ -633,6 +764,9 @@ function setId(value) { ...@@ -633,6 +764,9 @@ function setId(value) {
var _grid = UICtrl.getGridManager('#producegrid'); var _grid = UICtrl.getGridManager('#producegrid');
_grid.options.parms.exceptionReportId = value; _grid.options.parms.exceptionReportId = value;
var _grid = UICtrl.getGridManager('#clientgrid');
_grid.options.parms.exceptionReportId = value;
var _purchasegrid = UICtrl.getGridManager('#purchasegrid'); var _purchasegrid = UICtrl.getGridManager('#purchasegrid');
_purchasegrid.options.parms.exceptionReportId = value; _purchasegrid.options.parms.exceptionReportId = value;
...@@ -641,7 +775,8 @@ function setId(value) { ...@@ -641,7 +775,8 @@ function setId(value) {
} }
function reloadGrid() { function reloadGrid() {
itemGridManager.loadData(); clientGridManager.loadData();
produceGridManager.loadData();
purchaseGridManager.loadData(); purchaseGridManager.loadData();
dutyPersonGridManager.loadData(); dutyPersonGridManager.loadData();
countSumChange(); countSumChange();
......
...@@ -65,11 +65,16 @@ ...@@ -65,11 +65,16 @@
<div class="hg-form-cols" id="produceDiv"> <div class="hg-form-cols" id="produceDiv">
<div class="hg-form-row"> <div class="hg-form-row">
<x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="false"/> <x:inputC name="customerNo" label="客户编号" labelCol="1" fieldCol="2" required="false"/>
<x:inputC name="customerOrderNo" label="生产订单号/销售订单号" labelCol="2" fieldCol="4" wrapper="select" required="false"/> <x:inputC name="customerOrderNo" label="生产单号/客户单号" labelCol="2" fieldCol="4" wrapper="select" required="false"/>
<x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/> <x:inputC name="customerName" label="客户名称" labelCol="1" fieldCol="2" required="false" readonly="true"/>
</div> </div>
<x:title title="单号信息" name="group" hideTable="#info" /> <x:title title="单号信息" name="group" hideTable="#info" />
<div id="producegrid"></div> <div class="hg-form-cols" id="producegridDiv">
<div id="producegrid"></div>
</div>
<div class="hg-form-cols" id="clientgridDiv">
<div id="clientgrid"></div>
</div>
</div> </div>
<div class="hg-form-cols"> <div class="hg-form-cols">
......
...@@ -306,12 +306,25 @@ public class ResourceSearchController { ...@@ -306,12 +306,25 @@ public class ResourceSearchController {
Integer pageSize = sdo.getInteger("pageSize",10); Integer pageSize = sdo.getInteger("pageSize",10);
PageRequest pageRequest = new PageRequest(intPage - 1, pageSize); PageRequest pageRequest = new PageRequest(intPage - 1, pageSize);
EasySearchParse easySearchParse = new EasySearchParse(); EasySearchParse easySearchParse = new EasySearchParse();
List<QuerySchemeField> fields = List<QuerySchemeField> fields =new ArrayList<>();
Arrays.asList( if ("2".equals(queryRequest.getReasonType())){ //生产异常
new QuerySchemeField("客户编号", "KUNNR", "string", 60L), fields =
new QuerySchemeField("客户名称", "NAME1", "string", 150L), Arrays.asList(
new QuerySchemeField("订单号", "VBELN", "string", 160L) new QuerySchemeField("订单号", "VBELN", "string", 150L),
); // new QuerySchemeField("订单描述", "KTEXT", "string", 160L),
new QuerySchemeField("物料编码", "MATNR", "string", 160L),
new QuerySchemeField("物料描述", "MAKTX", "string", 160L),
new QuerySchemeField("数量", "PSMNG", "string", 100L),
new QuerySchemeField("单位", "MEINS", "string", 100L)
);
} else {
fields =
Arrays.asList(
new QuerySchemeField("订单号", "VBELN", "string", 130L),
new QuerySchemeField("客户编号", "KUNNR", "string", 60L),
new QuerySchemeField("客户名称", "NAME1", "string", 150L)
);
}
easySearchParse.setFields(fields); easySearchParse.setFields(fields);
easySearchParse.setWidth(500L); easySearchParse.setWidth(500L);
MemEasySearcher<Map<String, String>> memEasySearcher = new MemEasySearcherImpl<>(); MemEasySearcher<Map<String, String>> memEasySearcher = new MemEasySearcherImpl<>();
......
...@@ -64,6 +64,7 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -64,6 +64,7 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
OrderQueryVo orderQueryVo=new OrderQueryVo(); OrderQueryVo orderQueryVo=new OrderQueryVo();
SignVo signVo=null; SignVo signVo=null;
String InterfaceName="SALES_ORDERS/SALES"; //客户异常 查询销售订单接口
if (StringUtils.isNotBlank(queryRequest.getWerks())) { //工厂 if (StringUtils.isNotBlank(queryRequest.getWerks())) { //工厂
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow(queryRequest.getWerks()); signVo.setLow(queryRequest.getWerks());
...@@ -71,21 +72,26 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -71,21 +72,26 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
werksList.add(signVo); werksList.add(signVo);
orderQueryVo.setWERKS(werksList); orderQueryVo.setWERKS(werksList);
} }
if (StringUtils.isNotBlank(queryRequest.getKunnr())) { //客户 if (StringUtils.isNotBlank(queryRequest.getKunnr())&&"3".equals(queryRequest.getReasonType())) { //客户编号
signVo=new SignVo(); signVo = new SignVo();
signVo.setLow(queryRequest.getKunnr()); signVo.setLow(queryRequest.getKunnr());
List <SignVo> kunnrList=new ArrayList<>(); List<SignVo> kunnrList = new ArrayList<>();
kunnrList.add(signVo); kunnrList.add(signVo);
orderQueryVo.setKUNNR(kunnrList); orderQueryVo.setKUNNR(kunnrList);
if (StringUtils.isNotBlank(queryRequest.getParamValue())) { //过滤参数 }
if (StringUtils.isNotBlank(queryRequest.getParamValue())) { //过滤参数 按订单号查询
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow("*"+queryRequest.getParamValue()+"*"); signVo.setLow("*"+queryRequest.getParamValue()+"*");
signVo.setOption("CP"); signVo.setOption("CP");
List <SignVo> vbelnList=new ArrayList<>(); List <SignVo> vbelnList=new ArrayList<>();
vbelnList.add(signVo); vbelnList.add(signVo);
orderQueryVo.setVBELN(vbelnList); if ("3".equals(queryRequest.getReasonType())) { //如果是客户异常
} orderQueryVo.setBSTNK(vbelnList);
if ("3".equals(queryRequest.getReasonType())){ //如果是客户异常 } else { // 是生产异常
orderQueryVo.setAUFNR(vbelnList);
}
}
if ("3".equals(queryRequest.getReasonType())){ //如果是客户异常
List <SignVo>auartList=new ArrayList<>(); List <SignVo>auartList=new ArrayList<>();
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow("ZDO"); signVo.setLow("ZDO");
...@@ -94,20 +100,75 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -94,20 +100,75 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
signVo2.setLow("ZEO"); signVo2.setLow("ZEO");
auartList.add(signVo2); auartList.add(signVo2);
orderQueryVo.setAUART(auartList); orderQueryVo.setAUART(auartList);
} } else{ //生产异常
} InterfaceName="SEARCH/SCH_AUFNR";
if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //客户销售订单号 }
if (StringUtils.isNotBlank(queryRequest.getVbeln())&&"3".equals(queryRequest.getReasonType())) { //客户单号
signVo=new SignVo(); signVo=new SignVo();
signVo.setLow(queryRequest.getVbeln()); signVo.setLow(queryRequest.getVbeln());
List <SignVo> vbelnList=new ArrayList<>(); List <SignVo> vbelnList=new ArrayList<>();
vbelnList.add(signVo); vbelnList.add(signVo);
orderQueryVo.setVBELN(vbelnList); orderQueryVo.setBSTNK(vbelnList);
} }
Object obj = JSONObject.toJSON(orderQueryVo); Object obj = JSONObject.toJSON(orderQueryVo);
try { try {
String json = httpClient.execute(obj, "SALES_ORDERS/SALES"); String json ="";
List<Map<String, Object>> mapList = JSONUtil.toListMap(json); List<Map<String, Object>> mapList=new ArrayList<>();
if ("3".equals(queryRequest.getReasonType())) { //如果是客户异常
if (StringUtils.isNotBlank(queryRequest.getParamValue())||StringUtils.isNotBlank(queryRequest.getVbeln())) { //必须输入参数
json = httpClient.execute(obj, InterfaceName);
mapList = JSONUtil.toListMap(json);
}
} else { //生产异常
Map<String,Object> param = new HashMap<>();
param.put("BUKRS",queryRequest.getWerks());
if (StringUtils.isNotBlank(queryRequest.getVbeln())){ //生产订单号
param.put("AUFNR",queryRequest.getVbeln());
}
if (StringUtils.isNotBlank(queryRequest.getParamValue())){
param.put("AUFNR",queryRequest.getParamValue());
}
List<Map<String,String>> mapList2 = new ArrayList<>();
json=httpClient.execute(param, "search/sch_aufnr");
Map<String, String> map = JSONObject.parseObject(json, Map.class);
SapResult sapResult = JSONObject.parseObject(cn.hutool.json.JSONUtil.toJsonStr(map.get("MSG")), SapResult.class);
if ("S".equals(sapResult.getTYPE())) {
ObjectMapper objectMapper = SAPUtils.objectMapper();
mapList2 = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {
});
if (StringUtils.isNotBlank(queryRequest.getVbeln())) {
for (Map mapItem : mapList2) {
Map newMap = new HashMap();
newMap.put("MATNR", mapItem.get("PLNBEZ")); //物料编号
newMap.put("MAKTX", mapItem.get("MAKTX")); //物料描述
newMap.put("PSMNG", mapItem.get("GAMNG")); //数量
newMap.put("MEINS", mapItem.get("GMEIN")); //单位
sapOrderVoList.add(newMap);
}
} else {
for (Map mapItem : mapList2) {
Map newMap = new HashMap();
newMap.put("VBELN", mapItem.get("AUFNR")); //订单号
newMap.put("KTEXT", mapItem.get("KTEXT")); //订单描述
newMap.put("MATNR", mapItem.get("PLNBEZ")); //物料编号
newMap.put("MAKTX", mapItem.get("MAKTX")!=null?mapItem.get("MAKTX"):""); //物料描述
newMap.put("PSMNG", mapItem.get("GAMNG")); //数量
newMap.put("MEINS", mapItem.get("GMEIN")); //单位
if (StringUtils.isNotBlank(queryRequest.getParamValue())
&&mapItem.get("AUFNR").toString().indexOf(queryRequest.getParamValue())>-1
) { //过滤参数
sapOrderVoList.add(newMap);
break;
}
//sapOrderVoList.add(newMap);
}
}
}
}
if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //按生产订单号 if (StringUtils.isNotBlank(queryRequest.getVbeln())) { //按生产订单号
for (Map map : mapList) { for (Map map : mapList) {
Map newMap = new HashMap(); Map newMap = new HashMap();
...@@ -117,7 +178,12 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication { ...@@ -117,7 +178,12 @@ public class SapMaterialApplicationImpl implements SapMaterialApplication {
newMap.put("MAKTX", mapItem.get("MAKTX")); //物料名称 newMap.put("MAKTX", mapItem.get("MAKTX")); //物料名称
newMap.put("AUFNR", mapItem.get("AUFNR")); //生产单号 newMap.put("AUFNR", mapItem.get("AUFNR")); //生产单号
newMap.put("PSMNG", mapItem.get("PSMNG")); //生产数量 newMap.put("PSMNG", mapItem.get("PSMNG")); //生产数量
newMap.put("LFDAT", mapItem.get("LFDAT")); //出货日期 String sendDate="";
if (!"00000000".equals(mapItem.get("LFDAT").toString())){
sendDate=mapItem.get("LFDAT").toString();
sendDate=sendDate.substring(0,4)+"-"+sendDate.substring(4,6)+"-"+sendDate.substring(6,8);
}
newMap.put("LFDAT", sendDate); //出货日期
newMap.put("MEINS", mapItem.get("MEINS_O")); //单位 newMap.put("MEINS", mapItem.get("MEINS_O")); //单位
// KPEIN //定价单位 // KPEIN //定价单位
......
...@@ -105,6 +105,7 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication { ...@@ -105,6 +105,7 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication {
public List<Map<String, String>> getCompanyOrders(String BUKRS) throws IOException { public List<Map<String, String>> getCompanyOrders(String BUKRS) throws IOException {
Map<String,Object> param = new HashMap<>(); Map<String,Object> param = new HashMap<>();
param.put("BUKRS",BUKRS); param.put("BUKRS",BUKRS);
param.put("ZTYPE","N");
String execute = null; String execute = null;
List<Map<String,String>> mapList = new ArrayList<>(); List<Map<String,String>> mapList = new ArrayList<>();
try { try {
...@@ -114,7 +115,6 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication { ...@@ -114,7 +115,6 @@ public class SapPaymentApplicationImpl implements SapPaymentApplication {
if ("S".equals(sapResult.getTYPE())) { if ("S".equals(sapResult.getTYPE())) {
ObjectMapper objectMapper = SAPUtils.objectMapper(); ObjectMapper objectMapper = SAPUtils.objectMapper();
mapList = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {}); mapList = objectMapper.readValue(com.huigou.util.JSONUtil.toString(map.get("RDATA")), new TypeReference<List<Map<String, String>>>() {});
} }
// else { // else {
// throw new RuntimeException("查询公司内部订单失败:" + sapResult.getMESSAGE()); // throw new RuntimeException("查询公司内部订单失败:" + sapResult.getMESSAGE());
......
...@@ -14,6 +14,8 @@ public class SapDialogOrderQuery { ...@@ -14,6 +14,8 @@ public class SapDialogOrderQuery {
private String vbeln; //销售订单号 private String vbeln; //销售订单号
private String aufnr; //生产订单号
private String werks; //工厂 private String werks; //工厂
private String reasonType; //异常原因类型 private String reasonType; //异常原因类型
......
...@@ -11,10 +11,17 @@ public class OrderQueryVo { ...@@ -11,10 +11,17 @@ public class OrderQueryVo {
private List<SignVo> KUNNR; private List<SignVo> KUNNR;
@JSONField(name="WERKS") @JSONField(name="WERKS")
private List<SignVo> WERKS; private List<SignVo> WERKS;
@JSONField(name="VBELN") @JSONField(name="VBELN")
private List<SignVo> VBELN; private List<SignVo> VBELN;
@JSONField(name="BSTNK")
private List<SignVo> BSTNK;
@JSONField(name="AUART") @JSONField(name="AUART")
private List<SignVo> AUART; private List<SignVo> AUART;
@JSONField(name="AUFNR")
private List<SignVo> AUFNR;
} }
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