Commit 57fe48c0 authored by 刘学辉's avatar 刘学辉

Merge remote-tracking branch 'origin/dev' into dev

parents 8da7ccbf 9b7d97b1
......@@ -1576,6 +1576,9 @@
opts.onChange.call(this,values,{});
}
}
if($.isFunction(opts.beforeChange)){//原始数据作为参数回调
opts.beforeChange.call(this,values)
}
if(opts.checkbox&&this.selectDataMap){
this.selectDataMap.clear();
}
......
<%--采购申请--%>
<%@ 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="请选择采购申请PR类型" 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="bsart" label="pr类型" labelCol="4" fieldCol="8" required="true"/>
</div>
</div>
</form>
</div>
</body>
\ No newline at end of file
var itemGridManager = null,pstyp=" ",fillinDate="",ZEBKN_NUM=0;
var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = "";
$(function () {
initItemGrid();
initializeCommonUI();
bindEvent();
initItemGrid();
});
function bindEvent() {
$("#bsart").combox({onChange:function(data){
if ("ZFW" == data.value){
function initializeCommonUI() {
bsart = $("#bsart").val();
if ("ZFW" == bsart) {
pstyp = "D";
}else {
} else {
pstyp = "";
}
}
})
}
function bindEvent() {
fillinDate = $("#fillinDate").val();
}
function initItemGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addHandler: function(){
UICtrl.addGridRow(itemGridManager,{ bnfpo: (itemGridManager.getData().length + 1)*10 ,pstyp:pstyp,badat:fillinDate,erdat:fillinDate});
var toolbar = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(itemGridManager, {
bnfpo: (itemGridManager.getData().length + 1) * 10,
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate
});
},
deleteHandler: function (){
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#maingrid');
DataUtil.delSelectedRows({
action: 'sapPurchaseItem/deleteSapPurchaseItem.ajax',
......@@ -35,12 +39,12 @@ function initItemGrid() {
}
});
},
});
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
dataAction: 'server',
url: web_app.name + '/sapPurchaseItem/querySapPurchaseItems.ajax',
parms:{sapPurchaseId:getId()},
parms: {sapPurchaseId: getId()},
height: '95%',
heightDiff: -4,
sortName: 'id',
......@@ -51,24 +55,40 @@ function initItemGrid() {
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
autoApplyNextEditor:false,
toolbar: toolbarOptions,
autoApplyNextEditor: false,
toolbar: toolbar,
onBeforeEdit: function (editParm) {
var c = editParm.column, data = editParm.record;
//仅适用于KNTTP=K时
if (data.knttp !== "K" && c.name === 'kostl') {
return false;
}
//仅适用于KNTTP=F时
if (data.knttp !== "F" && c.name === 'aufnr') {
return false;
}
//仅适用于KNTTP=A时
// 仅适用于KNTTP=A时
if (data.knttp !== 'A' && (c.name === 'anln1' || c.name === 'anln2')){
return false;
}
// var c = editParm.column, data = editParm.record;
// //非资产类消耗性采购申请类型当“科目分配类型”选择K后“物料编号”字段调整为非必须输入项;“成本中心”、“总账科目”字段调整为必须输入项。订单号不可编辑。
// if ("ZNE2" == bsart && (data.knttp == "K"|| data.knttp == "F" ) && c.name === 'kostl') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=F时
// if (("ZFW" == bsart || "ZNE2" == bsart) && data.knttp == "F" && c.name === 'aufnr') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=A时
// if (data.knttp == 'A' && c.name === 'anln1') {
// return true;
// }else {
// return false;
// }
},
onAfterEdit: function (editParm) {
// if (editParm.record.knttp === "K") {
// var colums = itemGridManager.columns;
// colums.forEach(colum => {
// if (colum.name == "matnr") {
// colum.editor.required = false;
// itemGridManager.columns = colums
// }
// })
// }
}
}
);
UICtrl.setSearchAreaToggle(itemGridManager);
......@@ -76,14 +96,15 @@ function initItemGrid() {
function getGridColumns() {
var columns = [];
columns = [
{display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
editor: { type: 'spinner', min: 10, max: 200, mask: 'nnn'}
},
{display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string"},
{display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string",
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'}
},);
columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
columns.push({
display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string",
editor: {
required: false, type: "select",
required: true, type: "select",
data: {
type: 'system',
name: "knttp",
......@@ -94,10 +115,10 @@ function getGridColumns() {
knttp: "knttp"
}
},
onChange() {}
}
},
{display: "工厂", name: "werks", width: "100", align: "left", type: "string",
},);
columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
......@@ -109,41 +130,17 @@ function getGridColumns() {
back: {
WERKS: "werks",
NAME1: "name1"
}
},
}
},
{display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"}
},
{display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "sapMaterialSelect",
getParam: function (item) {
return {
filterValue:item.werks
}
},
back: {
MATNR: "matnr",
MAKTX: "txz01",
MATKL: "matkl",
WGBEZ: "matklName",
EKGRP: "ekgrp",
EKNAM: "ekgrpName",
PEINH: "peinh",
MEINS: "meins",
MSEHL: "meinsName",
LGFSB: "lgort",
LGOBE: "lgobe"
}
},
}
},
{display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
},);
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"}
});
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
......@@ -158,14 +155,17 @@ function getGridColumns() {
}
},
}
},
{display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
//editor: {required: false, type: "text"}
},
{display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
editor: {required: true, type: "text"}
},
{display: "物料组", name: "matkl", width: "100", align: "left", type: "string",
},);
columns.push({
display: "物料组", name: "matkl", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
......@@ -179,11 +179,13 @@ function getGridColumns() {
}
},
}
},
{display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
editor: {required: true, type: "text",mask: '9999999.999'}
},
{display: "申购数量单位", name: "meins", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
editor: {required: true, type: "text", mask: '9999999.999'}
},);
columns.push({
display: "申购数量单位", name: "meins", width: 150, minWidth: 60, type: "string", align: "center",
/*editor: {
required: false, type: "select",
data: {
......@@ -198,8 +200,9 @@ function getGridColumns() {
},
}*/
editor: {required: true, type: "text"}
},
{display: "采购组", name: "ekgrp", width: 150, minWidth: 60, type: "string", align: "center",
},);
columns.push({
display: "采购组", name: "ekgrp", width: 150, minWidth: 60, type: "string", align: "center",
editor: {
required: true, type: "select",
data: {
......@@ -213,60 +216,33 @@ function getGridColumns() {
}
},
}
},
{display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
},
{display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},
{display: "批准日期", name: "frgdt", width: "80", align: "left", type: "string",
editor: {required: false, type: "date"}
},
{display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
editor: {required: true, type: "date"}
},
{display: "服务主数据编号", name: "srvpos", width: "80", align: "left", type: "string",
editor: {type: 'text', required: false},
},
{display: "服务短文本", name: "ktext1", width: "100", align: "left", type: "string"},
{display: "服务条目数量", name: "esllMenge", width: "80", align: "left", type: "string",
//editor: {type: 'text', mask: '9999999.999'},
render:function(item){
return item.esllMenge=item.menge;
}
},
{display: "服务计量单位", name: "esllMeins", width: "100", align: "left", type: "string",
editor: {type: "text", required: false,}
},
{display: '定价基数', name: "peinh", width: "100", align: "left", type: "string",
//editor: {required: true, type: "select"}
render:function(item){
return item.peinh=item.preis;
}
},
{display: "服务预估单价", name: "brtwr", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99'}
},
{display: "服务预估金额", name: "netwr", width: "100", align: "left", type: "string",
render:function(item){
if (item.brtwr == '' || item.brtwr == null || item.peinh == '' || item.peinh == null){
return item.netwr=0;
}
return item.netwr=(item.brtwr*item.esllMenge/item.peinh).toFixed(2);
}
},
{display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},
{display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
},);
columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
columns.push({
display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
editor: {type: 'text', required: false},
},
{display: "评估价格", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99',required: true}
},
{display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999',required: false}
},
{display: "币种", name: "waers", width: "100", align: "left", type: "string",
},);
columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99', required: true}
},);
columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
//editor: {type: 'text', mask: '9999999',required: false}
render: function (item) {
return item.ebanPeinh = 1;
}
},);
columns.push({
display: "币种", name: "waers", width: "100", align: "left", type: "string",
editor: {
required: false, type: "text",
/*data: {
......@@ -280,55 +256,60 @@ function getGridColumns() {
}
},*/
}
},
{display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
render:function(item){
if (item.ebanPeinh == ''){
return item.ebanNetwr=null;
},);
columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
render: function (item) {
if (item.ebanPeinh == '') {
return item.ebanNetwr = null;
}
return item.ebanNetwr=(item.preis*item.menge/item.ebanPeinh).toFixed(2);
return item.ebanNetwr = (item.preis * item.menge / item.ebanPeinh).toFixed(2);
}
//editor: {type: 'text'}
},
{display: "会计分配序号", name: "zebkn", width: "100", align: "left", type: "string",
},);
columns.push({
display: "会计分配序号", name: "zebkn", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render:function (item){
render: function (item) {
//申购项次为消耗性采购时,从1开始步长为1自动编号,最大99
// if (item.knttp != ''){
// ZEBKN_NUM = ZEBKN_NUM + 1;
// }
return item.zebkn = item.menge;
}
},
{display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string",
},);
columns.push({
display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string",
//editor: {type: 'text'},
render : function (item) {
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1){
if (item.knttp == "A" && item.menge > 1) {
return item.vrtkz = 1;
}
}
},
{display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string",
},);
columns.push({
display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render : function (item) {
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1){
if (item.knttp == "A" && item.menge > 1) {
return item.twrkz = 1;
}
}
},
{display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string",
},);
columns.push({
display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string",
editor: {type: 'text'}
},
{
},);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {type: 'text',required: true}
},
{
editor: {type: 'text', required: true}
},);
columns.push({
display: "成本中心", name: "kostl", width: "200", align: "left", type: "string",
editor: {
required: false, type: "select",
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
......@@ -340,8 +321,8 @@ function getGridColumns() {
}
},
}
},
{
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
//editor: {type: 'text'}
editor: {
......@@ -360,35 +341,19 @@ function getGridColumns() {
}
},
}
},
{
display: "主资产号", name: "anln1", width: "200", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "ANLN1",
filterValue: '1000'
}
},
back: {
ANLN1: "anln1"
}
},
}
},
{
display: "子资产号", name: "anln2", width: "100", align: "left", type: "string",
editor: {type: 'text'}
},
{
});
columns.push({
display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
editor: {type: 'text'}
},
]
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},);
return columns;
}
......@@ -399,7 +364,7 @@ function getExtendedData(processAction) {
|| processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) {
//不验证
$('#submitForm').attr('check', false);
$('#submitForm').attr('check', true);
}
var extendedData = {};
var _grid = UICtrl.getGridManager('#maingrid');
......@@ -411,12 +376,16 @@ function getExtendedData(processAction) {
if (!datas) {
return false;
}
datas.forEach(data =>{
if (data.pstyp === "D" && Public.isBlank(data.srvpos)){
Public.tip("项次类别等于D时,服务主数据编号必须输入")
return false;
var checked6 = false;
datas.forEach(data => {
if ("F" == data.knttp && Public.isBlank(data.aufnr)){
checked6 = true;
}
})
if (checked6) {
Public.tip("订单号不能为空")
return false;
}
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
......@@ -428,7 +397,7 @@ function getId() {
function setId(value) {
$("#id").val(value);
var _grid=UICtrl.getGridManager('#maingrid');
var _grid = UICtrl.getGridManager('#maingrid');
_grid.options.parms.sapPurchaseId = value;
}
......@@ -436,7 +405,7 @@ function reloadGrid() {
itemGridManager.loadData();
}
function getGridData(){
function getGridData() {
var _grid = UICtrl.getGridManager('#maingrid');
var datas = DataUtil.getGridData({
gridManager: _grid,
......@@ -445,10 +414,4 @@ function getGridData(){
return datas;
}
function getBsartNum(){
var datas = this.getGridData();
datas.forEach(data=>{
})
}
......@@ -28,7 +28,7 @@
<x:hidden name="frgdt"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="bsart" label="pr类型" labelCol="1" fieldCol="2" required="true"/>
<x:selectC name="bsart" label="pr类型" disabled="true" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="banfn" label="采购申请编号" readonly="true" labelCol="1" fieldCol="2" required="false"/>
</div>
</div>
......
......@@ -47,7 +47,7 @@ function initPurchaseListGrid() {
}
,
onDblClickRow: function (data, rowindex, rowobj) {
viewHandler(data.parentId);
viewHandler(data.id);
},
onAfterShowData: function (currentData) {
......@@ -63,39 +63,37 @@ function initPurchaseListGrid() {
* @param parentId 采购申请id
* @returns {boolean}
*/
function viewHandler(parentId) {
if (!parentId) {
function viewHandler(id) {
if (!id) {
var row = DataUtil.getSelectedRow(purchaseGridManager);
if (!row) {
return row;
}
parentId = row.parentId;
id = row.id;
}
UICtrl.addTabItem({
tabid: 'viewPurchase' + parentId,
tabid: 'viewPurchase' + id,
text: '查看采购申请',
url: web_app.name + '/purchase/loadPurchaseDetail.do?isReadOnly=true&id=' + parentId
url: web_app.name + '/sapPurchase/showSapPurchaseDetail.do?isReadOnly=true&bizId=' + id
});
}
function updateHandler() {
var row = DataUtil.getSelectedRow(purchaseGridManager);
if (!row) {
return;
}
UICtrl.addTabItem({
tabid: 'updatePurchase' + row.parentId,
text: '修改采购申请',
url: web_app.name + '/purchase/loadPurchaseDetail.do?id=' + row.parentId
//添加按钮
function addHandler() {
UICtrl.showAjaxDialog({
title: '新增',
width: 400,
url: web_app.name + '/sapPurchase/choosePurchaseDetail.load',
ok: insertHandler
});
}
function addHandler() {
function insertHandler() {
var bsart = $("#bsart").val();
UICtrl.addTabItem({
tabid: 'addPurchase',
text: '新增采购申请',
url: web_app.name + '/sapPurchase/forwardSapPurchaseDetail.job'
url: web_app.name + '/sapPurchase/forwardSapPurchaseDetail.job?bsart='+bsart
});
}
......
var itemGridManager = null, pstyp = " ", fillinDate = "", bsart = "";
$(function () {
initializeCommonUI();
bindEvent();
initItemGrid();
});
function initializeCommonUI() {
bsart = $("#bsart").val();
if ("ZFW" == bsart) {
pstyp = "D";
} else {
pstyp = "";
}
}
function bindEvent() {
fillinDate = $("#fillinDate").val();
}
function initItemGrid() {
var toolbar = UICtrl.getDefaultToolbarOptions({
addHandler: function () {
UICtrl.addGridRow(itemGridManager, {
bnfpo: (itemGridManager.getData().length + 1) * 10,
pstyp: pstyp,
badat: fillinDate,
erdat: fillinDate
});
},
deleteHandler: function () {
var _grid = UICtrl.getGridManager('#maingrid');
DataUtil.delSelectedRows({
action: 'sapPurchaseItem/deleteSapPurchaseItem.ajax',
param: {},
gridManager: _grid,
idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
},
})
itemGridManager = UICtrl.grid('#maingrid', {
columns: getGridColumns(),
dataAction: 'server',
url: web_app.name + '/sapPurchaseItem/querySapPurchaseItems.ajax',
parms: {sapPurchaseId: getId()},
height: '95%',
heightDiff: -4,
sortName: 'id',
sortOrder: 'asc',
checkbox: true,
usePager: true,
rownumbers: true,
enabledEdit: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
autoApplyNextEditor: false,
toolbar: toolbar,
onBeforeEdit: function (editParm) {
// var c = editParm.column, data = editParm.record;
// //非资产类消耗性采购申请类型当“科目分配类型”选择K后“物料编号”字段调整为非必须输入项;“成本中心”、“总账科目”字段调整为必须输入项。订单号不可编辑。
// if ("ZNE2" == bsart && (data.knttp == "K"|| data.knttp == "F" ) && c.name === 'kostl') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=F时
// if (("ZFW" == bsart || "ZNE2" == bsart) && data.knttp == "F" && c.name === 'aufnr') {
// return true;
// }else {
// return false;
// }
// //仅适用于KNTTP=A时
// if (data.knttp == 'A' && c.name === 'anln1') {
// return true;
// }else {
// return false;
// }
},
onAfterEdit: function (editParm) {
// if (editParm.record.knttp === "K") {
// var colums = itemGridManager.columns;
// colums.forEach(colum => {
// if (colum.name == "matnr") {
// colum.editor.required = false;
// itemGridManager.columns = colums
// }
// })
// }
}
}
);
UICtrl.setSearchAreaToggle(itemGridManager);
}
function getGridColumns() {
var columns = [];
columns.push({
display: "申购项次号", name: "bnfpo", width: "80", align: "left", type: "string",
editor: {type: 'spinner', min: 10, max: 200, mask: 'nnn'}
},);
columns.push({display: "项次类别", name: "pstyp", width: "100", align: "left", type: "string", hide: true},);
columns.push({
display: "科目分配类别", name: "knttp", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "knttp",
getParam: function (item) {
return {filterValue: $("#bsart").val()}
},
back: {
knttp: "knttp"
}
},
}
},);
columns.push({
display: "工厂", name: "werks", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WERKS"}
},
back: {
WERKS: "werks",
NAME1: "name1"
},
},
}
},);
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"}
});
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "LGORT"}
},
back: {
LGORT: "lgort",
LGOBE: "lgobe"
}
},
}
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
//editor: {required: false, type: "text"}
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
editor: {required: true, type: "text"}
},);
columns.push({
display: "物料组", name: "matkl", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "MATKL"}
},
back: {
MATKL: "matkl"
}
},
}
},);
columns.push({
display: "申购数量", name: "menge", width: 150, minWidth: 60, type: "string", align: "center",
editor: {required: true, type: "text", mask: '9999999.999'}
},);
columns.push({
display: "申购数量单位", name: "meins", width: 150, minWidth: 60, type: "string", align: "center",
/*editor: {
required: false, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {paramValue: "MEINS"}
},
back: {
MEINS: "meins"
}
},
}*/
editor: {required: true, type: "text"}
},);
columns.push({
display: "采购组", name: "ekgrp", width: 150, minWidth: 60, type: "string", align: "center",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "EKGRP"}
},
back: {
EKGRP: "ekgrp"
}
},
}
},);
columns.push({
display: "批准日期", name: "frgdt", width: "100", align: "left", type: "string",
//editor: {required: false, type: "date"}
},);
columns.push({
display: "要求交货日期", name: "lfdat", width: "100", align: "left", type: "string",
editor: {required: true, type: "date"}
},);
columns.push({display: "创建者", name: "ernam", width: "200", align: "left", type: "string"},);
columns.push({
display: "申请人", name: "afnam", width: "90", align: "left", type: "string",
editor: {type: 'text', required: true},
},);
columns.push({
display: "预估单价", name: "preis", width: "100", align: "left", type: "string",
editor: {type: 'text', mask: '9999999.99', required: true}
},);
columns.push({
display: "价格基数", name: "ebanPeinh", width: "100", align: "left", type: "string",
//editor: {type: 'text', mask: '9999999',required: false}
render: function (item) {
return item.ebanPeinh = 1;
}
},);
columns.push({
display: "币种", name: "waers", width: "100", align: "left", type: "string",
editor: {
required: true, type: "text",
/*data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {fieldName: "WAERS"}
},
back: {
WAERS: "waers"
}
},*/
}
},);
columns.push({
display: "评估金额", name: "ebanNetwr", width: "100", align: "left", type: "string",
render: function (item) {
if (item.ebanPeinh == '') {
return item.ebanNetwr = null;
}
return item.ebanNetwr = (item.preis * item.menge / item.ebanPeinh).toFixed(2);
}
//editor: {type: 'text'}
},);
columns.push({
display: "会计分配序号", name: "zebkn", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render: function (item) {
//申购项次为消耗性采购时,从1开始步长为1自动编号,最大99
// if (item.knttp != ''){
// ZEBKN_NUM = ZEBKN_NUM + 1;
// }
return item.zebkn = item.menge;
}
},);
columns.push({
display: "多重科目分配", name: "vrtkz", width: "100", align: "left", type: "string",
//editor: {type: 'text'},
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1) {
return item.vrtkz = 1;
}
}
},);
columns.push({
display: "部分发票", name: "twrkz", width: "100", align: "left", type: "string",
editor: {type: 'text'},
render: function (item) {
//资产消耗性申购,若申请数量大于1,此处不能为空,必须选择1
if (item.knttp == "A" && item.menge > 1) {
return item.twrkz = 1;
}
}
},);
columns.push({
display: "PR分解数量", name: "ekbnMenge", width: "100", align: "left", type: "string",
editor: {type: 'text'}
},);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {type: 'text', required: false}
},);
columns.push({
display: "资产编号", name: "anln1", width: "200", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "ANLN1",
filterValue: '1000'
}
},
back: {
ANLN1: "anln1"
}
},
}
},);
return columns;
}
//获取数据保存的参数
function getExtendedData(processAction) {
//回退、打回、转交时,不需要验证必填项是否已经填写;
if (processAction == ProcessAction.BACK
|| processAction == ProcessAction.REPLENISH
|| processAction == ProcessAction.TRANSMIT) {
//不验证
$('#submitForm').attr('check', true);
}
var extendedData = {};
var _grid = UICtrl.getGridManager('#maingrid');
if (_grid) {
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: true
});
if (!datas) {
return false;
}
extendedData.sapPurchaseItems = Public.encodeJSONURI(datas);
}
return extendedData;
}
function getId() {
return $('#id').val();
}
function setId(value) {
$("#id").val(value);
var _grid = UICtrl.getGridManager('#maingrid');
_grid.options.parms.sapPurchaseId = value;
}
function reloadGrid() {
itemGridManager.loadData();
}
function getGridData() {
var _grid = UICtrl.getGridManager('#maingrid');
var datas = DataUtil.getGridData({
gridManager: _grid,
isAllData: true
});
return datas;
}
<%--采购申请--%>
<%@ 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"/>
<x:script src="/biz/topsun/sap/purchase/sapZNE1PurchaseDetail.js"/>
</head>
<body>
<div class="container-fluid">
<x:billTitle title="采购申请" needStatus="true" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="id"/>
<x:hidden name="version"/>
<x:hidden name="billCode"/>
<x:hidden name="fillinDate"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="deptName"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<x:hidden name="statusId"/>
<x:hidden name="frgdt"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:selectC name="bsart" label="pr类型" disabled="true" labelCol="1" fieldCol="2" required="true"/>
<x:inputC name="banfn" label="采购申请编号" readonly="true" labelCol="1" fieldCol="2" required="false"/>
</div>
</div>
<div id="maingrid"></div>
</form>
</div>
</body>
\ No newline at end of file
......@@ -47,7 +47,7 @@ function initItemGrid() {
if (Public.isNotBlank(editParma.record.matnr) && editParma.column.name=='matklName'){
return false;
}
if (Public.isNotBlank(editParma.record.matklName) && editParma.column.name=='matnr'){
if (Public.isNotBlank(editParma.record.matklName) && Public.isBlank(editParma.record.maktx) && editParma.column.name=='matnr'){
return false;
}
......
......@@ -43,25 +43,47 @@ public class SapPurchaseController extends CommonController {
return toResult(map);
}
public String choosePurchaseDetail(){
return forward("choosePurchaseDetail");
}
public String forwardSapPurchaseDetail(){
this.putAttribute("processDefinitionKey", SapPurchaseApplication.PROCESS_DEFINITION_KEY);
// 新增的时候procUnitId一定要设置成Apply,不然jsp页面的所有表单元素是readonly状态
this.putAttribute("procUnitId", "Apply");
String bsart = getSDO().getString("bsart");
SapPurchase sapPurchase = new SapPurchase();
sapPurchase.setBsart(bsart);
sapPurchase.setStatusId(BizBillStatus.APPLYING.getId());
/**
* 设置jsp页面初始化填充数据,如果不设置, 那么在jsp页面上填写完表单之后立即提交申请TaskDescription获取不到时间和相关人员信息
*/
Operator operator = getOperator();
sapPurchase.setDefaultValues(new OrgUnit(operator.getFullId(), operator.getFullName()));
switch (bsart){
case "ZNE1":
return forward("sapZNE1PurchaseDetail",sapPurchase);
case "ZFW":
return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase);
}
return null;
}
public String showSapPurchaseDetail(){
SDO sdo = this.getSDO();
String id = sdo.getBizId();
SapPurchase sapPurchase = sapPurchaseApplication.loadSapPurchase(id);
switch (sapPurchase.getBsart()){
case "ZNE1":
return forward("sapZNE1PurchaseDetail",sapPurchase);
case "ZFW":
return forward("sapPurchaseDetail",sapPurchase);
case "ZNE2":
return forward("sapPurchaseDetail",sapPurchase);
}
return null;
}
}
......@@ -48,12 +48,14 @@ public class SapPurchaseApprovalController extends CommonController {
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
messageMap.put("NUMBER",sapPurchaseApprovalDto.getLsDeader().getBanfn());
LOG.info("SAP采购申请审批数据=={}",sapPurchaseApprovalDto);
try {
this.sapPurchaseApprovalApplication.saveSapPurchaseApprovalVo(sapPurchaseApprovalDto);
}catch (RuntimeException e){
messageMap.put("Message_Status","E");
messageMap.put("Message_Text",e);
messageMap.put("NUMBER",sapPurchaseApprovalDto.getLsDeader().getBanfn());
}
return messageMap;
}
......
......@@ -154,9 +154,15 @@ public class SapQualityInfoRecordApplicationImpl extends FlowBroker implements S
purchaseInfoRecordItemList.forEach(sapQualityInfoRecordItem -> {
SapQualityInfoRecordItemVo sapQualityInfoRecordItemVo = new SapQualityInfoRecordItemVo();
BeanUtil.copyProperties(sapQualityInfoRecordItem, sapQualityInfoRecordItemVo);
sapQualityInfoRecordItem.setZqavfn3("M1");
sapQualityInfoRecordItem.setZvfnc3("A");
sapQualityInfoRecordItem.setZqafst("11");
// sapQualityInfoRecordItem.setZqavfn3("M1");
// sapQualityInfoRecordItem.setZvfnc3("A");
// sapQualityInfoRecordItem.setZqafst("11");
if ("0".equals(sapQualityInfoRecordItemVo.getGrsrq())){
sapQualityInfoRecordItemVo.setGrsrq("");
}
if ("0".equals(sapQualityInfoRecordItemVo.getFscrq())){
sapQualityInfoRecordItemVo.setFscrq("");
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
if (sapQualityInfoRecordItem.getGrscertdatai() !=null){
String datab = dateFormat.format(sapQualityInfoRecordItem.getGrscertdatai());
......
......@@ -11,6 +11,7 @@ import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
import com.huigou.topsun.sap.suppliers.application.SuppliersDataApplication;
import com.huigou.topsun.sap.suppliers.domain.*;
......@@ -353,16 +354,16 @@ public class SuppliersDataApplicationImpl extends FlowBroker implements Supplier
suppliersInfoVos.add(suppliersInfoVo);
try {
String result = defaultHttpClient.execute(suppliersInfoVos, url);
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {
List<SapResult> sapResultList = objectMapper.readValue(result, new TypeReference<List<SapResult>>() {
});
resultMap = resultList.get(0);
SapResult sapResult = sapResultList.get(0);
resultMap.put("sequence", resultMap.get("row"));
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
if ("S".equals(resultMap.get("TYPE"))) {
suppliersInfo.setPartner((String) resultMap.get("MESSAGE_V1"));
if ("S".equals(sapResult.getTYPE())) {
suppliersInfo.setPartner(sapResult.getMESSAGE_V1());
suppliersInfoRepository.save(suppliersInfo);
} else {
throw new RuntimeException("数据传输失败,请稍后手动重试!" + resultMap.get("MESSAGE"));
throw new RuntimeException("数据传输失败,请稍后手动重试!" + sapResult.getMESSAGE());
}
} catch (Exception e) {
resultMap.put("type", "E");
......
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