Commit 5addc8ef authored by 鲁鑫's avatar 鲁鑫

人员搜索,物料主数据调整

parent 9b35ac81
......@@ -19,53 +19,29 @@ function initialize(){
function bindEvent(){
$("#departName").orgTree({
// checkbox : true,
tree:{autoCheckboxEven:false},
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt'
};
},
back : {
text : '#departName',
filter: "ogn,dpt", excludePos: 0, param: {orgKindId: "ogn,dpt"},
back: {
text: "#departName",
value : '#depart'
},
});
/* $("#applyPersonName").orgTree({
filter: "ogn,dpt,pos,psm",
excludePos: 1, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {text: "#applyPersonName",value :'#applyPerson'},
manageType: 'taskQuery,admin',
onChange:function(value,data){ //alert(data.name);
// $("#applyPerson").val(data.fullId);
// $("#applyPersonName").val(data.name);
//manageType: 'taskQuery',
onChange:function(value,data){
$('#depart').val(data.id);
}
});
*/
$("#applyPersonName").orgTree({
checkbox : false,
tree:{autoCheckboxEven:true},
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt,pos,psm'
};
},
back : {
text : '#applyPersonName',
filter: "psm", excludePos: 0, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {
text: "#applyPersonName",
value : '#applyPerson'
},
//manageType: 'taskQuery',
onChange:function(value,data){
$('#applyPerson').val(data.id);
}
});
}
function loadGrid() {
......
......@@ -19,49 +19,26 @@ function initialize(){
function bindEvent(){
$("#departName").orgTree({
// checkbox : true,
tree:{autoCheckboxEven:false},
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt'
};
},
back : {
text : '#departName',
filter: "ogn,dpt", excludePos: 0, param: {orgKindId: "ogn,dpt"},
back: {
text: "#departName",
value : '#depart'
},
});
/* $("#applyPersonName").orgTree({
filter: "ogn,dpt,pos,psm",
excludePos: 1, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {text: "#applyPersonName",value :'#applyPerson'},
manageType: 'taskQuery,admin',
onChange:function(value,data){ //alert(data.name);
// $("#applyPerson").val(data.fullId);
// $("#applyPersonName").val(data.name);
//manageType: 'taskQuery',
onChange:function(value,data){
$('#depart').val(data.id);
}
});
*/
$("#applyPersonName").orgTree({
checkbox : false,
tree:{autoCheckboxEven:true},
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt,pos,psm'
};
},
back : {
text : '#applyPersonName',
filter: "psm", excludePos: 0, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {
text: "#applyPersonName",
value : '#applyPerson'
},
//manageType: 'taskQuery',
onChange:function(value,data){
$('#applyPerson').val(data.id);
}
});
......
......@@ -71,7 +71,8 @@ function loadGrid() {
}
},
back: {
ANLN1: "anln1"
ANLN1: "anln1",
KOSTL: "fromKostl",
}
},
}
......@@ -82,6 +83,9 @@ function loadGrid() {
type: "date",required: true
}
},
{
display: "原成本中心", name: "fromKostl", width: 140, minWidth: 60, type: "date", align: "left",
},
{
display: "成本中心", name: "kostl", width: 140, minWidth: 60, type: "string", align: "left",
editor: {
......
......@@ -59,7 +59,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:selectC name="baseUnit" label="基本计量单位" labelCol="1" fieldCol="2" dictionary="measuringUnit"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
<x:inputC name="material" label="材质" labelCol="1" fieldCol="2"/>
......
......@@ -59,7 +59,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:selectC name="baseUnit" label="基本计量单位" labelCol="1" fieldCol="2" dictionary="measuringUnit"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
<x:inputC name="material" label="材质" labelCol="1" fieldCol="2"/>
......
......@@ -23,7 +23,7 @@ function loadNonProdApplyDeptListGrid() {
{display: "批准人", name: "approver", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "批准日期", name: "approvalDate", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "通用品名", name: "genericName", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "适用标准(国)", name: "applicableStandard", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "适用标准(国)", name: "applicableStandard", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "基本计量单位", name: "baseUnitTextView", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "规格", name: "specifications", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "材质", name: "material", width: 140, minWidth: 60, type: "string", align: "left"},
......
......@@ -59,7 +59,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="5"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="5"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="5"/>
<x:hidden name="baseUnit"/>
<x:inputC name="baseUnitName" label="基本计量单位" labelCol="1" fieldCol="2" wrapper="select"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
......
......@@ -17,20 +17,21 @@ $(document).ready(function () {
function initializate() {
//页面控制
$("#businessPersonnelList").hide();
if ($('#vprsv').val()=='')
{
$("#vprsv").val("V");
$("#ncost").val("X");
}
var peinh = $("#peinh").val();
$('#vprsv').bind("blur",function(value){ //alert($(this).val());
if ($(this).val()=='S'){
$("#ncost").val("");
}
if ($(this).val()=='V'){
$("#ncost").val("X");
}
});
//控制取消
// if ($('#vprsv').val()=='')
// {
// $("#vprsv").val("V");
// $("#ncost").val("X");
// }
// var peinh = $("#peinh").val();
// $('#vprsv').bind("blur",function(value){ //alert($(this).val());
// if ($(this).val()=='S'){
// $("#ncost").val("");
// }
// if ($(this).val()=='V'){
// $("#ncost").val("X");
// }
// });
if (Public.isBlank(peinh)){
$("#peinh").val("1")
}
......
......@@ -59,7 +59,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:selectC name="baseUnit" label="基本计量单位" labelCol="1" fieldCol="2" dictionary="measuringUnit"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
<x:inputC name="material" label="材质" labelCol="1" fieldCol="2"/>
......
......@@ -114,7 +114,7 @@ function loadNonProdApplyListGrid() {
},
{display: "通用品名", name: "genericName", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "汉语品名", name: "maktx", width: 200, minWidth: 60, type: "string", align: "left"},
{display: "适用标准(国)", name: "applicableStandard", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "适用标准(国)", name: "applicableStandard", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "基本计量单位", name: "baseUnitTextView", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "规格", name: "specifications", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "材质", name: "material", width: 140, minWidth: 60, type: "string", align: "left"},
......
......@@ -350,7 +350,7 @@ function distributeForm() {
return false;
}
}
if (hasWarehouseView||hasStoreView) {
if (hasWarehouseView||hasStoreView || hasMRPView) {
if ($("#lgort").val() == "") {
Public.tip("库存地点必输!");
return false;
......
......@@ -81,7 +81,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="genericName" label="通用品名" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:inputC name="applicableStandard" label="适用标准(国)" labelCol="1" fieldCol="2"/>
<x:hidden name="baseUnit"/>
<x:inputC name="baseUnitName" label="基本计量单位" labelCol="1" fieldCol="2" readonly="true"/>
<x:inputC name="specifications" label="规格" labelCol="1" fieldCol="2"/>
......
......@@ -220,6 +220,10 @@ function getExtendedData(processAction) {
if (!datas) {
return false;
}
// if (datas.length == 0){
// Public.tip("请添加领料明细");
// return false
// }
extendedData.items = Public.encodeJSONURI(datas);
}
return extendedData;
......
......@@ -12,50 +12,26 @@ function initialize(){
function bindEvent(){
$("#dutyDepartName").orgTree({
// checkbox : true,
tree:{autoCheckboxEven:false},
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt'
};
},
back : {
text : '#dutyDepartName',
filter: "dpt", excludePos: 0, param: {orgKindId: "ogn,dpt"},
back: {
text: "#dutyDepartName",
value : '#dutyDepart'
},
});
/* $("#applyPersonName").orgTree({
filter: "ogn,dpt,pos,psm",
excludePos: 1, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {text: "#applyPersonName",value :'#applyPerson'},
manageType: 'taskQuery,admin',
onChange:function(value,data){ //alert(data.name);
// $("#applyPerson").val(data.fullId);
// $("#applyPersonName").val(data.name);
//manageType: 'taskQuery',
onChange:function(value,data){
$('#dutyDepart').val(data.id);
}
});
*/
$("#applyPersonName").orgTree({
checkbox : false,
tree:{autoCheckboxEven:true},
filter: 'psm',
getParam : function() {
return {
orgRoot:'orgRoot',
status : "1",
isVirtual : "0",
orgKindId : 'ogn,dpt,pos,psm'
};
},
back : {
text : '#applyPersonName',
filter: "psm", excludePos: 0, param: {orgKindId: "ogn,dpt,pos,psm"},
back: {
text: "#applyPersonName",
value : '#applyPerson'
},
//manageType: 'taskQuery',
onChange:function(value,data){
$('#applyPerson').val(data.id);
}
});
}
......
......@@ -48,7 +48,7 @@ function initAufnr(knttp){
})
columns.some(column => {
if (column.name == "kostlName"){
//column.hide = knttp == 'F'? false:true;
column.hide = knttp == 'K'? false:true;
if (isApplyProcUnit()){
column.editor.required = knttp == 'K'? true:false;
}
......@@ -179,40 +179,6 @@ function getGridColumns() {
columns.push({
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
});
// columns.push({
// display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
// editor: {
// required: false, 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"
// }
// },
// }
// });
columns.push({
display: "库存地点", name: "lgort", width: "100", align: "left", type: "string",
},);
columns.push({
display: "库存地点名称", name: "lgobe", width: "200", align: "left", type: "string",
},);
columns.push({
display: "短文本", name: "txz01", width: "200", align: "left", type: "string",
},);
......@@ -261,53 +227,37 @@ function getGridColumns() {
// display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
// editor: {type: 'text'}
// },);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "SAKTO",
filterValue:'6600'
}
},
back: {
SAKNR:'sakto',
}
},
}
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
},);
}else {
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",
// display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "knttp",
// name: "dictionary",
// getParam: function (item) {
// return {filterValue: $("#bsart").val()}
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// knttp: "knttp"
// SAKNR:'sakto',
// }
// },
// }
// },);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
},);
columns.push({
display: "创建日期", name: "erdat", width: "100", align: "left", type: "string",
},);
}else {
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: "werks", width: "100", align: "left", type: "string",
editor: {
......@@ -330,55 +280,6 @@ function getGridColumns() {
display: "工厂名称", name: "name1", width: "200", align: "left", type: "string",
editor: {required: false, type: "text"}
});
// columns.push({
// display: "物料编号", name: "matnr", width: "300", align: "left", type: "string",
// editor: {
// required: false, 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"
// }
// },
// }
// });
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"}
......@@ -512,46 +413,7 @@ function getGridColumns() {
},);
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
// editor: {
// required: false, type: "select",
// data: {
// type: 'system',
// name: "getCompanyOrders",
// getParam: function (item) {
// return {
// BUKRS: '1000'
// }
// },
// back: {
// AUFNR: "aufnr",
// KTEXT: "ktext"
// }
// },
// }
});
// columns.push({
// display: "审批处理状态", name: "banpr", width: "100", align: "left", type: "string",
// editor: {type: 'text'}
// },);
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "dictionary",
// getParam: function (item) {
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// SAKNR:'sakto',
// }
// },
// }
},);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
......
......@@ -246,25 +246,25 @@ function getGridColumns() {
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
editor: {type: 'text', required: true,}
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
editor: {
required: true, type: "select",
data: {
type: 'system',
name: "dictionary",
getParam: function (item) {
return {
fieldName: "SAKTO",
filterValue:'6600'
}
},
back: {
SAKNR:'sakto',
}
},
}
},);
// columns.push({
// display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "dictionary",
// getParam: function (item) {
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// SAKNR:'sakto',
// }
// },
// }
// },);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
},);
......@@ -362,7 +362,8 @@ function getGridColumns() {
getParam: function (item) {
return {
fieldName: "MATKL",
noContain: "C00"
noContain: "C00",
notNull: "BKLAS"
}
},
back: {
......@@ -482,25 +483,25 @@ function getGridColumns() {
columns.push({
display: "订单号", name: "aufnr", width: "200", align: "left", type: "string",
});
columns.push({
display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "dictionary",
// getParam: function (item) {
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// SAKNR:'sakto',
// }
// },
// }
},);
// columns.push({
// display: "总账科目", name: "sakto", width: "100", align: "left", type: "string",
// editor: {
// required: true, type: "select",
// data: {
// type: 'system',
// name: "dictionary",
// getParam: function (item) {
// return {
// fieldName: "SAKTO",
// filterValue:'6600'
// }
// },
// back: {
// SAKNR:'sakto',
// }
// },
// }
// },);
columns.push({
display: "申请日期", name: "badat", width: "100", align: "left", type: "string",
editor: {required: false, type: "date"}
......
......@@ -42,7 +42,7 @@
<x:inputC name="matklName" label="物料组" labelCol="1" fieldCol="2" wrapper="select" />
<x:selectC name="waers" label="货币码" labelCol="1" fieldCol="2" required="true" dictionary="waers"/>
<x:inputC name="peinh" label="价格单位" labelCol="1" fieldCol="2" required="false" />
<x:inputC name="peinh" label="价格单位" labelCol="1" fieldCol="2" required="true" />
<x:hidden name="bprme"/>
<x:inputC name="bprmeName" label="订单价格单位(采购)" labelCol="2" fieldCol="2" wrapper="select" required="true" />
......
......@@ -28,7 +28,7 @@
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="lifnrName" required="false" label="供货工厂" labelCol="2" wrapper="select" fieldCol="2"/>
<x:inputC name="lifnrName" required="true" label="供货工厂" labelCol="2" wrapper="select" fieldCol="2"/>
<x:hidden name="ekorg"/>
<x:inputC name="ekorgName" required="true" label="采购组织" labelCol="2" fieldCol="2" wrapper="select"/>
......@@ -37,10 +37,10 @@
<x:inputC name="ekgrpName" required="true" label="采购组" labelCol="2" fieldCol="2" wrapper="select"/>
<x:hidden name="burks"/>
<x:inputC name="burksName" required="false" label="公司代码" labelCol="2" fieldCol="2" wrapper="select"/>
<x:inputC name="burksName" required="true" label="公司代码" labelCol="2" fieldCol="2" wrapper="select"/>
<x:hidden name="werks"/>
<x:inputC name="werksName" required="false" label="收货工厂" labelCol="2" fieldCol="2" wrapper="select"/>
<x:inputC name="werksName" required="true" label="收货工厂" labelCol="2" fieldCol="2" wrapper="select"/>
</div>
</div>
......
package com.huigou.topsun.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.huigou.cache.DictUtil;
......@@ -274,6 +275,7 @@ public class ResourceSearchController {
String fieldName = sdo.getString("fieldName");
String filterValue = sdo.getString("filterValue");
String noContain = sdo.getString("noContain");
String notNull = sdo.getString("notNull");
List<Map<String, String>> mapList = new ArrayList<>();
mapList = sapDictionaryApplication.getSapDictionary(fieldName);
List<QuerySchemeField> fields = new ArrayList<>();
......@@ -305,6 +307,12 @@ public class ResourceSearchController {
.filter(map -> map.values().stream().anyMatch(value->value.contains(param)))
.collect(Collectors.toList());
}
if (StringUtil.isNotBlank(notNull)){//某个字段的值不为空
mapList = mapList
.stream()
.filter(map -> StringUtil.isNotBlank((String)map.get(notNull)))
.collect(Collectors.toList());
}
if (!CollectionUtils.isEmpty(mapList)){
Map<String, String> map = mapList.get(0);
......
package com.huigou.topsun.ep.change.application.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
......@@ -11,6 +13,11 @@ import com.huigou.topsun.ep.change.domain.EpChangeFormImplItem;
import com.huigou.topsun.ep.change.domain.EpChangeFormStockItem;
import com.huigou.topsun.ep.change.domain.query.EpChangeFormQueryRequest;
import com.huigou.topsun.ep.change.repository.EpChangeFormRepository;
import com.huigou.topsun.ep.order.domain.EpSaleOrder;
import com.huigou.topsun.ep.order.domain.EpSaleOrderItem;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.common.domain.EpResult;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
......@@ -21,8 +28,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.util.*;
/**
* @Auther: xin.lu
......@@ -37,6 +44,10 @@ public class EpChangeFormApplicationImpl extends FlowBroker implements EpChangeF
private EpChangeFormStockItemApplication changeFormStockItemApplication;
@Autowired
private EpChangeFormImplItemApplication changeFormImplItemApplication;
@Autowired
private HttpClient httpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
......@@ -109,6 +120,7 @@ public class EpChangeFormApplicationImpl extends FlowBroker implements EpChangeF
EpChangeForm epChangeForm = epChangeFormRepository.findOne(bizId);
epChangeForm.setStatusId(status.getId());
epChangeFormRepository.save(epChangeForm);
this.feedBackSaleEcn(epChangeForm);
}
@Override
......@@ -153,4 +165,30 @@ public class EpChangeFormApplicationImpl extends FlowBroker implements EpChangeF
Map<String, Object> map = this.sqlExecutorDao.executeSlicedQuery(queryModel);
return map;
}
public void feedBackSaleEcn(EpChangeForm epChangeForm){
Map<String,Object> map = new HashMap<>();
//日志记录
Map<String, Object> resultMap = new HashMap<>();
try {
String execute = httpClient.executeForEp(map, "/api/pro/productionSolution/openEcn?productionSolutionId="+epChangeForm.getProductionSolutionId());
EpResult epResult = JSONObject.parseObject(execute, EpResult.class);
resultMap.put("TYPE", epResult.getCode());
resultMap.put("message", epResult.getMsg());
if (!"200".equals(epResult.getCode())){
throw new RuntimeException("数据传输失败,"+ epResult.getMsg());
}
epChangeForm.setCode(epResult.getCode());
epChangeForm.setMsg(epResult.getMsg());
epChangeFormRepository.save(epChangeForm);
} catch (IOException e) {
throw new RuntimeException(e);
}finally {
resultMap.put("businessType", "ECN");
resultMap.put("businessId", epChangeForm.getBillCode());
resultMap.put("parameter", JSON.toJSONString(map));
resultMap.put("sequence", resultMap.get("row"));
sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
}
}
}
......@@ -114,6 +114,12 @@ public class EpChangeForm extends FlowBillAbstractEntity {
@Column(name = "production_solution_id")
private String productionSolutionId;
@Column(name = "code")
private String code;
@Column(name = "msg")
private String msg;
@Override
protected String getCodeRuleId() {
return "epChangeForm";
......
......@@ -215,7 +215,7 @@ public class EpSaleOrderApplicationImpl extends FlowBroker implements EpSaleOrde
Map<String, Object> formData = BeanUtil.beanToMap(epSaleOrder);
String bizId = this.startProcessInstance(EpSaleOrderApplication.PROCESS_DEFINITION_KEY, formData);
epSaleOrder.setId(bizId);
epSaleOrder.setStatusId(BizBillStatus.APPLYING.getId());
epSaleOrder.setStatusId(BizBillStatus.APPROVING.getId());
epSaleOrder = epSaleOrderRepository.save(epSaleOrder);
List<EpSaleOrderItemVo> epSaleOrderItemVos = epSaleOrderVo.getEpSaleOrderItemVos();
......
......@@ -214,7 +214,7 @@ public class EpSaleOrderCancelApplicationImpl extends FlowBroker implements EpSa
Map<String, Object> formData = BeanUtil.beanToMap(epSaleOrderCancel);
String bizId = this.startProcessInstance(EpSaleOrderCancelApplication.PROCESS_DEFINITION_KEY, formData);
epSaleOrderCancel.setId(bizId);
epSaleOrderCancel.setStatusId(BizBillStatus.APPLYING.getId());
epSaleOrderCancel.setStatusId(BizBillStatus.APPROVING.getId());
epSaleOrderCancel = epSaleOrderCancelRepository.save(epSaleOrderCancel);
List<EpSaleOrderCancelItemVo> epSaleOrderCancelItemVos = epSaleOrderCancelVo.getEpSaleOrderCancelItemVos();
......
......@@ -10,6 +10,7 @@ import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.JSONUtil;
import com.huigou.util.SDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -81,7 +82,7 @@ public class EpSaleOrderCancelController extends CommonController {
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
LOG.info("EP销售订单取消/变更审批数据=={}",epSaleOrderCancelVos);
LOG.info("EP销售订单取消/变更审批数据=={}", JSONUtil.toString(epSaleOrderCancelVos));
try {
this.epSaleOrderCancelApplication.saveEpSaleOrderCancelVo(epSaleOrderCancelVos);
}catch (RuntimeException e){
......
......@@ -12,6 +12,7 @@ import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.annotation.SkipAuth;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.client.CommonController;
import com.huigou.util.JSONUtil;
import com.huigou.util.SDO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -83,7 +84,7 @@ public class EpSaleOrderController extends CommonController {
HashMap<String, Object> messageMap = new HashMap<>();
messageMap.put("Message_Status","S");
messageMap.put("Message_Text","成功");
LOG.info("EP销售订单审批数据=={}",epSaleOrderVos);
LOG.info("EP销售订单审批数据=={}", JSONUtil.toString(epSaleOrderVos));
try {
this.epSaleOrderApplication.saveEpSaleOrderVo(epSaleOrderVos);
}catch (RuntimeException e){
......
......@@ -112,7 +112,7 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
private String getApprovalSubjectName(SapCostReimbursement sapCostReimbursement ) {
String fillinDateStr = DateUtil.getDateFormat(sapCostReimbursement.getFillinDate());
String typeName = sapCostReimbursement.getZepFtypename();
return String.format("%s-%s(%s)",sapCostReimbursement.getPersonMemberName(),typeName , fillinDateStr);
return String.format("%s-%s-%s(%s)",sapCostReimbursement.getPersonMemberName(),typeName , sapCostReimbursement.getBillCode(),fillinDateStr);
}
@Override
......
......@@ -42,6 +42,12 @@ public class SapFixedAssetsMoveItem extends AbstractEntity {
@Column(name = "adatu")
private Date adatu;
/**
* 原成本中心(必填)
*/
@Column(name = "from_kostl")
private String fromKostl;
/**
* 成本中心(必填)
*/
......
......@@ -11,6 +11,7 @@ import com.huigou.topsun.base.bsnMessage.domain.*;
import com.huigou.topsun.base.bsnMessage.repository.BsnMessageSponsorRepository;
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.nonProdApply.application.NonProdApplyDeptApplication;
import com.huigou.topsun.sap.nonProdApply.domain.NonProdApplyBaseInfo;
......@@ -31,6 +32,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.persistence.Column;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class NonProdApplyDeptApplicationImpl extends BaseApplication implements NonProdApplyDeptApplication {
......@@ -364,7 +366,11 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
if ("0".equals(sapVO.getXchpf())){ //批次管理 否 传递空
sapVO.setXchpf("");
}
sapVO.setPstat(baseInfo.getBusinessUsage());
if (baseInfo.getBusinessUsage().contains("K")){
sapVO.setPstat(baseInfo.getBusinessUsage());
}else {
sapVO.setPstat("K"+baseInfo.getBusinessUsage());
}
sapVO.setUpdkz("I");
if ("0".equals(sapVO.getInsmk())){
sapVO.setInsmk("");
......@@ -406,12 +412,13 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
backMap.put("parameter", JSON.toJSONString(mapList));
backMap.put("sequence", backMap.get("row"));
backMap.put("TYPE", "E");
String errorMsg = "";
try {
String result = defaultHttpClient.execute(mapList, url);
List<Map<String, Object>> resultList = objectMapper.readValue(result, new TypeReference<List<Map<String, Object>>>() {
});
Map<String, Object> returnMap = resultList.get(0);
if ("2".equals(returnMap.get("TYPE"))){
if ("S".equals(returnMap.get("TYPE"))){
returnMap = resultList.get(1);
}
mapCopy(backMap,returnMap);
......@@ -430,16 +437,22 @@ public class NonProdApplyDeptApplicationImpl extends BaseApplication implements
} else {
//更改分发状态
baseInfo.setDistribute(1);
backStr="传输失败:" + backMap.get("MESSAGE");
List<String> messages = resultList
.stream()
.map(resultMap ->{
return (String)resultMap.get("MESSAGE");
}).collect(Collectors.toList());
errorMsg = String.join(";",messages);
backStr="传输失败:" + errorMsg;
backMap.put("MESSAGE",backStr);
nonProdApplyBaseInfoRepository.save(baseInfo);
//throw new RuntimeException(backStr);
}
} catch (Exception e) {
backMap.put("MESSAGE",applyDept.getMatnr()+":"+e.getMessage());
backMap.put("MESSAGE",applyDept.getMatnr()+":"+errorMsg);
//sapMutualEpLogApplication.saveSapMutualEpLog(resultMap);
System.out.println("传输错误了:"+e.getMessage());
backStr="传输失败:" + e.getMessage();
backStr="传输失败:" + errorMsg;
throw new RuntimeException(backStr);
} finally {
sapMutualEpLogApplication.saveSapMutualEpLog(backMap);
......
package com.huigou.topsun.sap.nonProducePick.application.impl;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
......@@ -13,6 +14,7 @@ import com.huigou.topsun.sap.nonProducePick.domain.NonProducePick;
import com.huigou.topsun.sap.nonProducePick.domain.NonProducePickItem;
import com.huigou.topsun.sap.nonProducePick.domain.query.NonProducePickQueryRequest;
import com.huigou.topsun.sap.nonProducePick.repository.NonProducePickRepository;
import com.huigou.topsun.sap.nonProducePick.vo.CheckNonProducePickItemNumVo;
import com.huigou.topsun.sap.nonProducePick.vo.NonProducePickItemVo;
import com.huigou.topsun.sap.nonProducePick.vo.NonProducePickVo;
import com.huigou.topsun.sap.purchase.domain.SapPurchase;
......@@ -120,17 +122,40 @@ public class NonProducePickApplicationImpl extends FlowBroker implements NonProd
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
NonProducePick nonProducePick = getBizEntity(NonProducePick.class);
List<NonProducePickItem> nonProducePickItems = getBizEntities(NonProducePickItem.class, "items");
if (nonProducePick.isNew()) {
nonProducePick.setStatusId(BizBillStatus.APPLYING.getId());
//根据工厂。物料,单位检查可用数量
//this.checkNonProducePickNum(nonProducePickItems);
} else {
nonProducePick = (NonProducePick) commonDomainService.loadAndFillinProperties(nonProducePick);
}
nonProducePick = nonProducePickRepository.save(nonProducePick);
List<NonProducePickItem> nonProducePickItems = getBizEntities(NonProducePickItem.class, "items");
nonProducePickItemApplication.saveNonProducePickItems(nonProducePick.getId(),nonProducePickItems);
return nonProducePick.getId();
}
public void checkNonProducePickNum(List<NonProducePickItem> nonProducePickItems){
List<CheckNonProducePickItemNumVo> collect = nonProducePickItems
.stream()
.map(nonProducePickItem -> {
CheckNonProducePickItemNumVo checkNonProducePickItemNumVo = new CheckNonProducePickItemNumVo();
BeanUtils.copyProperties(nonProducePickItem, checkNonProducePickItemNumVo);
return checkNonProducePickItemNumVo;
}).collect(Collectors.toList());
try {
//http://192.168.3.109:8000/sap/bc/erp_ep/mm_check?sap-client=300
String execute = httpClient.execute(collect, "erp_ep/mm_check");
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
protected Map<String, Object> getProcessBizParams(String bizId) {
// 返回业务数据给流程实例,
......
package com.huigou.topsun.sap.nonProducePick.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.persistence.Column;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Auther: xin.lu
* @Date: 2024/03/13/9:33
* @Description: SAP非生产性领料申请与发料过账
*/
@Data
public class CheckNonProducePickItemNumVo implements Serializable {
@JsonProperty("MATNR")
private String matnr;
/**
* 工厂
*/
@JsonProperty("WERKS")
private String werks;
/**
*单位
*/
@Column(name = "UNIT")
private String meins;
}
......@@ -48,6 +48,7 @@ import javax.annotation.Resource;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Auther: xin.lu
......@@ -115,11 +116,11 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
//设置标题
switch (sapPurchase.getBsart()){
case "ZNE1"://固定资产采购申请
return String.format("%s-%s(%s)", "固定资产采购申请", "", fillinDateStr);
return String.format("%s-%s(%s)", "固定资产采购申请", sapPurchase.getBillCode(), fillinDateStr);
case "ZFW"://服务类采购申请
return String.format("%s-%s(%s)", "服务类采购申请", "", fillinDateStr);
return String.format("%s-%s(%s)", "服务类采购申请", sapPurchase.getBillCode(), fillinDateStr);
case "ZNE2"://非资产类消耗性采购申请
return String.format("%s-%s(%s)", "非资产类消耗性采购申请", "", fillinDateStr);
return String.format("%s-%s(%s)", "非资产类消耗性采购申请", sapPurchase.getBillCode(), fillinDateStr);
}
return null;
}
......@@ -190,7 +191,10 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
List<SapResult> resultList = JSONObject.parseArray(execute, SapResult.class);
SapResult sapResult = resultList.get(0);
if (!"S".equals(sapResult.getTYPE())){
throw new RuntimeException("数据传输失败,"+ sapResult.getMESSAGE());
List<String> messages = resultList
.stream()
.map(SapResult::getMESSAGE).collect(Collectors.toList());
throw new RuntimeException("数据传输失败,"+ String.join(";",messages));
} else {
resultMap.put("TYPE", sapResult.getTYPE());
resultMap.put("MESSAGE", sapResult.getMESSAGE());
......
......@@ -22,6 +22,7 @@ import com.huigou.topsun.sap.purchaseInfoRecord.repository.SapPurchaseInfoRecord
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.util.ClassHelper;
import com.huigou.util.StringUtil;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -135,7 +136,11 @@ public class SapPurchaseInfoRecordApplicationImpl extends FlowBroker implements
purchaseInfoRecordItemList.forEach(sapPurchaseInfoRecordItem -> {
SapPurchaseInfoRecordItemVo sapPurchaseInfoRecordItemVo = new SapPurchaseInfoRecordItemVo();
BeanUtil.copyProperties(sapPurchaseInfoRecordItem,sapPurchaseInfoRecordItemVo);
sapPurchaseInfoRecordItemVo.setInfnr(sapPurchaseInfoRecord.getBillCode());
//sapPurchaseInfoRecordItemVo.setInfnr(sapPurchaseInfoRecord.getBillCode());
//无物料号的基本单位默认订单价格单位
if (StringUtil.isBlank(sapPurchaseInfoRecordItemVo.getMeins())){
sapPurchaseInfoRecordItemVo.setMeins(sapPurchaseInfoRecordItemVo.getBprme());
}
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
if (sapPurchaseInfoRecordItem.getDatab() !=null){
String datab = dateFormat.format(sapPurchaseInfoRecordItem.getDatab());
......
......@@ -7,7 +7,7 @@
<condition column="matnr" name="matnr" type="java.lang.String" symbol="like" alias="ad"/>
<condition column="status" name="status" type="java.lang.String" symbol="in" alias="t"/>
<condition column="maintenance_type" name="maintenanceType" type="java.lang.String" symbol="=" alias="t"/>
<condition column="generic_name" name="generic_name" type="java.lang.String" symbol="like" alias="t"/>
<condition column="generic_name" name="genericName" type="java.lang.String" symbol="like" alias="t"/>
<condition column="maktx" name="maktx" type="java.lang.String" symbol="like" alias="ad"/>
<condition column="bill_code" name="billCode" type="java.lang.String" symbol="like" alias="t"/>
<condition column="created_date" name="startDate" type="java.util.Date" symbol="&gt;=" alias="t"/>
......
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