sap105部分对接

master
mengjiao 6 months ago
parent aba51d999f
commit cc87add6d2

@ -514,6 +514,14 @@ public class SapController extends BaseController {
public R incomingConversion(@RequestBody(required = false) Map<String, Object> mapList) {
return sapItemSyncService.incomingConversion(mapList);
}
//sap105过账功能--这个功能是有两个sap接口组成的要先调用ZMES_MSEG获取物料凭证数据再根据获取的信息调用ZMES_MIGO_105
@PostMapping("/sap105temporarilyCollected")
@Log(title = "sap105过账接口", businessType = BusinessType.SAP)
public R sap105temporarilyCollected(@RequestBody(required = false) List<Map> mapList) {
return sapItemSyncService.sap105temporarilyCollected(mapList);
}
@PostMapping("/addDatasource")
public R addDatasource(@RequestBody DataSourcePropertyDTO dto){
DataSourceProperty dataSourceProperty = new DataSourceProperty();

@ -650,5 +650,50 @@ public class SapItemSyncImpl implements SapItemSyncService {
}
}
@Override
public R sap105temporarilyCollected(List<Map> mapList) {
try {
JCoRepository repository = dest.getRepository();
JCoFunction func = repository.getFunction("ZMES_103_MIGO");
if (func == null) {
throw new RuntimeException("Function does not exist in SAP");
}
log.info("来料暂收参数-------" + mapList.toString());
JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM");
System.out.println(L_ITEM);
for (Map map : mapList) {
L_ITEM.appendRow();
L_ITEM.setValue("EBELN", map.get("EBELN"));
L_ITEM.setValue("EBELP", map.get("EBELP"));
L_ITEM.setValue("MATNR", map.get("MATNR"));
L_ITEM.setValue("WERKS", map.get("WERKS"));
L_ITEM.setValue("QUANTITY", map.get("QUANTITY"));
}
System.out.println(L_ITEM);
func.execute(dest);//执行调用函数
/**
* RETCODE CHAR3 200-500-
* L_MSG CHAR220
* MATERIALDOCUMENT CHAR10
* MATDOCUMENTYEAR NUMC4
*/
String RETCODE = func.getExportParameterList().getString("RETCODE");
String MESSAGE = func.getExportParameterList().getString("L_MSG");
String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT");
String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR");
log.info("暂收结果结果-----" + RETCODE+"/" +MESSAGE+"/" +MATERIALDOCUMENT+"/" +MATDOCUMENTYEAR);
if((Constants.FAIL).equals(Integer.parseInt(RETCODE))){
return R.fail(MESSAGE);
}
Map Resmap = new HashMap();
Resmap.put("MATERIALDOCUMENT", MATERIALDOCUMENT);
Resmap.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR);
return R.ok(Resmap, MESSAGE);
} catch (Exception e) {
log.error(e.getMessage());
return R.fail(e.getMessage());
}
}
}

Loading…
Cancel
Save