|
|
|
@ -24,21 +24,25 @@ public class SapWmsServicelmpl implements SapWmsService {
|
|
|
|
|
private JCoDestination dest;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public R sapLgortInfo(Map<String, Object> map) {
|
|
|
|
|
public R sapLgortInfo(List<Map<String, Object>> mapList) {
|
|
|
|
|
try {
|
|
|
|
|
JCoRepository repository = dest.getRepository();
|
|
|
|
|
JCoFunction func = repository.getFunction("ZMES_GET_LGORT");
|
|
|
|
|
if (func == null) {
|
|
|
|
|
throw new RuntimeException("Function does not exist in SAP");
|
|
|
|
|
}
|
|
|
|
|
log.info("获取储位信息入参-------"+map.toString());
|
|
|
|
|
if (!StringUtils.isNull(map.get("S_WERKS"))){
|
|
|
|
|
JCoTable S_MATNR = func.getTableParameterList().getTable("S_WERKS");
|
|
|
|
|
S_MATNR.appendRow();
|
|
|
|
|
S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
S_MATNR.setValue("LOW", map.get("S_WERKS"));
|
|
|
|
|
log.info("获取储位信息入参-------"+mapList.toString());
|
|
|
|
|
JCoTable S_WERKS = func.getTableParameterList().getTable("S_WERKS");
|
|
|
|
|
JCoTable S_LGORT = func.getTableParameterList().getTable("S_LGORT");
|
|
|
|
|
System.out.println(S_WERKS);
|
|
|
|
|
// System.out.println(S_LGORT);
|
|
|
|
|
for (Map<String, Object> stringObjectMap:mapList){
|
|
|
|
|
S_WERKS.appendRow();
|
|
|
|
|
S_WERKS.setValue("SIGN", "I");
|
|
|
|
|
S_WERKS.setValue("OPTION", "EQ");
|
|
|
|
|
S_WERKS.setValue("LOW", stringObjectMap.get("S_WERKS"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func.execute(dest);//执行调用函数
|
|
|
|
|
// 获取 内表 - ZMES_PRO
|
|
|
|
|
JCoTable maraTable = func.getTableParameterList().getTable("LT_LGORT");
|
|
|
|
@ -48,7 +52,7 @@ public class SapWmsServicelmpl implements SapWmsService {
|
|
|
|
|
* LGOBE 仓储地点的描述
|
|
|
|
|
* ZTYPE 已冻结标识
|
|
|
|
|
*/
|
|
|
|
|
List<Map> mapList=new ArrayList<>();
|
|
|
|
|
List<Map> mapLists=new ArrayList<>();
|
|
|
|
|
for (int i = 0; i <maraTable.getNumRows(); i++) {
|
|
|
|
|
maraTable.setRow(i);
|
|
|
|
|
String WERKS = maraTable.getString("WERKS");
|
|
|
|
@ -64,9 +68,9 @@ public class SapWmsServicelmpl implements SapWmsService {
|
|
|
|
|
entyMap.put("LGORT",LGORT);
|
|
|
|
|
entyMap.put("LGOBE",LGOBE);
|
|
|
|
|
entyMap.put("ZTYPE",ZTYPE);
|
|
|
|
|
mapList.add(entyMap);
|
|
|
|
|
mapLists.add(entyMap);
|
|
|
|
|
}
|
|
|
|
|
return R.ok(mapList);
|
|
|
|
|
return R.ok(mapLists);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
log.error(e.getMessage());
|
|
|
|
|
return R.fail(e.getMessage());
|
|
|
|
@ -75,6 +79,7 @@ public class SapWmsServicelmpl implements SapWmsService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public R sapProductWarehousing(List<Map<String, Object>> mapList) {
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
JCoRepository repository = dest.getRepository();
|
|
|
|
|
JCoFunction func = repository.getFunction("ZMES_PRODUCT_MB1A");
|
|
|
|
@ -97,109 +102,51 @@ public class SapWmsServicelmpl implements SapWmsService {
|
|
|
|
|
VFDAT 货架寿命到期日
|
|
|
|
|
*/
|
|
|
|
|
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
|
|
|
|
|
System.out.println(L_ITEM);
|
|
|
|
|
System.out.println( L_ITEM.getNumRows());
|
|
|
|
|
for (int i=1;i<10;i++){
|
|
|
|
|
for (Map<String, Object> stringObjectMap:mapList){
|
|
|
|
|
L_ITEM.appendRow();
|
|
|
|
|
L_ITEM.setValue("AUFNR", "01234567890"+String.valueOf(i));
|
|
|
|
|
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
|
|
|
|
|
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
|
|
|
|
|
L_ITEM.setValue("POSN", "012"+String.valueOf(i));
|
|
|
|
|
L_ITEM.setValue("AUFNR", stringObjectMap.get("AUFNR"));
|
|
|
|
|
L_ITEM.setValue("POSNR", stringObjectMap.get("POSNR"));
|
|
|
|
|
L_ITEM.setValue("BWART", stringObjectMap.get("BWART"));
|
|
|
|
|
L_ITEM.setValue("PLANT", stringObjectMap.get("PLANT"));
|
|
|
|
|
L_ITEM.setValue("LGORT", stringObjectMap.get("LGORT"));
|
|
|
|
|
L_ITEM.setValue("KOSTL", stringObjectMap.get("KOSTL"));
|
|
|
|
|
L_ITEM.setValue("MATNR", stringObjectMap.get("MATNR"));
|
|
|
|
|
L_ITEM.setValue("QUANTITY", stringObjectMap.get("QUANTITY"));
|
|
|
|
|
L_ITEM.setValue("MEINS", stringObjectMap.get("MEINS"));
|
|
|
|
|
L_ITEM.setValue("BATCH", stringObjectMap.get("BATCH"));
|
|
|
|
|
L_ITEM.setValue("HSDAT", stringObjectMap.get("HSDAT"));
|
|
|
|
|
L_ITEM.setValue("VFDAT", stringObjectMap.get("VFDAT"));
|
|
|
|
|
}
|
|
|
|
|
System.out.println(L_ITEM);
|
|
|
|
|
// if (!StringUtils.isNull(map.get("AUFNR"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("AUFNR");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("AUFNR"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("POSNR"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("POSNR");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("POSNR"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("BWART"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("BWART");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("BWART"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("PLANT"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("PLANT");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("PLANT"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("LGORT"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("LGORT");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("LGORT"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("KOSTL"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("KOSTL");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("KOSTL"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("MATNR"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("MATNR");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("MATNR"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("QUANTITY"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("QUANTITY");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("QUANTITY"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("MEINS"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("MEINS");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("MEINS"));
|
|
|
|
|
// }
|
|
|
|
|
// if (!StringUtils.isNull(map.get("BATCH"))){
|
|
|
|
|
// JCoTable S_MATNR = func.getTableParameterList().getTable("BATCH");
|
|
|
|
|
// S_MATNR.appendRow();
|
|
|
|
|
// S_MATNR.setValue("SIGN", "I");
|
|
|
|
|
// S_MATNR.setValue("OPTION", "EQ");
|
|
|
|
|
// S_MATNR.setValue("LOW", map.get("BATCH"));
|
|
|
|
|
// }
|
|
|
|
|
// func.execute(dest);//执行调用函数
|
|
|
|
|
// // 获取 内表 - ZMES_PRO
|
|
|
|
|
// JCoTable maraTable = func.getTableParameterList().getTable("LT_LGORT");
|
|
|
|
|
//
|
|
|
|
|
// List<Map> mapList=new ArrayList<>();
|
|
|
|
|
// for (int i = 0; i <maraTable.getNumRows(); i++) {
|
|
|
|
|
// maraTable.setRow(i);
|
|
|
|
|
// String WERKS = maraTable.getString("WERKS");
|
|
|
|
|
// String LGORT = maraTable.getString("LGORT");
|
|
|
|
|
// String LGOBE = maraTable.getString("LGOBE");
|
|
|
|
|
// String ZTYPE = maraTable.getString("ZTYPE");
|
|
|
|
|
// log.info("工厂:" + WERKS+
|
|
|
|
|
// "库存地点:" + LGORT+
|
|
|
|
|
// "仓储地点的描述:" + LGOBE+
|
|
|
|
|
// "已冻结标识:" + ZTYPE);
|
|
|
|
|
// Map entyMap=new HashMap();
|
|
|
|
|
// entyMap.put("WERKS",WERKS);
|
|
|
|
|
// entyMap.put("LGORT",LGORT);
|
|
|
|
|
// entyMap.put("LGOBE",LGOBE);
|
|
|
|
|
// entyMap.put("ZTYPE",ZTYPE);
|
|
|
|
|
// mapList.add(entyMap);
|
|
|
|
|
// }
|
|
|
|
|
return R.ok();
|
|
|
|
|
func.execute(dest);//执行调用函数
|
|
|
|
|
// 获取 内表 - ZMES_PRO
|
|
|
|
|
|
|
|
|
|
JCoTable LT_RETURN = func.getTableParameterList().getTable("LT_RETURN");
|
|
|
|
|
StringBuilder Msg = new StringBuilder();
|
|
|
|
|
for (int i = 0; i < LT_RETURN.getNumRows(); i++) {
|
|
|
|
|
LT_RETURN.setRow(i);
|
|
|
|
|
String MESSAGE = LT_RETURN.getString("MESSAGE");
|
|
|
|
|
Msg.append(MESSAGE+"/");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String L_MSG= func.getExportParameterList().getString("L_MSG");
|
|
|
|
|
String RETCODE= func.getExportParameterList().getString("RETCODE");
|
|
|
|
|
String MATERIALDOCUMENT= func.getExportParameterList().getString("MATERIALDOCUMENT");
|
|
|
|
|
String MATDOCUMENTYEAR= func.getExportParameterList().getString("MATDOCUMENTYEAR");
|
|
|
|
|
System.out.println("L_MSG"+L_MSG);
|
|
|
|
|
System.out.println("返回值:0-没有错误,1-有错误:"+RETCODE);
|
|
|
|
|
System.out.println("物料凭证编号"+MATERIALDOCUMENT);
|
|
|
|
|
System.out.println("物料凭证年度"+MATDOCUMENTYEAR);
|
|
|
|
|
if (!("0").equals(RETCODE)){
|
|
|
|
|
return R.fail("",Msg.toString());
|
|
|
|
|
}else {
|
|
|
|
|
Map map=new HashMap();
|
|
|
|
|
map.put("MATERIALDOCUMENT",MATERIALDOCUMENT);
|
|
|
|
|
map.put("MATDOCUMENTYEAR",MATDOCUMENTYEAR);
|
|
|
|
|
return R.ok(map,Msg.toString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
log.error(e.getMessage());
|
|
|
|
|
return R.fail(e.getMessage());
|
|
|
|
|