SAP采购订单收货过账

master
Yangwl 1 year ago
parent bb18fbce4a
commit 5abd625d55

@ -78,5 +78,13 @@ public interface RemoteSapService {
/**智慧工厂储位信息*/
@PostMapping("/sap/sapLgortInfo")
public R sapLgortInfo(@RequestBody(required = false) Map<String, Object> map);
public R sapLgortInfo(@RequestBody(required = false) List<Map<String, Object>> mapList);
/**成品下线入库*/
@PostMapping("/sapProductWarehousing")
public R sapProductWarehousing(@RequestBody(required = false) List<Map<String, Object>> mapList);
/**采购订单收货过账*/
@PostMapping("/sapPOrderGoodsReceipt")
public R sapPOrderGoodsReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList);
}

@ -90,10 +90,20 @@ public class RemoteSapFallbackFactory implements FallbackFactory<RemoteSapServic
}
@Override
public R sapLgortInfo(Map<String, Object> map) {
public R sapLgortInfo(List<Map<String, Object>> mapList) {
return R.fail("储位仓库信息获取失败" + throwable.getMessage());
}
@Override
public R sapProductWarehousing(List<Map<String, Object>> mapList) {
return R.fail("成品下线入库失败" + throwable.getMessage());
}
@Override
public R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList) {
return R.fail("采购订单收货过账失败" + throwable.getMessage());
}
};
}
}

@ -405,6 +405,12 @@ public class SapController extends BaseController {
return sapOrderService.sapPurchaseOrderSync(sapPurchaseOrderQuery);
}
@PostMapping("/sapPOrderGoodsReceipt")
@Log(title = "采购订单收货过账", businessType = BusinessType.SAP)
public R sapPOrderGoodsReceipt(@RequestBody(required = false) List<Map<String, Object>> mapList){
return sapOrderService.sapPOrderGoodsReceipt(mapList);
}
/**
* 101
*
@ -421,13 +427,13 @@ public class SapController extends BaseController {
/**
*
* @param map
* @param mapList
* @return
*/
@PostMapping("/sapLgortInfo")
@Log(title = "智慧工厂储位信息", businessType = BusinessType.SAP)
public R sapLgortInfo(@RequestBody(required = false) Map<String, Object> map){
return sapWmsService.sapLgortInfo(map);
public R sapLgortInfo(@RequestBody(required = false) List<Map<String, Object>> mapList){
return sapWmsService.sapLgortInfo(mapList);
}
/**

@ -56,4 +56,5 @@ public interface SapOrderService {
R sapOrderReceipt(SapOrderReceiptQuery sapOrderReceiptQuery);
R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList);
}

@ -7,7 +7,7 @@ import java.util.Map;
public interface SapWmsService {
R sapLgortInfo(Map<String, Object> map);
R sapLgortInfo(List<Map<String, Object>> mapList);
R sapProductWarehousing(List<Map<String, Object>> mapList);
}

@ -544,6 +544,81 @@ public class SapOrderServiceImpl implements SapOrderService {
}
}
@Override
public R sapPOrderGoodsReceipt(List<Map<String, Object>> mapList) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_PROMIGO_CREATE");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("采购订单收货过账ZMES_PROMIGO_CREATE-------"+mapList.toString());
/**
EBELN
EBELP
BWART
PLANT
LGORT
MATNR
QUANTITY
MEINS
BATCH
HSDAT
VFDAT 寿
*/
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
for (Map<String, Object> stringObjectMap:mapList){
L_ITEM.appendRow();
L_ITEM.setValue("EBELN", stringObjectMap.get("EBELN"));
L_ITEM.setValue("EBELP", stringObjectMap.get("EBELP"));
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);
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());
}
}
// public static void main(String[] args) {
// List<SapBackflushMPQuery> sapBackflushMPQueryList=new ArrayList<>();
// SapBackflushMPQuery sapBackflushMPQuery=new SapBackflushMPQuery();

@ -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());

Loading…
Cancel
Save