Subcontract
# Subcontract Quotation
# Fetch Subcontract Quotation List
# 一、Description
Usage: Fetch Subcontract Quotation List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSqu |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSqu&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSqu",
"size": 8,
"stSearchDisplay": "Subcontract Quotation",
"values": [
{
"tDate": "2022-03-23",
"code": "SQUTEST",
"pdcoreMainSqu.lastModifyUid.simpleUser.desc__lang": "Milk",
"st_code": "SQUTEST",
"pdcoreMainSqu.venId.ven.desc__lang": "Accounts Payable Control Account (Raw Material) SC",
"st_desc": "SQUTEST",
"pdcoreMainSqu.flowTypeId.flowtype.code": "MX-SUBCON",
"iRev": 1,
"pdcoreMainSqu.curId.cur.sym": "HK$",
"pdcoreMainSqu.flowTypeId.flowtype.desc": "Subcontract",
"pdcoreMainSqu.venId.ven.code": "2000",
"st_id": 17,
"id": 17,
"lastModifyDate": "2022-03-24 14:39:36"
}
]
}
# Create Subcontract Quotation (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Quotation】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSqu |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSqu";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"pdcoresqut": [
{
"sourceId": 0,
"lot": "A",
"sourceLot": "",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"disc": 5,
"up": 10
}
],
"code": "SQUTEST2",
"venId": 99,
"virDeptId": 7,
"flowTypeId": 15450
}
4、Response Sample
{
"tranId": 19,
"tranCode": "SQUTEST2",
"message": "",
"status": true
}
# Load Subcontract Quotation
# 一、Description
Usage: Load Subcontract Quotation Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSqu |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSqu |
id | long(Query) | Yes | Subcontract Quotation ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSqu";
String param = "&menuCode=pdcoreSqu&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoremainsqu": [
{
"lastModifyUid": 20,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"position_zh-CN": "",
"sysJson": "",
"viewCode": "pdcoreSqu",
"expDate": 253402185600000,
"beId": 142,
"useAccessBl": false,
"id": 17,
"doctypeId": 0,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1648103976000,
"createUid": 20,
"rev": "1",
"lastApproveUid": 20,
"ttlCharge": 0,
"expiredUid": 0,
"descOrigin": "VENREF",
"position_en": "",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_zh-CN\": \"\"}",
"manId": 0,
"ttlAmt": 0,
"position": "",
"flowTypeId": 15450,
"status": "Y",
"weightUnit": "kg",
"tDate": 1647964800000,
"code": "SQUTEST",
"cnDeptId": 0,
"amt": 0,
"iRev": 1,
"upOrigin": "SUBPRO",
"ce01Module": "pdcoreSqu",
"curId": 2,
"expired": false,
"rate": 1,
"domAmt": 0,
"measUnit": "cbm",
"printCount": 0,
"statusModifyDate": 1648103976000,
"createDate": 1648103976000,
"useAccessWl": false,
"position_ccn": "",
"ttlDisc": 0,
"position_haha1": "",
"useAccessAutoCalc": false,
"staffId": 785,
"domAmtDiff": 0
}
],
"pdcoresqut": [
{
"sourceId": 0,
"dDesc_ctw": "",
"dualQty": 0,
"costAmt": 0,
"amt": 0,
"iRev": 1,
"leadTime": 0,
"itemNo": " 1",
"dDesc_zh-CN": "",
"type": "product",
"bDesc_ctw": "",
"ce01Module": "pdcoreSqu",
"beId": 142,
"lot": "A",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"domAmt": 0,
"processId": 0,
"bDesc": "",
"bDesc_ccn": "",
"bDesc_zh-TW": "",
"newLotno": 0,
"unitId": 39720,
"dDesc_ccn": "",
"id": 64,
"up": 10,
"locId": 0,
"dDesc_haha1": "",
"hId": 17,
"bDesc_en": "",
"processDesc": "",
"dDesc_en": "",
"dualUnitId": 4489,
"sourceLot": "",
"dDesc": "",
"footerKey": "",
"i18nField": "{\"bDesc_zh-CN\": \"\", \"dDesc_zh-CN\": \"\"}",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"disc": 5,
"refCode": "",
"lotNoId": 0,
"bDesc_zh-CN": ""
}
],
"pdcoreremsqu": [
{
"tradeTerm_ccn": "",
"country": "",
"heading_en": "",
"tradeTerm_zh-CN": "",
"shipAd4_haha1": "",
"remarks_en": "",
"packing_ccn": "",
"dest": "",
"tradeTerm": "",
"shipAd2_zh-TW": "",
"heading_ccn": "",
"shipAd1_en": "",
"payTerm_zh-TW": "",
"province": "",
"packing_haha1": "",
"tel": "",
"id": 17,
"fax": "",
"remarks_zh-TW": "",
"shipAd1_zh-CN": "",
"hId": 17,
"payTerm": "",
"payTerm_ccn": "",
"heading_zh-TW": "",
"remarks_ccn": "",
"heading_ctw": "",
"tradeTerm_zh-TW": "",
"shipAd4_ccn": "",
"zipcode": "",
"shipAd2_en": "",
"shipAd1_haha1": "",
"i18nField": "{\"heading_zh-CN\": \"\", \"packing_zh-CN\": \"\", \"payTerm_zh-CN\": \"\", \"remarks_zh-CN\": \"\", \"shipAd1_zh-CN\": \"\", \"shipAd2_zh-CN\": \"\", \"shipAd3_zh-CN\": \"\", \"shipAd4_zh-CN\": \"\", \"tradeTerm_zh-CN\": \"\"}",
"remarks_zh-CN": "",
"shipAd4_ctw": "",
"packing_en": "",
"shipAd3_zh-TW": "",
"payTerm_zh-CN": "",
"payTerm_ctw": "",
"remarks_ctw": "",
"lTime": "",
"shipAd1_ccn": "",
"tradeTerm_en": "",
"shipCodeId": 0,
"city": "",
"shipAd3_ctw": "",
"payTerm_en": "",
"iRev": 1,
"shipAd4_zh-TW": "",
"packing": "",
"shipAd2_ccn": "",
"heading_zh-CN": "",
"ce01Module": "pdcoreSqu",
"payTerm_haha1": "",
"shipAd3_en": "",
"packing_zh-TW": "",
"shipAd3_zh-CN": "",
"shipAd4_zh-CN": "",
"shipAd2_ctw": "",
"shipAd2_haha1": "",
"shipAd1_ctw": "",
"remarks_haha1": "",
"email": "",
"shipAd3_ccn": "",
"packing_ctw": "",
"heading_haha1": "",
"heading": "",
"tradeTerm_ctw": "",
"packing_zh-CN": "",
"telCountry": "",
"tradeTerm_haha1": "",
"shipAd1": "",
"shipAd2": "",
"shipAd3": "",
"shipAd4": "",
"telArea": "",
"shipAd1_zh-TW": "",
"shipAd4_en": "",
"shipAd2_zh-CN": "",
"shipAd3_haha1": "",
"remarks": ""
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Quotation
# 一、Description
Usage: Create or Update 【Subcontract Quotation】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSqu |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSqu |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSqu";
String param = "&menuCode=pdcoreSqu";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainsqu": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"curId": 2,
"code": "SQUTEST",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"staffId": 785
}
]
},
"pdcoresqut": {
"values": [
{
"sourceId": 0,
"lot": "A",
"sourceLot": "",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"disc": 5,
"up": 10
}
]
}
}
4、Response Sample
{
"recordId": 20,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Quotation
# 一、Description
Usage: Delete Subcontract Quotation
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSqu |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSqu |
id | long(Query) | Yes | Subcontract Quotation ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSqu";
String param = "&menuCode=pdcoreSqu&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Load EBI data:Subcontract Quotation List
# 一、Description
Usage: Run EBI[Subcontract Quotation List],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 10,
"rows": [
{
"MAIN_reportRate": "1.00000000",
"MAIN_domFinalAmt": "1,130,481.00",
"MAIN_reportTtlCharge": "11,419.00",
"MAIN_domTtlDisc": "22,838.00",
"M18ReservedCol_dataIndex": 1,
"MAIN_domTtlCharge": "11,419.00",
"MAIN_reportFinalAmt": "1,130,481.00",
"MAIN_domTtlAmt": "1,141,900.00",
"MAIN_reportTtlAmt": "1,141,900.00",
"MAIN_reportTtlDisc": "22,838.00"
}
]
}
# Load EBI data:Subcontract Quotation Report
# 一、Description
Usage: Run EBI[Subcontract Quotation Report],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 44,
"rows": [
{
"SQUT_A_proId_code": "MX-YZ",
"SQUT_A_proId": "4174",
"M18ReservedCol_dataIndex": 1,
"SQUT_A_processId_code": "",
"SQU_A_code": "MX-TEST",
"SQUT_A_processId": "0",
"SQU_A_id": "1"
}
]
}
# Subcontract Order
# Fetch Subcontract Order List
# 一、Description
Usage: Fetch Subcontract Order List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSjob |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSjob&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSjob",
"size": 62,
"stSearchDisplay": "Subcontract Order",
"values": [
{
"tDate": "2022-03-23",
"code": "SJOBTEST",
"st_id": 198,
"st_code": "SJOBTEST",
"pdcoreMainSjob.lastModifyUid.simpleUser.desc__lang": "Milk",
"st_desc": "SJOBTEST",
"iRev": 8,
"id": 198,
"lastModifyDate": "2022-03-25 11:23:58"
}
]
}
# Create Subcontract Order (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Order】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSjob |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSjob";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"code": "SJOBTEST2",
"venId": 99,
"virDeptId": 7,
"pdcoresjobt": [
{
"sourceId": 0,
"lot": "A",
"oriQty": 100,
"sourceLot": "",
"cDate": "2022-04-23",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"oriUnitId": 39720,
"startDate": "2022-03-23"
}
],
"flowTypeId": 15450
}
4、Response Sample
{
"tranId": 19,
"tranCode": "SJOBTEST2",
"message": "",
"status": true
}
# Load Subcontract Order
# 一、Description
Usage: Load Subcontract Order Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSjob |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSjob |
id | long(Query) | Yes | Subcontract Order ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSjob";
String param = "&menuCode=pdcoreSjob&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoremainsjob": [
{
"lastModifyUid": 20,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"position_zh-CN": "",
"sysJson": "",
"viewCode": "pdcoreSjob",
"beId": 142,
"useAccessBl": false,
"id": 198,
"doctypeId": 0,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1648178638000,
"createUid": 20,
"rev": "4",
"lastApproveUid": 20,
"ttlCharge": 0,
"completed": false,
"expiredUid": 0,
"position_en": "",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_zh-CN\": \"\"}",
"manId": 0,
"deposit": 0,
"ttlAmt": 0,
"position": "",
"flowTypeId": 15450,
"status": "Y",
"tDate": 1647964800000,
"code": "SJOBTEST",
"cnDeptId": 0,
"amt": 0,
"iRev": 8,
"ce01Module": "pdcoreSjob",
"curId": 2,
"expired": false,
"rate": 1,
"domAmt": 0,
"printCount": 0,
"statusModifyDate": 1648106762000,
"createDate": 1648025584000,
"depoRate": 0,
"useAccessWl": false,
"position_ccn": "",
"ttlDisc": 0,
"position_haha1": "",
"useAccessAutoCalc": false,
"staffId": 785,
"domAmtDiff": 0
}
],
"pdcoresjobprot": [
{
"sourceId": 0,
"udfPJPwidth": 0,
"udfPJPtestNum": 0,
"dualQty": 0,
"itemNo": " 1",
"beId": 142,
"oriQty": 100,
"bDesc": "",
"bDesc_zh-TW": "",
"id": 250,
"up": 0,
"qcRequired": false,
"udfPJPtestBool": false,
"dDesc_haha1": "",
"hId": 198,
"cDate": 1650643200000,
"level": "",
"udfPJPtestLookup": 0,
"completed": false,
"footerKey": " 1",
"dDesc": "",
"udfPJPstring1": "",
"i18nField": "{}",
"sourceType": "pro",
"qty": 100,
"disc": 0,
"refCode": "",
"startDate": 1647964800000,
"dDesc_ctw": "",
"amt": 0,
"iRev": 8,
"dDesc_zh-CN": "",
"confirmed": true,
"bDesc_ctw": "",
"ce01Module": "pdcoreSjob",
"lot": "A",
"bDesc_haha1": "",
"treeLevel": "",
"dDesc_zh-TW": "",
"domAmt": 0,
"udfPJPtestStr": "",
"bDesc_ccn": "",
"unitId": 39720,
"udfPJPtestDate": -2209017600000,
"dDesc_ccn": "",
"bomId": 0,
"mjobId": 0,
"bDesc_en": "",
"udfPJPlength": 0,
"dDesc_en": "",
"oriUnitId": 39720,
"dualUnitId": 0,
"oriUp": 0,
"sourceLot": "",
"proId": 4634,
"cuspono": "",
"bDesc_zh-CN": ""
}
],
"pdcoresjobmatt": [
{
"tDate": 1647964800000,
"dDesc_ctw": "",
"dualQty": 0,
"oriMatLot": "A",
"pproId": 4634,
"iRev": 8,
"itemNo": " 1",
"dDesc_zh-CN": "",
"bDesc_ctw": "",
"ce01Module": "pdcoreSjob",
"beId": 142,
"lot": "A",
"oriQty": 100,
"bDesc_haha1": "",
"treeLevel": "",
"dDesc_zh-TW": "",
"bomReqQty": 0,
"processId": 0,
"oriMatId": 3972,
"bDesc": "",
"bDesc_ccn": "",
"bDesc_zh-TW": "",
"unitId": 38887,
"dDesc_ccn": "",
"id": 586,
"dDesc_haha1": "",
"hId": 198,
"bomId": 0,
"bDesc_en": "",
"dDesc_en": "",
"completed": false,
"oriUnitId": 38887,
"dualUnitId": 0,
"jobId": 0,
"footerKey": " 1",
"dDesc": "",
"i18nField": "{}",
"proId": 3972,
"qty": 100,
"bomLot": "",
"refCode": "",
"jobLot": "",
"bDesc_zh-CN": ""
}
],
"pdcoreremsjob": [
{
"tradeTerm_ccn": "",
"country": "",
"shipMark": "",
"heading_en": "",
"shipMark_zh-CN": "",
"tradeTerm_zh-CN": "",
"shipAd4_haha1": "",
"remarks_en": "",
"packing_ccn": "",
"dest": "",
"tradeTerm": "",
"shipAd2_zh-TW": "",
"heading_ccn": "",
"shipAd1_en": "",
"payTerm_zh-TW": "",
"province": "",
"packing_haha1": "",
"tel": "",
"shipMark_en": "",
"id": 191,
"fax": "",
"remarks_zh-TW": "",
"shipAd1_zh-CN": "",
"hId": 198,
"payTerm": "",
"heading_zh-TW": "",
"payTerm_ccn": "",
"remarks_ccn": "",
"heading_ctw": "",
"tradeTerm_zh-TW": "",
"shipMark_ccn": "",
"shipAd4_ccn": "",
"zipcode": "",
"shipAd2_en": "",
"shipAd1_haha1": "",
"i18nField": "{\"heading_zh-CN\": \"\", \"packing_zh-CN\": \"\", \"payTerm_zh-CN\": \"\", \"remarks_zh-CN\": \"\", \"shipAd1_zh-CN\": \"\", \"shipAd2_zh-CN\": \"\", \"shipAd3_zh-CN\": \"\", \"shipAd4_zh-CN\": \"\", \"shipMark_zh-CN\": \"\", \"tradeTerm_zh-CN\": \"\"}",
"remarks_zh-CN": "",
"shipAd4_ctw": "",
"packing_en": "",
"shipAd3_zh-TW": "",
"payTerm_zh-CN": "",
"payTerm_ctw": "",
"shipMark_zh-TW": "",
"remarks_ctw": "",
"shipAd1_ccn": "",
"tradeTerm_en": "",
"shipCodeId": 0,
"city": "",
"shipMark_ctw": "",
"shipAd3_ctw": "",
"payTerm_en": "",
"iRev": 8,
"shipAd4_zh-TW": "",
"packing": "",
"shipAd2_ccn": "",
"heading_zh-CN": "",
"ce01Module": "pdcoreSjob",
"payTerm_haha1": "",
"shipAd3_en": "",
"packing_zh-TW": "",
"shipAd3_zh-CN": "",
"shipAd4_zh-CN": "",
"shipAd2_ctw": "",
"shipAd2_haha1": "",
"shipAd1_ctw": "",
"remarks_haha1": "",
"email": "",
"shipAd3_ccn": "",
"packing_ctw": "",
"heading_haha1": "",
"heading": "",
"tradeTerm_ctw": "",
"packing_zh-CN": "",
"telCountry": "",
"tradeTerm_haha1": "",
"shipAd1": "",
"shipAd2": "",
"shipAd3": "",
"shipAd4": "",
"telArea": "",
"shipAd1_zh-TW": "",
"shipAd4_en": "",
"shipAd2_zh-CN": "",
"shipAd3_haha1": "",
"shipMark_haha1": "",
"smthId": 0,
"remarks": ""
}
],
"pdcoresjobt": [
{
"sourceId": 0,
"udfPJPwidth": 0,
"udfPJPtestNum": 0,
"dualQty": 0,
"prqFooterKey": "",
"itemNo": " 1",
"prqSourceId": 0,
"beId": 142,
"oriQty": 100,
"bDesc": "",
"bDesc_zh-TW": "",
"newLotno": 0,
"id": 267,
"udfPJPtestBool": false,
"dDesc_haha1": "",
"hId": 198,
"cDate": 1650643200000,
"level": "",
"udfPJPtestLookup": 0,
"prqResultId": 0,
"bomSource": "noBom",
"completed": false,
"mjobModule": "",
"dDesc": "",
"footerKey": "",
"udfPJPstring1": "",
"i18nField": "{}",
"sourceType": "pro",
"sourceDDate": -2209017600000,
"qty": 100,
"refCode": "",
"lotNoId": 0,
"dDesc_ctw": "",
"costAmt": 0,
"pproId": 4634,
"iRev": 8,
"dDesc_zh-CN": "",
"bDesc_ctw": "",
"ce01Module": "pdcoreSjob",
"lot": "A",
"sourceDate": -2209017600000,
"bDesc_haha1": "",
"treeLevel": "",
"dDesc_zh-TW": "",
"udfPJPtestStr": "",
"bDesc_ccn": "",
"unitId": 39720,
"udfPJPtestDate": -2209017600000,
"dDesc_ccn": "",
"locId": 0,
"bomId": 0,
"mjobId": 0,
"bDesc_en": "",
"udfPJPlength": 0,
"dDesc_en": "",
"dualUnitId": 4489,
"oriUnitId": 39720,
"prqSourceType": "pro",
"sourceLot": "",
"prqSourceLot": "",
"proId": 4634,
"cuspono": "",
"ndFooterKey": " 1",
"proLot": "A",
"bDesc_zh-CN": ""
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Order
# 一、Description
Usage: Create or Update 【Subcontract Order】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSjob |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSjob |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSjob";
String param = "&menuCode=pdcoreSjob";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainsjob": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"curId": 2,
"code": "SJOBTEST",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"staffId": 785
}
]
},
"pdcoresjobprot": {
"values": [
{
"sourceId": 0,
"lot": "A",
"oriQty": 100,
"sourceLot": "",
"cDate": "2022-04-23",
"footerKey": " 1",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"oriUnitId": 39720,
"startDate": "2022-03-23"
}
]
},
"pdcoresjobmatt": {
"values": [
{
"sourceId": 0,
"lot": "A",
"oriQty": 100,
"tDate": "2022-03-23",
"footerKey": " 1",
"proId": 3972,
"qty": 100,
"unitId": 38887,
"oriUnitId": 38887,
"treeLe": "pro"
}
]
},
"pdcoresjobt": {
"values": [
{
"sourceId": 0,
"cDate": "2022-04-23",
"oriUnitId": 39720,
"lot": "A",
"oriQty": 100,
"sourceLot": "",
"sourceType": "pro",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"ndFooterKey": " 1",
"proLot": "A",
"startDate": "2022-03-23"
}
]
}
}
4、Response Sample
{
"recordId": 20,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Order
# 一、Description
Usage: Delete Subcontract Order
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSjob |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSjob |
id | long(Query) | Yes | Subcontract Order ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSjob";
String param = "&menuCode=pdcoreSjob&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Load EBI data:Subcontract Order List
# 一、Description
Usage: Run EBI[Subcontract Order List],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 69,
"rows": [
{
"MAIN_reportRate": "1.00000000",
"MAIN_domFinalAmt": "168,000.00",
"MAIN_reportTtlCharge": "16,000.00",
"MAIN_domTtlDisc": "8,000.00",
"M18ReservedCol_dataIndex": 1,
"MAIN_domTtlCharge": "16,000.00",
"MAIN_reportFinalAmt": "168,000.00",
"MAIN_domTtlAmt": "160,000.00",
"MAIN_reportTtlAmt": "160,000.00",
"MAIN_reportTtlDisc": "8,000.00"
}
]
}
# Load EBI data:Subcontract Order Report
# 一、Description
Usage: Run EBI[Subcontract Order Report],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 1,
"rows": [
{
"SJOB_A_id": "133",
"MAIN_completeDualQty": "0.00",
"MAIN_orderDualQty": "30.00",
"M18ReservedCol_dataIndex": 1,
"SJOBPROT_A_proId": "4634",
"SJOB_A_code": "BT_SCO2020122901",
"MAIN_outstandingQty": "30.0000",
"MAIN_returnDualQty": "0.00",
"SJOBPROT_A_proId_code": "MX-JZ-F5",
"MAIN_returnQty": "5.0000",
"MAIN_orderQty": "30.0000",
"MAIN_outstandingDualQty": "30.00",
"SJOBPROT_A_qty": "30.0000",
"MAIN_completeQty": "5.0000"
}
]
}
# Subcontract Material Delivery
# Fetch Subcontract Material Delivery List
# 一、Description
Usage: Fetch Subcontract Material Delivery List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSpick |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSpick&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSpick",
"size": 25,
"stSearchDisplay": "Subcontract Material Delivery",
"values": [
{
"pdcoreMainSpick.lastModifyUid.simpleUser.desc__lang": "Milk",
"tDate": "2022-03-23",
"code": "SPICKTEST",
"st_id": 40,
"st_code": "SPICKTEST",
"st_desc": "SPICKTEST",
"iRev": 1,
"id": 40,
"lastModifyDate": "2022-03-24 16:31:35"
}
]
}
# Create Subcontract Material Delivery (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Material Delivery】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field staff
has no value specified, the default staff in the User Options will be used automatically
c. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSpick |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSpick";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"code": "SPICKTEST2",
"venId": 99,
"virDeptId": 7,
"pdcorespickt": [
{
"sourceId": 198,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSjob",
"proId": 3972,
"oriUnitId": 38887,
"locId": 15
}
],
"locId": 15
}
4、Response Sample
{
"tranId": 40,
"tranCode": "SPICKTEST2",
"message": "",
"status": true
}
# Load Subcontract Material Delivery
# 一、Description
Usage: Load Subcontract Material Delivery Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSpick |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpick |
id | long(Query) | Yes | Subcontract Material Delivery ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSpick";
String param = "&menuCode=pdcoreSpick&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcorespicktlot": [
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"lotnoLookupAttr19": 0,
"newLotno": 0,
"lotnoLot": "A",
"id": 205,
"lotnoNumAttr20": 0,
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"lotnoLookupAttr11": 0,
"iRev": 1,
"ce01Module": "pdcoreSpick",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 38887,
"lotnoDateAttr9": -2209017600000,
"locId": 15,
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"dualQty": 0,
"itemNo": "",
"hId": 40,
"lotnoNumAttr1": 1001,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"lotnoExpDate": 253402271999000,
"footerKey": " 1",
"qty": 100,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"lotNoId": 5388,
"lotnoTextAttr16": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"lotnoTextAttr19": "",
"lotnoTextAttr10": "",
"dualUnitId": 3937,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "mx20220112a",
"lotnoLookupAttr9": 0,
"proId": 3972,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
}
],
"pdcoreremspick": [
{
"hId": 40,
"i18nField": "{\"remarks_zh-CN\": \"\"}",
"remarks_zh-CN": "",
"remarks_ccn": "",
"remarks_en": "",
"remarks_haha1": "",
"iRev": 1,
"id": 40,
"remarks_zh-TW": "",
"remarks": "",
"remarks_ctw": "",
"ce01Module": "pdcoreSpick"
}
],
"pdcorespickt": [
{
"sourceId": 198,
"dualQty": 0,
"pbDesc": "",
"itemNo": " 1",
"beId": 142,
"oriQty": 100,
"pdDesc_zh-CN": "",
"bDesc": "",
"bDesc_zh-TW": "",
"newLotno": 0,
"id": 103,
"pbDesc_zh-TW": "",
"dDesc_haha1": "",
"hId": 40,
"pbDesc_ccn": "",
"pdDesc_zh-TW": "",
"pdDesc_ccn": "",
"dDesc": "",
"footerKey": " 1",
"i18nField": "{\"bDesc_zh-CN\": \"\", \"dDesc_zh-CN\": \"\", \"pbDesc_zh-CN\": \"\", \"pdDesc_zh-CN\": \"\"}",
"pbDesc_zh-CN": "",
"sourceType": "pdcoreSjob",
"qty": 100,
"refCode": "",
"lotNoId": 0,
"dDesc_ctw": "",
"costAmt": 0,
"pproId": 4634,
"iRev": 1,
"dDesc_zh-CN": "",
"bDesc_ctw": "",
"ce01Module": "pdcoreSpick",
"lot": "A",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"pdDesc_ctw": "",
"plot": "A",
"bDesc_ccn": "",
"unitId": 38887,
"dDesc_ccn": "",
"pbDesc_haha1": "",
"pbDesc_ctw": "",
"locId": 15,
"mjobId": 0,
"bDesc_en": "",
"pbDesc_en": "",
"pdDesc": "",
"pdDesc_haha1": "",
"pdDesc_en": "",
"dDesc_en": "",
"oriUnitId": 38887,
"dualUnitId": 3937,
"sourceLot": "A",
"proId": 3972,
"bDesc_zh-CN": ""
}
],
"pdcoremainspick": [
{
"tDate": 1647964800000,
"lastModifyUid": 20,
"code": "SPICKTEST",
"cnDeptId": 0,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"iRev": 1,
"position_zh-CN": "",
"sysJson": "",
"viewCode": "pdcoreSpick",
"ce01Module": "pdcoreSpick",
"beId": 142,
"expired": false,
"printCount": 0,
"useAccessBl": false,
"id": 40,
"doctypeId": 0,
"statusModifyDate": 1648110695000,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1648110695000,
"createUid": 20,
"locId": 15,
"createDate": 1648110695000,
"rev": "1",
"lastApproveUid": 20,
"expiredUid": 0,
"useAccessWl": false,
"position_en": "",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_zh-CN\": \"\"}",
"position_ccn": "",
"position_haha1": "",
"manId": 0,
"position": "",
"useAccessAutoCalc": false,
"staffId": 785,
"status": "Y"
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Material Delivery
# 一、Description
Usage: Create or Update 【Subcontract Material Delivery】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSpick |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpick |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSpick";
String param = "&menuCode=pdcoreSpick";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcorespickt": {
"values": [
{
"sourceId": 198,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSjob",
"plot": "A",
"pproId": 4634,
"proId": 3972,
"qty": 100,
"unitId": 38887,
"oriUnitId": 38887,
"locId": 15
}
]
},
"pdcoremainspick": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"code": "SPICKTEST",
"venId": 99,
"virDeptId": 7,
"staffId": 785,
"locId": 15
}
]
}
}
4、Response Sample
{
"recordId": 40,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Material Delivery
# 一、Description
Usage: Delete Subcontract Material Delivery
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSpick |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpick |
id | long(Query) | Yes | Subcontract Material Delivery ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSpick";
String param = "&menuCode=pdcoreSpick&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Subcontract Material Return
# Fetch Subcontract Material Return List
# 一、Description
Usage: Fetch Subcontract Material Return List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSmr |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSmr&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSmr",
"size": 3,
"stSearchDisplay": "Subcontract Material Return",
"values": [
{
"tDate": "2021-01-27",
"code": "SMR20210001",
"st_id": 7,
"st_code": "SMR20210001",
"st_desc": "SMR20210001",
"iRev": 1,
"pdcoreMainSmr.lastModifyUid.simpleUser.desc__lang": "Milk",
"id": 7,
"lastModifyDate": "2021-01-27 11:24:30"
}
]
}
# Create Subcontract Material Return (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Material Return】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field staff
has no value specified, the default staff in the User Options will be used automatically
c. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSmr |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSmr";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"code": "SMRTEST2",
"venId": 99,
"virDeptId": 7,
"pdcoresmrt": [
{
"sourceId": 40,
"sjobId": 198,
"pproId": 4634,
"oriUnitId": 38887,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSpick",
"plot": "A",
"sjobType": "pdcoreSjob",
"proId": 3972,
"locId": 15,
"sjobLot": "A",
"lotNoId": 5388
}
],
"locId": 15
}
4、Response Sample
{
"tranId": 40,
"tranCode": "SMRTEST2",
"message": "",
"status": true
}
# Load Subcontract Material Return
# 一、Description
Usage: Load Subcontract Material Return Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSmr |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSmr |
id | long(Query) | Yes | Subcontract Material Return ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSmr";
String param = "&menuCode=pdcoreSmr&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoremainsmr": [
{
"tDate": 1611676800000,
"lastModifyUid": 20,
"code": "SMR20210001",
"cnDeptId": 218,
"useAccess": false,
"virDeptId": 1,
"expiredDate": -2209017600000,
"iRev": 1,
"position_zh-CN": "",
"sysJson": "{\"autoGenCode\":{\"snId\":923,\"sn\":\"1\"}}",
"viewCode": "pdcoreSmr",
"ce01Module": "pdcoreSmr",
"beId": 142,
"expired": false,
"printCount": 0,
"useAccessBl": false,
"id": 7,
"doctypeId": 0,
"statusModifyDate": 1611717870000,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1611717870000,
"createUid": 20,
"locId": 2,
"createDate": 1611717870000,
"rev": "1",
"lastApproveUid": 20,
"expiredUid": 0,
"useAccessWl": false,
"position_en": "PIE",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_en\": \"PIE\"}",
"position_ccn": "",
"position_haha1": "",
"manId": 48,
"position": "PIE",
"useAccessAutoCalc": false,
"staffId": 21,
"status": "Y"
}
],
"pdcoreremsmr": [
{
"hId": 7,
"i18nField": "{\"remarks_en\": \"\"}",
"remarks_zh-CN": "",
"remarks_ccn": "",
"remarks_en": "",
"remarks_haha1": "",
"iRev": 1,
"id": 7,
"remarks_zh-TW": "",
"remarks": "",
"remarks_ctw": "",
"ce01Module": "pdcoreSmr"
}
],
"pdcoresmrt": [
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"pbDesc": "半成品",
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"oriQty": 20,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"bDesc_zh-TW": "",
"lotnoLookupAttr19": 0,
"newLotno": 0,
"lotnoLot": "A",
"id": 8,
"pbDesc_zh-TW": "半成品",
"dDesc_haha1": "",
"sjobLot": "A",
"lotnoNumAttr20": 0,
"pdDesc_ccn": "",
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"lotnoLookupAttr11": 0,
"i18nField": "{\"bDesc_en\": \"\", \"dDesc_en\": \"\", \"pbDesc_en\": \"半成品\", \"pdDesc_en\": \"\", \"pbDesc_haha1\": \"半成品\", \"pbDesc_zh-CN\": \"半成品\", \"pbDesc_zh-TW\": \"半成品\"}",
"pbDesc_zh-CN": "半成品",
"sourceType": "pdcoreSpick",
"costAmt": 600,
"pproId": 4536,
"iRev": 1,
"bDesc_ctw": "",
"ce01Module": "pdcoreSmr",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"bDesc_ccn": "",
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 39607,
"lotnoDateAttr9": -2209017600000,
"pbDesc_ctw": "",
"locId": 2,
"mjobId": 0,
"bDesc_en": "",
"sjobId": 130,
"pdDesc": "",
"pdDesc_haha1": "",
"pdDesc_en": "",
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"bDesc_zh-CN": "",
"sourceId": 29,
"dualQty": 40,
"itemNo": " 1",
"beId": 142,
"pdDesc_zh-CN": "",
"bDesc": "",
"hId": 7,
"pbDesc_ccn": "",
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"pdDesc_zh-TW": "",
"lotnoExpDate": 253402185600000,
"footerKey": " 1",
"dDesc": "",
"sjobType": "pdcoreSjob",
"qty": 40,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"refCode": "",
"lotNoId": 753,
"lotnoTextAttr16": "",
"dDesc_ctw": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"dDesc_zh-CN": "",
"lotnoTextAttr19": "",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"pdDesc_ctw": "",
"plot": "A",
"dDesc_ccn": "",
"pbDesc_haha1": "半成品",
"lotnoTextAttr10": "",
"pbDesc_en": "半成品",
"dDesc_en": "",
"oriUnitId": 41198,
"dualUnitId": 4396,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"sourceLot": "A",
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "************NE",
"lotnoLookupAttr9": 0,
"proId": 4538,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
},
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"pbDesc": "MRPPRO02",
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"oriQty": 22,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"bDesc_zh-TW": "",
"lotnoLookupAttr19": 0,
"newLotno": 0,
"lotnoLot": "A",
"id": 9,
"pbDesc_zh-TW": "",
"dDesc_haha1": "",
"sjobLot": "A",
"lotnoNumAttr20": 0,
"pdDesc_ccn": "",
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"lotnoLookupAttr11": 0,
"i18nField": "{\"bDesc_en\": \"MRPMAT02\", \"dDesc_en\": \"\", \"pbDesc_en\": \"MRPPRO02\", \"pdDesc_en\": \"<p>MRPPRO02<br></p>\"}",
"pbDesc_zh-CN": "",
"sourceType": "pdcoreSpick",
"costAmt": 22,
"pproId": 4231,
"iRev": 1,
"bDesc_ctw": "",
"ce01Module": "pdcoreSmr",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"bDesc_ccn": "",
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 39228,
"lotnoDateAttr9": -2209017600000,
"pbDesc_ctw": "",
"locId": 2,
"mjobId": 0,
"bDesc_en": "MRPMAT02",
"sjobId": 84,
"pdDesc": "<p>MRPPRO02<br></p>",
"pdDesc_haha1": "",
"pdDesc_en": "<p>MRPPRO02<br></p>",
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"bDesc_zh-CN": "",
"sourceId": 29,
"dualQty": 22,
"itemNo": " 2",
"beId": 142,
"pdDesc_zh-CN": "",
"bDesc": "MRPMAT02",
"hId": 7,
"pbDesc_ccn": "",
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"pdDesc_zh-TW": "",
"lotnoExpDate": 253402185600000,
"footerKey": " 2",
"dDesc": "",
"sjobType": "prodSpjob",
"qty": 22,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"refCode": "",
"lotNoId": 753,
"lotnoTextAttr16": "",
"dDesc_ctw": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"dDesc_zh-CN": "",
"lotnoTextAttr19": "",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"pdDesc_ctw": "",
"plot": "A",
"dDesc_ccn": "",
"pbDesc_haha1": "",
"lotnoTextAttr10": "",
"pbDesc_en": "MRPPRO02",
"dDesc_en": "",
"oriUnitId": 39228,
"dualUnitId": 4171,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"sourceLot": "A",
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "************NE",
"lotnoLookupAttr9": 0,
"proId": 4233,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
},
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"pbDesc": "MRPPRO02",
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"oriQty": 33,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"bDesc_zh-TW": "",
"lotnoLookupAttr19": 0,
"newLotno": 0,
"lotnoLot": "A",
"id": 10,
"pbDesc_zh-TW": "",
"dDesc_haha1": "",
"sjobLot": "A",
"lotnoNumAttr20": 0,
"pdDesc_ccn": "",
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"lotnoLookupAttr11": 0,
"i18nField": "{\"bDesc_en\": \"MRPMAT01\", \"dDesc_en\": \"\", \"pbDesc_en\": \"MRPPRO02\", \"pdDesc_en\": \"<p>MRPPRO02<br></p>\"}",
"pbDesc_zh-CN": "",
"sourceType": "pdcoreSpick",
"costAmt": 33,
"pproId": 4231,
"iRev": 1,
"bDesc_ctw": "",
"ce01Module": "pdcoreSmr",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"bDesc_ccn": "",
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 39227,
"lotnoDateAttr9": -2209017600000,
"pbDesc_ctw": "",
"locId": 2,
"mjobId": 0,
"bDesc_en": "MRPMAT01",
"sjobId": 84,
"pdDesc": "<p>MRPPRO02<br></p>",
"pdDesc_haha1": "",
"pdDesc_en": "<p>MRPPRO02<br></p>",
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"bDesc_zh-CN": "",
"sourceId": 29,
"dualQty": 33,
"itemNo": " 3",
"beId": 142,
"pdDesc_zh-CN": "",
"bDesc": "MRPMAT01",
"hId": 7,
"pbDesc_ccn": "",
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"pdDesc_zh-TW": "",
"lotnoExpDate": 253402185600000,
"footerKey": " 3",
"dDesc": "",
"sjobType": "prodSpjob",
"qty": 33,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"refCode": "",
"lotNoId": 753,
"lotnoTextAttr16": "",
"dDesc_ctw": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"dDesc_zh-CN": "",
"lotnoTextAttr19": "",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"pdDesc_ctw": "",
"plot": "A",
"dDesc_ccn": "",
"pbDesc_haha1": "",
"lotnoTextAttr10": "",
"pbDesc_en": "MRPPRO02",
"dDesc_en": "",
"oriUnitId": 39227,
"dualUnitId": 4170,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"sourceLot": "A",
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "************NE",
"lotnoLookupAttr9": 0,
"proId": 4232,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Material Return
# 一、Description
Usage: Create or Update 【Subcontract Material Return】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSmr |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSmr |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSmr";
String param = "&menuCode=pdcoreSmr";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainsmr": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"code": "SMRTEST",
"venId": 99,
"virDeptId": 7,
"staffId": 785,
"locId": 15
}
]
},
"pdcoresmrt": {
"values": [
{
"sourceId": 40,
"sjobId": 198,
"pproId": 4634,
"oriUnitId": 38887,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSpick",
"plot": "A",
"sjobType": "pdcoreSjob",
"proId": 3972,
"qty": 100,
"unitId": 38887,
"locId": 15,
"sjobLot": "A",
"lotNoId": 5388
}
]
}
}
4、Response Sample
{
"recordId": 40,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Material Return
# 一、Description
Usage: Delete Subcontract Material Return
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSmr |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSmr |
id | long(Query) | Yes | Subcontract Material Return ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSmr";
String param = "&menuCode=pdcoreSmr&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Subcontract Shipment Note
# Fetch Subcontract Shipment Note List
# 一、Description
Usage: Fetch Subcontract Shipment Note List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSsn |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSsn&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSsn",
"size": 9,
"stSearchDisplay": "Subcontract Shipment Note",
"values": [
{
"tDate": "2021-03-22",
"code": "SSN210009",
"st_id": 10,
"st_code": "SSN210009",
"pdcoreMainSsn.flowTypeId.flowtype.code": "MX-SUBCON",
"st_desc": "SSN210009",
"pdcoreMainSsn.flowTypeId.flowtype.desc": "Subcontract",
"iRev": 2,
"id": 10,
"lastModifyDate": "2021-03-22 16:48:30",
"pdcoreMainSsn.lastModifyUid.simpleUser.desc__lang": "Milk"
}
]
}
# Create Subcontract Shipment Note (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Shipment Note】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSsn |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSsn";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"asnRefType": "ven",
"curId": 2,
"code": "SSNTEST2",
"asnRefId": 99,
"rate": 1,
"virDeptId": 7,
"pdcoressnt": [
{
"sourceId": 198,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"oriUnitId": 39720
}
],
"flowTypeId": 15450
}
4、Response Sample
{
"tranId": 10,
"tranCode": "SSNTEST2",
"message": "",
"status": true
}
# Load Subcontract Shipment Note
# 一、Description
Usage: Load Subcontract Shipment Note Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSsn |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSsn |
id | long(Query) | Yes | Subcontract Shipment Note ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSsn";
String param = "&menuCode=pdcoreSsn&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoreremssn": [
{
"tradeTerm_ccn": "",
"tradeTerm_en": "",
"shipMark": "",
"heading_en": "",
"shipMark_zh-CN": "",
"tradeTerm_zh-CN": "",
"shipMark_ctw": "",
"remarks_en": "",
"payTerm_en": "",
"iRev": 2,
"packing_ccn": "",
"packing": "",
"heading_zh-CN": "",
"ce01Module": "pdcoreSsn",
"tradeTerm": "",
"heading_ccn": "",
"payTerm_haha1": "",
"packing_zh-TW": "",
"payTerm_zh-TW": "",
"packing_haha1": "",
"remarks_haha1": "",
"shipMark_en": "",
"id": 10,
"remarks_zh-TW": "",
"hId": 10,
"packing_ctw": "",
"heading_haha1": "",
"payTerm": "",
"heading_zh-TW": "",
"payTerm_ccn": "",
"heading": "",
"remarks_ccn": "",
"heading_ctw": "",
"tradeTerm_ctw": "",
"packing_zh-CN": "",
"tradeTerm_zh-TW": "",
"shipMark_ccn": "",
"tradeTerm_haha1": "",
"i18nField": "{\"heading_en\": \"\", \"packing_en\": \"\", \"payTerm_en\": \"\", \"remarks_en\": \"\", \"shipMark_en\": \"\", \"tradeTerm_en\": \"\"}",
"remarks_zh-CN": "",
"packing_en": "",
"shipMark_haha1": "",
"payTerm_zh-CN": "",
"payTerm_ctw": "",
"shipMark_zh-TW": "",
"remarks": "",
"remarks_ctw": ""
}
],
"pdcoremainssn": [
{
"lastModifyUid": 20,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"position_zh-CN": "",
"sysJson": "{\"autoGenCode\":{\"snId\":567,\"sn\":\"9\"}}",
"viewCode": "pdcoreSsn",
"beId": 142,
"useAccessBl": false,
"id": 10,
"doctypeId": 0,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1616402910000,
"createUid": 20,
"rev": "2",
"lastApproveUid": 20,
"ttlCharge": 0,
"completed": false,
"expiredUid": 0,
"freeQtyPer": 0,
"descOrigin": "SUBCONLAST",
"position_en": "PIE",
"position_zh-TW": "",
"i18nField": "{\"position_en\": \"PIE\"}",
"manId": 48,
"ttlAmt": 0,
"position": "PIE",
"flowTypeId": 15450,
"status": "Y",
"tDate": 1616342400000,
"code": "SSN210009",
"cnDeptId": 218,
"amt": 0,
"iRev": 2,
"upOrigin": "SUBCONLAST",
"ce01Module": "pdcoreSsn",
"curId": 2,
"expired": false,
"asnRefId": 99,
"rate": 1,
"domAmt": 0,
"printCount": 0,
"statusModifyDate": 1616402427000,
"createDate": 1616402427000,
"asnRefType": "ven",
"useAccessWl": false,
"position_ccn": "",
"ttlDisc": 0,
"position_haha1": "",
"useAccessAutoCalc": false,
"staffId": 21,
"domAmtDiff": 0
}
],
"pdcoressnt": [
{
"sourceId": 148,
"dualQty": 22.5,
"itemNo": " 1",
"beId": 142,
"oriQty": 45,
"bDesc": "多工艺产品",
"bDesc_zh-TW": "",
"id": 14,
"up": 0,
"qcRequired": false,
"dDesc_haha1": "",
"hId": 10,
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"completed": false,
"lotnoExpDate": 253402271999000,
"dDesc": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"i18nField": "{\"bDesc_en\": \"多工艺产品\", \"dDesc_en\": \"<p>钻石套装 -- 18K鑽戒 (女)<br></p>\"}",
"sourceType": "pdcoreSjob",
"qty": 45,
"disc": 0,
"dDesc_ctw": "",
"amt": 0,
"iRev": 2,
"dDesc_zh-CN": "",
"bDesc_ctw": "",
"ce01Module": "pdcoreSsn",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"bDesc_haha1": "",
"lotnoDateAttr2": -2209017600000,
"dDesc_zh-TW": "",
"domAmt": 0,
"bDesc_ccn": "",
"unitId": 41203,
"dDesc_ccn": "",
"bDesc_en": "多工艺产品",
"dDesc_en": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"oriUnitId": 41203,
"dualUnitId": 8308,
"oriUp": 0,
"lotnoTextAttr1": "",
"sourceLot": "A",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotno": "",
"lotnoTextAttr4": "",
"proId": 6063,
"lotnoLookupAttr1": 0,
"lotnoLookupAttr2": 0,
"lotnoLookupAttr3": 0,
"lotnoLookupAttr4": 0,
"bDesc_zh-CN": ""
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Shipment Note
# 一、Description
Usage: Create or Update 【Subcontract Shipment Note】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSsn |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSsn |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSsn";
String param = "&menuCode=pdcoreSsn";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainssn": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"asnRefType": "ven",
"curId": 2,
"code": "SSNTEST",
"asnRefId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"staffId": 785
}
]
},
"pdcoressnt": {
"values": [
{
"sourceId": 198,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"oriUnitId": 39720
}
]
}
}
4、Response Sample
{
"recordId": 10,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Shipment Note
# 一、Description
Usage: Delete Subcontract Shipment Note
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSsn |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSsn |
id | long(Query) | Yes | Subcontract Shipment Note ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSqu";
String param = "&menuCode=pdcoreSqu&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Load EBI data:Subcontract Shipment Note Report
# 一、Description
Usage: Run EBI[Subcontract Shipment Note Report],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 14,
"rows": [
{
"M18ReservedCol_dataIndex": 1,
"MAIN_reportFinalAmt": "0.00",
"MAIN_sourceId": "72",
"MAIN_sourceCode": "SJOB180814",
"MAIN_reportTtlDisc": "0.00",
"MAIN_sourceType": "pdcoreSjob",
"MAIN_reportRate": "1.00000000",
"MAIN_lot": "A",
"MAIN_domFinalAmt": "0.00",
"MAIN_reportTtlCharge": "0.00",
"MAIN_domTtlDisc": "0.00",
"MAIN_domTtlCharge": "0.00",
"MAIN_domTtlAmt": "0.00",
"MAIN_basicDualQty": "0.00",
"MAIN_reportTtlAmt": "0.00"
}
]
}
# Subcontract Product Receipt
# Fetch Subcontract Product Receipt List
# 一、Description
Usage: Fetch Subcontract Product Receipt List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSpw |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSpw&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSpw",
"size": 29,
"stSearchDisplay": "Subcontract Product Receipt",
"values": [
{
"tDate": "2022-03-25",
"code": "SPWTEST2",
"st_id": 58,
"st_code": "SPWTEST2",
"st_desc": "SPWTEST2",
"iRev": 1,
"pdcoreMainSpw.lastModifyUid.simpleUser.desc__lang": "Milk",
"id": 58,
"lastModifyDate": "2022-03-25 15:20:09"
}
]
}
# Create Subcontract Product Receipt (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Product Receipt】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSpw |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSpw";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"curId": 2,
"code": "SPWTEST2",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"locId": 15,
"pdcorespwt": [
{
"sourceId": 198,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sjobId": 198,
"sourceType": "pdcoreSjob",
"sjobType": "pdcoreSjob",
"proId": 4634,
"oriUnitId": 39720,
"locId": 15,
"sjobLot": "A"
}
]
}
4、Response Sample
{
"tranId": 19,
"tranCode": "SPWTEST2",
"message": "",
"status": true
}
# Load Subcontract Product Receipt
# 一、Description
Usage: Load Subcontract Product Receipt Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSpw |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpw |
id | long(Query) | Yes | Subcontract Product Receipt ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSpw";
String param = "&menuCode=pdcoreSpw&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoreremspw": [
{
"hId": 58,
"i18nField": "{\"remarks_zh-CN\": \"\"}",
"remarks_zh-CN": "",
"remarks_ccn": "",
"remarks_en": "",
"remarks_haha1": "",
"iRev": 1,
"id": 58,
"remarks_zh-TW": "",
"remarks": "",
"remarks_ctw": "",
"ce01Module": "pdcoreSpw"
}
],
"pdcoremainspw": [
{
"lastModifyUid": 20,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"position_zh-CN": "PIE",
"sysJson": "",
"viewCode": "pdcoreSpw",
"beId": 142,
"useAccessBl": false,
"id": 58,
"doctypeId": 0,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1648192809000,
"createUid": 20,
"rev": "1",
"lastApproveUid": 20,
"ttlCharge": 0,
"completed": false,
"expiredUid": 0,
"position_en": "",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_zh-CN\": \"PIE\"}",
"manId": 48,
"ttlAmt": 0,
"position": "PIE",
"flowTypeId": 15450,
"status": "Y",
"tDate": 1648137600000,
"code": "SPWTEST2",
"cnDeptId": 0,
"amt": 0,
"iRev": 1,
"ce01Module": "pdcoreSpw",
"curId": 2,
"expired": false,
"rate": 1,
"domAmt": 0,
"printCount": 0,
"statusModifyDate": 1648192809000,
"locId": 15,
"createDate": 1648192809000,
"useAccessWl": false,
"position_ccn": "",
"ttlDisc": 0,
"position_haha1": "",
"useAccessAutoCalc": false,
"staffId": 785,
"domAmtDiff": 0
}
],
"pdcorespwmatt": [
{
"dDesc_ctw": "",
"dualQty": 0,
"costAmt": 0,
"iRev": 1,
"itemNo": " 1",
"dDesc_zh-CN": "",
"spickId": 40,
"bDesc_ctw": "",
"ce01Module": "pdcoreSpw",
"beId": 142,
"lot": "A",
"oriQty": 100,
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"bDesc": "",
"bDesc_ccn": "",
"bDesc_zh-TW": "",
"newLotno": 0,
"unitId": 38887,
"dDesc_ccn": "",
"id": 173,
"dDesc_haha1": "",
"sjobLot": "A",
"hId": 58,
"bDesc_en": "",
"dDesc_en": "",
"oriUnitId": 38887,
"dualUnitId": 3937,
"spickLot": "A",
"footerKey": " 1",
"dDesc": "",
"i18nField": "{\"bDesc_zh-CN\": \"\", \"dDesc_zh-CN\": \"\"}",
"lastSpw": false,
"proId": 3972,
"qty": 100,
"ndFooterKey": " 1",
"refCode": "",
"lotNoId": 5388,
"bDesc_zh-CN": ""
}
],
"pdcorespwstt": [
{
"dDesc_ctw": "",
"dualQty": 0,
"iRev": 1,
"itemNo": " 1",
"dDesc_zh-CN": "",
"bDesc_ctw": "",
"ce01Module": "pdcoreSpw",
"beId": 142,
"lot": "A",
"oriQty": 100,
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"bDesc": "",
"bDesc_ccn": "",
"bDesc_zh-TW": "",
"unitId": 39720,
"dDesc_ccn": "",
"id": 88,
"dDesc_haha1": "",
"sjobLot": "A",
"hId": 58,
"bDesc_en": "",
"sjobId": 198,
"stId": 198,
"dDesc_en": "",
"oriUnitId": 39720,
"dualUnitId": 0,
"footerKey": " 1",
"dDesc": "",
"i18nField": "{\"bDesc_zh-CN\": \"\", \"dDesc_zh-CN\": \"\"}",
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"ndFooterKey": " 1",
"stLot": "A",
"stType": "pdcoreSjob",
"stProId": 4634,
"refCode": "",
"bDesc_zh-CN": ""
}
],
"pdcorespwt": [
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"oriQty": 100,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"bDesc_zh-TW": "",
"lotnoLookupAttr19": 0,
"newLotno": 1,
"lotnoLot": "A",
"id": 67,
"dDesc_haha1": "",
"sjobLot": "A",
"matUc": 0,
"lotnoNumAttr20": 0,
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"passQty": 0,
"lotnoLookupAttr11": 0,
"i18nField": "{\"bDesc_zh-CN\": \"\", \"dDesc_zh-CN\": \"\"}",
"sourceType": "pdcoreSjob",
"costAmt": 0,
"iRev": 1,
"bDesc_ctw": "",
"ce01Module": "pdcoreSpw",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"bDesc_ccn": "",
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 39720,
"lotnoDateAttr9": -2209017600000,
"locId": 15,
"mjobId": 0,
"bDesc_en": "",
"sjobId": 198,
"scrapQty": 0,
"oriUp": 0,
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"bDesc_zh-CN": "",
"sourceId": 198,
"dualQty": 0,
"supMatUc": 0,
"itemNo": " 1",
"venDnNo": "",
"uc": 0,
"beId": 142,
"bDesc": "",
"up": 0,
"hId": 58,
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"lotnoExpDate": 253402271999000,
"footerKey": " 1",
"dDesc": "",
"sjobType": "pdcoreSjob",
"qty": 100,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"disc": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"refCode": "",
"lotNoId": 5488,
"lotnoTextAttr16": "",
"dDesc_ctw": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"amt": 0,
"dDesc_zh-CN": "",
"lotnoTextAttr19": "",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"domAmt": 0,
"dDesc_ccn": "",
"lotnoTextAttr10": "",
"dDesc_en": "",
"oriUnitId": 39720,
"dualUnitId": 4489,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"sourceLot": "A",
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "SPWTEST2000000000000",
"lotnoLookupAttr9": 0,
"proId": 4634,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Product Receipt
# 一、Description
Usage: Create or Update 【Subcontract Product Receipt】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSpw |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpw |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSpw";
String param = "&menuCode=pdcoreSpw";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainspw": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"curId": 2,
"code": "SPWTEST2",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"staffId": 785,
"locId": 15
}
]
},
"pdcorespwstt": {
"values": [
{
"sjobId": 198,
"stId": 198,
"oriUnitId": 39720,
"lot": "A",
"oriQty": 100,
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"ndFooterKey": " 1",
"stLot": "A",
"stType": "pdcoreSjob",
"stProId": 4634,
"sjobLot": "A"
}
]
},
"pdcorespwmatt": {
"values": [
{
"lot": "A",
"oriQty": 100,
"footerKey": " 1",
"proId": 3972,
"qty": 100,
"unitId": 38887,
"ndFooterKey": " 1",
"spickId": 40,
"oriUnitId": 38887,
"spickLot": "A",
"sjobLot": "A",
"lotNoId": 5388
}
]
},
"pdcorespwt": {
"values": [
{
"sourceId": 198,
"sjobId": 198,
"oriUnitId": 39720,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"footerKey": " 1",
"sourceType": "pdcoreSjob",
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"locId": 15,
"sjobLot": "A"
}
]
}
}
4、Response Sample
{
"recordId": 20,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Product Receipt
# 一、Description
Usage: Delete Subcontract Product Receipt
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSpw |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpw |
id | long(Query) | Yes | Subcontract Product Receipt ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSpw";
String param = "&menuCode=pdcoreSpw&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Load EBI data:Subcontract Product Receipt List
# 一、Description
Usage: Run EBI[Subcontract Product Receipt List],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 36,
"rows": [
{
"MAIN_id": "1",
"M18ReservedCol_dataIndex": 1,
"MAIN_ttlAmt": "55,000.00",
"MAIN_finalAmt": "57,750.00",
"MAIN_tDate": "2017.12.14",
"MAIN_code": "SPW20170002"
}
]
}
# Load EBI data:Subcontract Product Receipt Report
# 一、Description
Usage: Run EBI[Subcontract Product Receipt Report],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 1,
"rows": [
{
"M18ReservedCol_dataIndex": 1,
"MAIN_oriQty": "1,000.0000",
"MAIN_tranTypeMess": "Subcontract Product Receipt",
"MAIN_code": "SPW20200003"
}
]
}
# Subcontract Product Return
# Fetch Subcontract Product Return List
# 一、Description
Usage: Fetch Subcontract Product Return List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSpr |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSpr&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSpr",
"size": 3,
"stSearchDisplay": "Subcontract Product Return",
"values": [
{
"tDate": "2021-01-13",
"code": "SPR20210001",
"st_id": 9,
"st_code": "SPR20210001",
"st_desc": "SPR20210001",
"iRev": 1,
"id": 9,
"lastModifyDate": "2021-01-13 18:07:15",
"pdcoreMainSpr.lastModifyUid.simpleUser.desc__lang": ""
}
]
}
# Create Subcontract Product Return (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Product Return】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSpr |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSpr";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"pdcoresprt": [
{
"sourceId": 58,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sjobId": 198,
"sourceType": "pdcoreSpw",
"sjobType": "pdcoreSjob",
"proId": 4634,
"oriUnitId": 39720,
"locId": 15,
"sjobLot": "A"
}
],
"curId": 2,
"code": "SPRTEST2",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"locId": 15
}
4、Response Sample
{
"tranId": 19,
"tranCode": "SPRTEST2",
"message": "",
"status": true
}
# Load Subcontract Product Return
# 一、Description
Usage: Load Subcontract Product Return Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSpr |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpr |
id | long(Query) | Yes | Subcontract Product Return ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSpr";
String param = "&menuCode=pdcoreSpr&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoremainspr": [
{
"lastModifyUid": 11,
"useAccess": false,
"virDeptId": 7,
"expiredDate": -2209017600000,
"position_zh-CN": "",
"sysJson": "{\"autoGenCode\":{\"snId\":918,\"sn\":\"1\"}}",
"viewCode": "pdcoreSpr",
"beId": 142,
"useAccessBl": false,
"id": 9,
"doctypeId": 0,
"locked": false,
"position_ctw": "",
"lastModifyDate": 1610532435000,
"createUid": 11,
"rev": "1",
"lastApproveUid": 11,
"ttlCharge": 0,
"completed": false,
"expiredUid": 0,
"position_en": "PIE",
"position_zh-TW": "",
"venId": 99,
"i18nField": "{\"position_en\": \"PIE\"}",
"manId": 48,
"ttlAmt": 1325.25,
"position": "PIE",
"flowTypeId": 15450,
"status": "Y",
"tDate": 1610467200000,
"code": "SPR20210001",
"cnDeptId": 29,
"amt": 1325.25,
"iRev": 1,
"ce01Module": "pdcoreSpr",
"curId": 2,
"expired": false,
"rate": 1,
"domAmt": 1325.25,
"printCount": 0,
"statusModifyDate": 1610532435000,
"locId": 15,
"createDate": 1610532435000,
"useAccessWl": false,
"position_ccn": "",
"ttlDisc": 0,
"position_haha1": "",
"useAccessAutoCalc": false,
"staffId": 723,
"domAmtDiff": 0
}
],
"pdcoresprt": [
{
"lotnoNumAttr17": 0,
"lotnoNumAttr16": 0,
"lotnoNumAttr15": 0,
"lotnoNumAttr14": 0,
"lotnoNumAttr19": 0,
"lotnoNumAttr18": 0,
"lotnoLookupAttr20": 0,
"lotnoNumAttr13": 0,
"lotnoNumAttr12": 0,
"lotnoNumAttr11": 0,
"lotnoNumAttr10": 0,
"lotnoLookupAttr16": 0,
"oriQty": 5,
"lotnoLookupAttr17": 0,
"lotnoLookupAttr14": 0,
"lotnoLookupAttr15": 0,
"lotnoLookupAttr18": 0,
"bDesc_zh-TW": "多工艺产品 tc",
"lotnoLookupAttr19": 0,
"newLotno": 0,
"lotnoLot": "A",
"id": 10,
"dDesc_haha1": "",
"sjobLot": "A",
"lotnoNumAttr20": 0,
"lotnoLookupAttr12": 0,
"lotnoLookupAttr13": 0,
"lotnoLookupAttr10": 0,
"lotnoLookupAttr11": 0,
"i18nField": "{\"bDesc_en\": \"多工艺产品\", \"dDesc_en\": \"<p>钻石套装 -- 18K鑽戒 (女)<br></p>\", \"bDesc_zh-CN\": \"多工艺产品 sc\", \"bDesc_zh-TW\": \"多工艺产品 tc\", \"dDesc_zh-CN\": \"<p>钻石套装 -- 18K鑽戒 (女)<br></p>\"}",
"sourceType": "pdcoreSpw",
"costAmt": 0,
"iRev": 1,
"bDesc_ctw": "",
"ce01Module": "pdcoreSpr",
"lot": "A",
"lotnoDateAttr3": -2209017600000,
"lotnoDateAttr4": -2209017600000,
"lotnoDateAttr1": -2209017600000,
"lotnoDateAttr2": -2209017600000,
"lotnoDateAttr7": -2209017600000,
"lotnoDateAttr8": -2209017600000,
"bDesc_ccn": "",
"lotnoDateAttr5": -2209017600000,
"lotnoDateAttr6": -2209017600000,
"unitId": 39720,
"lotnoDateAttr9": -2209017600000,
"locId": 15,
"mjobId": 0,
"bDesc_en": "多工艺产品",
"sjobId": 133,
"oriUp": 265.05,
"lotnoTextAttr1": "",
"lotnoTextAttr2": "",
"lotnoTextAttr3": "",
"lotnoTextAttr4": "",
"lotnoTextAttr5": "",
"lotnoTextAttr6": "",
"lotnoTextAttr7": "",
"lotnoTextAttr8": "",
"lotnoTextAttr9": "",
"bDesc_zh-CN": "多工艺产品 sc",
"sourceId": 33,
"dualQty": 0,
"itemNo": " 1",
"venDnNo": "DN20210113",
"beId": 142,
"bDesc": "多工艺产品",
"up": 265.05,
"hId": 9,
"lotnoNumAttr1": 0,
"lotnoNumAttr2": 0,
"lotnoNumAttr3": 0,
"lotnoNumAttr4": 0,
"lotnoExpDate": 253402271999000,
"footerKey": " 1",
"dDesc": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"sjobType": "pdcoreSjob",
"qty": 5,
"lotnoNumAttr5": 0,
"lotnoNumAttr6": 0,
"disc": 0,
"lotnoNumAttr7": 0,
"lotnoNumAttr8": 0,
"lotnoNumAttr9": 0,
"refCode": "",
"lotNoId": 4437,
"lotnoTextAttr16": "",
"dDesc_ctw": "",
"lotnoTextAttr15": "",
"lotnoTextAttr18": "",
"lotnoTextAttr17": "",
"lotnoTextAttr12": "",
"lotnoTextAttr11": "",
"lotnoDateAttr20": -2209017600000,
"lotnoTextAttr14": "",
"lotnoTextAttr13": "",
"amt": 1325.25,
"dDesc_zh-CN": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"lotnoTextAttr19": "",
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"domAmt": 1325.25,
"dDesc_ccn": "",
"lotnoTextAttr10": "",
"dDesc_en": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"oriUnitId": 39720,
"dualUnitId": 4489,
"lotnoLookupAttr5": 0,
"lotnoLookupAttr6": 0,
"sourceLot": "A",
"lotnoLookupAttr7": 0,
"lotnoDateAttr18": -2209017600000,
"lotnoLookupAttr8": 0,
"lotnoDateAttr19": -2209017600000,
"lotno": "SPW20200008000000000",
"lotnoLookupAttr9": 0,
"proId": 4634,
"lotnoDateAttr12": -2209017600000,
"lotnoDateAttr13": -2209017600000,
"lotnoDateAttr10": -2209017600000,
"lotnoDateAttr11": -2209017600000,
"lotnoTextAttr20": "",
"lotnoLookupAttr1": 0,
"lotnoDateAttr16": -2209017600000,
"lotnoLookupAttr2": 0,
"lotnoDateAttr17": -2209017600000,
"lotnoLookupAttr3": 0,
"lotnoDateAttr14": -2209017600000,
"lotnoLookupAttr4": 0,
"lotnoDateAttr15": -2209017600000
}
],
"pdcoresprstt": [
{
"dDesc_ctw": "",
"dualQty": 0,
"iRev": 1,
"itemNo": " 1",
"dDesc_zh-CN": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"bDesc_ctw": "",
"ce01Module": "pdcoreSpr",
"beId": 142,
"lot": "A",
"oriQty": 5,
"bDesc_haha1": "",
"dDesc_zh-TW": "",
"bDesc": "多工艺产品",
"bDesc_ccn": "",
"bDesc_zh-TW": "多工艺产品 tc",
"unitId": 39720,
"dDesc_ccn": "",
"id": 12,
"dDesc_haha1": "",
"sjobLot": "B",
"hId": 9,
"bDesc_en": "多工艺产品",
"sjobId": 133,
"spwLot": "A",
"stId": 133,
"dDesc_en": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"oriUnitId": 39720,
"dualUnitId": 0,
"footerKey": " 1",
"dDesc": "<p>钻石套装 -- 18K鑽戒 (女)<br></p>",
"i18nField": "{\"bDesc_en\": \"多工艺产品\", \"dDesc_en\": \"<p>钻石套装 -- 18K鑽戒 (女)<br></p>\", \"bDesc_zh-CN\": \"多工艺产品 sc\", \"bDesc_zh-TW\": \"多工艺产品 tc\", \"dDesc_zh-CN\": \"<p>钻石套装 -- 18K鑽戒 (女)<br></p>\"}",
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 5,
"ndFooterKey": " 1",
"stLot": "B",
"stType": "pdcoreSjob",
"stProId": 4634,
"spwId": 33,
"refCode": "",
"bDesc_zh-CN": "多工艺产品 sc"
}
],
"pdcoreremspr": [
{
"hId": 9,
"i18nField": "{\"remarks_en\": \"test\"}",
"remarks_zh-CN": "",
"remarks_ccn": "",
"remarks_en": "test",
"remarks_haha1": "",
"iRev": 1,
"id": 9,
"remarks_zh-TW": "",
"remarks": "test",
"remarks_ctw": "",
"ce01Module": "pdcoreSpr"
}
]
},
"messages": [],
"status": true
}
# Create Subcontract Product Return
# 一、Description
Usage: Create or Update 【Subcontract Product Return】
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/save/pdcoreSpr |
---|---|
HTTP Method | PUT |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpr |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/pdcoreSpr";
String param = "&menuCode=pdcoreSpr";
HttpPut put = new HttpPut(url + "?" + param);
put.addHeader("authorization", access_token);
put.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
put.setEntity(entity);
res = client.execute(put);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("recordId");
}
System.out.println(json);
}
put.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Entity data as JSON format:
{
"pdcoremainspr": {
"values": [
{
"beId": 142,
"tDate": "2022-03-23",
"curId": 2,
"code": "SPRTEST2",
"venId": 99,
"rate": 1,
"virDeptId": 7,
"flowTypeId": 15450,
"staffId": 785,
"locId": 15
}
]
},
"pdcoresprt": {
"values": [
{
"sourceId": 59,
"sjobId": 198,
"oriUnitId": 39720,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"footerKey": " 1",
"sourceType": "pdcoreSpw",
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"locId": 15,
"sjobLot": "A",
"lotNoId": 5501
}
]
},
"pdcoresprmatt": {
"values": [
{
"spwLot": "A",
"spickId": 40,
"oriUnitId": 38887,
"spickLot": "A",
"lot": "A",
"oriQty": 100,
"footerKey": " 1",
"proId": 3972,
"qty": 100,
"unitId": 38887,
"ndFooterKey": " 1",
"spwId": 59,
"sjobLot": "A",
"lotNoId": 5388
}
]
},
"pdcoresprstt": {
"values": [
{
"sjobId": 198,
"spwLot": "A",
"stId": 198,
"oriUnitId": 39720,
"lot": "A",
"oriQty": 100,
"sjobType": "pdcoreSjob",
"proId": 4634,
"qty": 100,
"unitId": 39720,
"ndFooterKey": " 1",
"stLot": "A",
"stType": "pdcoreSjob",
"stProId": 4634,
"spwId": 59,
"sjobLot": "A"
}
]
}
}
4、Response Sample
{
"recordId": 20,
"messages": [],
"status": true
}
{
"recordId": 0,
"messages": [
{
"msgDetail": "Required field is empty",
"msgCode": "core_101905"
}
],
"status": false
}
# Delete Subcontract Product Return
# 一、Description
Usage: Delete Subcontract Product Return
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/delete/pdcoreSpr |
---|---|
HTTP Method | DELETE |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpr |
id | long(Query) | Yes | Subcontract Product Return ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/pdcoreSpr";
String param = "&menuCode=pdcoreSpr&id=" + id;
HttpDelete delete = new HttpDelete(url + "?" + param);
delete.addHeader("authorization", access_token);
delete.addHeader("client_id", ClientID);
res = client.execute(delete);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
delete.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"messages": [],
"status": true
}
{
"messages": [
{
"msgDetail": "Record has been deleted",
"msgCode": "core_101017"
}
],
"status": false
}
# Load EBI data:Subcontract Product Return List
# 一、Description
Usage: Run EBI[Subcontract Product Return List],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 3,
"rows": [
{
"MAIN_reportRate": "1.00000000",
"MAIN_domFinalAmt": "47,500.00",
"MAIN_reportTtlCharge": "5,000.00",
"MAIN_domTtlDisc": "2,500.00",
"M18ReservedCol_dataIndex": 1,
"MAIN_domTtlCharge": "5,000.00",
"MAIN_reportFinalAmt": "47,500.00",
"MAIN_domTtlAmt": "50,000.00",
"MAIN_reportTtlAmt": "50,000.00",
"MAIN_reportTtlDisc": "2,500.00"
}
]
}
# Load EBI data:Subcontract Product Return Report
# 一、Description
Usage: Run EBI[Subcontract Product Return Report],return EBI data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/ebiWidget/loadReport |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
formatId | long(Query) | Yes | Format ID fetched from another API |
beId | long(Query) | No | Business Entity ID,If not specified, query all authorized Business Entity data. |
offset | int(Query) | No | Resultset offset : start index |
rows | int(Query) | No | Resultset offset : end index |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/ebiWidget/loadReport";
String param = "&formatId=" + formatId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"size": 1,
"rows": [
{
"MAIN_domFinalAmt": "47,500.00",
"M18ReservedCol_dataIndex": 1,
"MAIN_oriQty": "1.0000",
"MAIN_domTtlAmt": "50,000.00"
}
]
}
# Subcontract Invoice
# Fetch Subcontract Invoice List
# 一、Description
Usage: Fetch Subcontract Invoice List.
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/search/search |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
stSearch | String(Query) | Yes | pdcoreSpi |
beId | long(Query) | Yes | Business Entity ID |
formatId | long(Query) | No | Lookup Query ID, If not specified, the default format is used. |
startRow | int(Query) | No | Resultset offset : start index |
endRow | int(Query) | No | Resultset offset : end index |
quickSearchStr | String(Query) | No | Quick search keyword |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/search/search";
String param = "&stSearch=pdcoreSpi&beId=" + beId;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"stSearch": "pdcoreSpi",
"size": 1,
"stSearchDisplay": "Subcontract Invoice",
"values": [
{
"tDate": "2021-05-24",
"code": "SPI20210003",
"st_code": "SPI20210003",
"st_desc": "SPI20210003",
"iRev": 1,
"pdcoreMainSpi.curId.cur.sym": "HK$",
"st_id": 7,
"pdcoreMainSpi.flowTypeId.flowtype.code": "MX-SUBCON",
"pdcoreMainSpi.lastModifyUid.simpleUser.desc__lang": "Milk",
"pdcoreMainSpi.flowTypeId.flowtype.desc": "Subcontract",
"id": 7,
"pdcoreMainSpi.venId.ven.desc__lang": "Accounts Payable Control Account (Raw Material) SC",
"lastModifyDate": "2021-05-24 10:57:53",
"pdcoreMainSpi.venId.ven.code": "2000"
}
]
}
# Create Subcontract Invoice (Auto Completion)
# 一、Description
1. Usage: Create 【Subcontract Invoice】
2. This API has the following characteristics:
a. Support using code instead of id field
b. If field currency
has no value specified, the Entity Currency will be used automatically
c. If field staff
has no value specified, the default staff in the User Options will be used automatically
d. If field document date
has no value specified, the value is obtained according to the date option in the [Preference Setup (Trade)]
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/erp/bsFlow/save/pdcoreSpi |
---|---|
HTTP Method | POST |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/erp/bsFlow/save/pdcoreSpi";
String param = "";
HttpPost post = new HttpPost(url + "?" + param);
post.addHeader("authorization", access_token);
post.addHeader("client_id", ClientID);
StringEntity entity = new StringEntity(data.toJSONString(), ContentType.APPLICATION_JSON);
entity.setContentEncoding("UTF-8");
post.setEntity(entity);
res = client.execute(post);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
if (json != null) {
recordId = json.getLongValue("tranId");
}
System.out.println(json);
}
post.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
Sample data:
{
"beId": 142,
"tDate": "2022-03-23",
"curId": 2,
"code": "SPITEST",
"venId": 99,
"virDeptId": 7,
"rate": 1,
"pdcorespit": [
{
"sourceId": 58,
"lot": "A",
"oriQty": 100,
"sourceLot": "A",
"sourceType": "pdcoreSpw",
"proId": 4634,
"oriUnitId": 39720
}
],
"flowTypeId": 15450
}
4、Response Sample
{
"tranId": 10,
"tranCode": "SPITEST",
"message": "",
"status": true
}
# Load Subcontract Invoice
# 一、Description
Usage: Load Subcontract Invoice Data
# 二、API Detail
1、Request URL
URL | http://[server]/jsf/rfws/root/api/read/pdcoreSpi |
---|---|
HTTP Method | GET |
Encode | UTF-8 |
2、URL Parameters
Parameter | Type | Required | Remarks |
---|---|---|---|
authorization | String(Header) | Yes | Access Token obtained via Oauth2 |
client_id | String(Header) | Yes | Client ID from [OAuth Applications], generated by the aiM18 |
menuCode | String(Query) | Yes | pdcoreSpi |
id | long(Query) | Yes | Subcontract Invoice ID |
param | String(Query) | No | Extra Pamameters: in JSON format |
3、Request Sample
CloseableHttpClient client = HttpClientBuilder.create().build();
CloseableHttpResponse res = null;
try {
String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/pdcoreSpi";
String param = "&menuCode=pdcoreSpi&id=" + id;
HttpGet get = new HttpGet(url + "?" + param);
get.addHeader("authorization", access_token);
get.addHeader("client_id", ClientID);
res = client.execute(get);
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
JSONObject json = JSON.parseObject(EntityUtils.toString(res.getEntity()));
System.out.println(json);
}
get.releaseConnection();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
}
if (client != null) {
client.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
4、Response Sample
{
"data": {},
"messages": [
{
"msgDetail": "找不到相关记录,记录可能已被Delete 或你没有访问权限",
"msgCode": "core_141019"
}
],
"status": false
}
{
"data": {
"pdcoreremspi": [
{
"tradeTerm_ccn": "",
"tradeTerm_en": "",
"shipMark": "",
"heading_en": "",
"shipMark_zh-CN": "",
"tradeTerm_zh-CN": "",
"shipMark_ctw": "",
"remarks_en": "",
"payTerm_en": "",
"iRev": 1,
"heading_zh-CN": "",
"ce01Module": "pdcoreSpi",
"tradeTerm": "",
"heading_ccn": "",
&qu