aiM18 Developer Center aiM18 Developer Center
DOC Home
  • Platform

    • Overview
    • Frontend Framework
    • Backend Framework
    • EBI Development
    • JSF Components
    • BPM Extension Interface
    • Telescope Extension Interface
    • Mobile App Setup
  • ERP

    • ERP EJB Interfaces
    • ERP XML Config Files
    • ERP Decorators (Frontend Interfaces)
  • Tutorial

    • Setup Development Environment
    • Sample App
  • Platform

    • Authentication
    • Common JSON Objects
    • Core Services
    • EBI Services
  • Enterprise Resource Planning
  • Human Capital Management
  • Business Process Management
  • Schedule Management
  • Document Management
  • Tutorial

    • Interacting with aiM18 via webservices
Tutorial
GitHub (opens new window)
DOC Home
  • Platform

    • Overview
    • Frontend Framework
    • Backend Framework
    • EBI Development
    • JSF Components
    • BPM Extension Interface
    • Telescope Extension Interface
    • Mobile App Setup
  • ERP

    • ERP EJB Interfaces
    • ERP XML Config Files
    • ERP Decorators (Frontend Interfaces)
  • Tutorial

    • Setup Development Environment
    • Sample App
  • Platform

    • Authentication
    • Common JSON Objects
    • Core Services
    • EBI Services
  • Enterprise Resource Planning
  • Human Capital Management
  • Business Process Management
  • Schedule Management
  • Document Management
  • Tutorial

    • Interacting with aiM18 via webservices
Tutorial
GitHub (opens new window)
  • base

    • Authentication
    • Common JSON Objects
    • Core Services
    • Enduser-driven Business Intelligence
    • Error Code Description
  • Business Process Management

    • Business Process Management
  • Schedule Management

    • Schedule Management
  • Document Management System

    • Document Management System
  • Enterprise Resource Planning

    • README for ERP
    • Master Data
    • Sales
    • Purchase
    • Stock
    • Consignment
    • Subcontract
    • Production
    • Retail
    • Retail Stored Value
    • Warehouse Management Solution
    • Retail and Third-Party Logistics
    • Trading and Finance
    • Accounting
    • Accounting EBI
  • Human Capital Management

    • README for HCM
    • Attendance Management
    • Hong Kong Labour Law Compliance
    • Leave Management
    • Organization And Personnel Management
    • Payroll Management
    • PRC Labour Law Compliance
    • Appraisal Management
      • Appraisal Form Template
        • Fetch Appraisal Form Template List
        • Description
        • API Detail
        • create Appraisal Form Template
        • Description
        • API Detail
        • Load Appraisal Form Template
        • Description
        • API Detail
        • Update Appraisal Form Template
        • Description
        • API Detail
        • Delete Appraisal Form Template
        • Description
        • API Detail
      • Appraisal Record
        • Fetch Appraisal Record List
        • Description
        • API Detail
        • Load Appraisal Record
        • Description
        • API Detail
        • Update Appraisal Record
        • Description
        • API Detail
        • Delete Appraisal Record
        • Description
        • API Detail
      • Load EBI data
        • Appraisal Report
        • Description
        • API Detail
    • Attendance
    • Casual Labour
    • Personnel
    • Leave
    • Medical Claim Management
    • Payroll
    • Recruitment
    • Training & Sponsorship
  • Web Services
  • Human Capital Management
Multiable
2024-02-29
目录

Appraisal Management

Version: 1.2 | Release Date: 30/01/2024

# Appraisal Form Template

# Fetch Appraisal Form Template List

# Description

Usage: Fetch Appraisal Form Template 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
    authorizatioNo 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 Lookup Type. You can find it in Lookup.
    (Eg: apxFormTemp ......)
    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";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("apxFormTemp");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        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

    {
        "stSearch": "apxFormTemp",
    	"size": 21,
    	"stSearchDisplay": "Appraisal Form Template",
    	"values": [
    		{
    			"code": "APX0001",
    			"desc": "APX0001",
    			"effDate": "2021-09-01",
    			"apxFormTemp.apxTypeId.apxType.desc__lang": "EL",
    			"status": "Y",
    			"iRev": 31,
    			"lastModifyDate": "2021-10-28 12:39:49",
    			"apxFormTemp.lastModifyUid.simpleUser.desc__lang": "admin",
    			"id": 1,
    			"st_desc": "APX0001",
    			"st_id": 1,
    			"st_code": "APX0001"
    		},
    		{
    			"code": "Jltest",
    			"desc": "Jltest",
    			"effDate": "2000-01-01",
    			"apxFormTemp.apxTypeId.apxType.desc__lang": "EL",
    			"status": "Y",
    			"iRev": 19,
    			"lastModifyDate": "2022-03-14 17:51:32",
    			"apxFormTemp.lastModifyUid.simpleUser.desc__lang": "admin",
    			"id": 3,
    			"st_desc": "Jltest",
    			"st_id": 3,
    			"st_code": "Jltest"
    		}
        ]
    }
    

# create Appraisal Form Template

# Description

Usage: create Appraisal Form Template

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/save/apxFormTemp
    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 In Data Dictionary
    Eg: apxFormTemp
    entitYes String (Body) Yes JSON (Refer to Request Sample)
  3. Request Sample

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/apxFormTemp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxFormTemp");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        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 JSON Format:

    {
         "apxformtemp": {
            "values": [
                {
                    "code": "TEST04",
                    "desc": "TEST04",
                    "apxSerNum": 2,
                    "year": 2021,
                    "apxTypeId": 17,
                    "effDate": "2021-12-01",
                    "enableConfirmProcess": 0
                }
            ]
        },
        "apxformserpic": {
            "values": [
                {
                    "apxSerN": 0,
                    "relationSrc": "emp",
                    "relationShip": "self",
                    "picTypeId": 0,
                    "reqAppraise": 1,
                    "editGoal": 0,
                    "editKpi": 0,
                    "editCore": 0,
                    "allowAmendAdj": 0,
                    "editQuantTar": 0,
                    "allowRemoveOtherAdd": 0,
                    "allowEditApxPeriod": 0,
                    "reqAttach": 0
                }
            ]
        }
    }
    
  4. Response Sample

    {
        "recordId": 26,
        "messages": [],
        "status": true
    }
    
    {
        "recordId": 0,
    	"messages": [
    		{
    			"msgDetail": "<绩效类型>和<生效日期>必须唯一(apxformtemp.apxTypeId,apxformtemp.effDate)",
    			"msgCode": "ch01_apx_apxFormTemp_100001"
    		}
    	],
    	"status": false
    }
    

# Load Appraisal Form Template

# Description

Usage: Load Appraisal Form Template

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/read/apxFormTemp
    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 In Data Dictionary
    Eg: apxFormTemp
    id long (Query) Yes Appraisal Form Template ID
    iRev long (Query) No Inner VersioNo
  3. Request Sample

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/apxFormTemp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxFormTemp");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            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": {
            "apxformtemp": [
    			{
    				"attachmentNo": 0,
    				"lastModifyUid": 4,
    				"code": "KWE",
    				"allowApxSeeSeeApxSer": true,
    				"useAccess": false,
    				"year": 2021,
    				"expiredDate": -2209017600000,
    				"allowEmpExportExcel": true,
    				"iRev": 7,
    				"sysJson": "",
    				"apxSerNum": 3,
    				"viewCode": "apxFormTemp",
    				"fixPayId": 0,
    				"beId": 0,
    				"effDate": 1609430400000,
    				"apxFormDesc": "",
    				"expired": false,
    				"allowApxSerSeeApxSee": true,
    				"printCount": 0,
    				"useAccessBl": false,
    				"showApxSeeComment": false,
    				"showApxSerComment": false,
    				"id": 7,
    				"statusModifyDate": 1640159691000,
    				"locked": false,
    				"desc_en": "",
    				"lastModifyDate": 1640160683000,
    				"createUid": 4,
    				"createDate": 1640159691000,
    				"desc_zh-CN": "KWE",
    				"desc_udf": "",
    				"lastApproveUid": 4,
    				"excludeNotApp": false,
    				"apxTypeId": 8,
    				"expiredUid": 0,
    				"useAccessWl": false,
    				"allowSerSeeOtherSer": true,
    				"enableCompApvProcess": true,
    				"enableConfirmProcess": true,
    				"i18nField": "{\"desc_zh-CN\": \"KWE\"}",
    				"enablePayInfo": false,
    				"reqApxSeeComment": false,
    				"udffqStr": "",
    				"desc_zh-TW": "",
    				"reqApxSerComment": false,
    				"useAccessAutoCalc": false,
    				"status": "Y",
    				"desc": "KWE"
    			}
    		],
    		"apxformcompt": [
    			{
    				"confirmProcess": false,
    				"iRev": 7,
    				"sectionOrder": 1,
    				"itemNo": "     1",
    				"editBy": "",
    				"sectionName": "",
    				"requireSeeComment": false,
    				"requireSerComment": false,
    				"weightAddItem": "evenly",
    				"apxComponent": "intQus",
    				"enableUdfFooterField": false,
    				"id": 841,
    				"scoreDesc": "",
    				"showQuantTar": false,
    				"hId": 7,
    				"maxGoalNum": 0,
    				"minScore": 0,
    				"minGoalNum": 0,
    				"showExample": false,
    				"maxScore": 0,
    				"showApxerSubWeight": false,
    				"enableWeight": false,
    				"enableMaxSubTotal": false,
    				"footerKey": 3,
    				"showNotApp": false,
    				"inputStyle": "",
    				"maxSubTotal": 0,
    				"showApxeeSubWeight": false,
    				"editApxerSubWeight": false,
    				"sectionWeight": 100
    			},
    			{
    				"confirmProcess": false,
    				"iRev": 7,
    				"sectionOrder": 1,
    				"itemNo": "     1",
    				"editBy": "apxSer",
    				"sectionName": "",
    				"requireSeeComment": false,
    				"requireSerComment": false,
    				"weightAddItem": "evenly",
    				"apxComponent": "coreComp",
    				"enableUdfFooterField": false,
    				"id": 840,
    				"scoreDesc": "5    Outstanding\r\n4    Commendable\r\n3    Competent\r\n2    Need Improvement\r\n1    Unacceptable",
    				"showQuantTar": false,
    				"hId": 7,
    				"maxGoalNum": 0,
    				"minScore": 1,
    				"minGoalNum": 0,
    				"showExample": true,
    				"maxScore": 5,
    				"showApxerSubWeight": true,
    				"enableWeight": false,
    				"enableMaxSubTotal": false,
    				"footerKey": 2,
    				"showNotApp": false,
    				"inputStyle": "",
    				"maxSubTotal": 0,
    				"showApxeeSubWeight": false,
    				"editApxerSubWeight": false,
    				"sectionWeight": 60
    			},
    		],
    	},
    	"messages": [],
    	"status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "No data is found, it may be deleted or not authorized for you to access",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# Update Appraisal Form Template

# Description

Usage: Update Appraisal Form Template

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/save/apxFormTemp
    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 In Data Dictionary
    Eg: apxFormTemp
    entitYes String (Body) Yes JSON (Refer to Request Sample)
  3. Request Sample

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/apxFormTemp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxFormTemp");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        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 JSON Format:

    {
        "apxformtemp": {
            "values": [
                {
                    "id": 23,
                    "desc": "TEST03_3",
                    "apxSerNum": 2,
                    "year": 2022,
                    "apxTypeId": 17,
                    "effDate": "2022-03-01"
                }
            ]
        }
    }
    
  4. Response Sample

    {
    	"recordId": 23,
    	"messages": [],
    	"status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "No data is found, it may be deleted or not authorized for you to access",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# Delete Appraisal Form Template

# Description

Usage: Delete Appraisal Form Template

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/delete/apxFormTemp
    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 In Data Dictionary
    Eg: apxFormTemp
    id long (Query) Yes Appraisal Form Template ID
  3. Request Sample

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/apxFormTemp";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxFormTemp");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        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": "The record was deleted",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# Appraisal Record

# Fetch Appraisal Record List

# Description

Usage: Fetch Appraisal Record 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
    authorizatioNo 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 Lookup Type. You can find it in Lookup.
    (Eg: apxRecord ......)
    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";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&stSearch=").append("apxRecord");
        paramStrBuilder.append("&startRow=").append(0);
        paramStrBuilder.append("&endRow=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        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

    {
        "stSearch": "apxRecord",
    	"size": 207,
    	"stSearchDisplay": "Appraisal Record",
    	"values": [
    		{
    			"code": "APX21090001",
    			"year": 2021,
    			"apxRecord.apxTypeId.apxType.desc__lang": "EL",
    			"apxRecord.empId.employee.code": "EL002",
    			"apxRecord.empId.employee.desc__lang": "EL002",
    			"apxRecord.empId.employee.dept.dept.desc__lang": "ss",
    			"apxRecord.empId.employee.position.position.desc__lang": "006",
    			"apxPeriodFrom": "2021-09-28",
    			"apxPeriodTo": "2021-09-28",
    			"overallScore": 0,
    			"overallGrade": "D",
    			"status": "I",
    			"iRev": 5,
    			"lastModifyDate": "2021-09-28 13:03:50",
    			"apxRecord.lastModifyUid.simpleUser.desc__lang": "EL004",
    			"id": 58,
    			"st_desc": "APX21090001",
    			"st_id": 58,
    			"st_code": "APX21090001"
    		},
    		{
    			"code": "APX21090007",
    			"year": 2021,
    			"apxRecord.apxTypeId.apxType.desc__lang": "YOT",
    			"apxRecord.empId.employee.code": "EL003",
    			"apxRecord.empId.employee.desc__lang": "EL003",
    			"apxRecord.empId.employee.dept.dept.desc__lang": "ss",
    			"apxRecord.empId.employee.position.position.desc__lang": "",
    			"apxPeriodFrom": "2021-10-01",
    			"apxPeriodTo": "2021-10-31",
    			"overallScore": 90,
    			"overallGrade": "B",
    			"status": "Y",
    			"iRev": 13,
    			"lastModifyDate": "2022-04-19 17:57:47",
    			"apxRecord.lastModifyUid.simpleUser.desc__lang": "admin",
    			"id": 64,
    			"st_desc": "APX21090007",
    			"st_id": 64,
    			"st_code": "APX21090007"
    		}
        ]
    }
    

# Load Appraisal Record

# Description

Usage: Load Appraisal Record

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/read/apxRecord
    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 In Data Dictionary
    Eg: apxRecord
    id long (Query) Yes Appraisal Record ID
    iRev long (Query) No Inner VersioNo
  3. Request Sample

    JSONObject json = null;
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/read/apxRecord";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxRecord");
        paramStrBuilder.append("&id=").append(id);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        get.addHeader("authorization", access_token);
        get.addHeader("client_id", ClientID);
        res = client.execute(get);
        if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            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": {
            "apxrecord": [
    			{
    				"attachmentNo": 0,
    				"empId": 13688,
    				"lastModifyUid": 12268,
    				"code": "A_210915103212827384",
    				"apxSeeComment": "<p>ffff</p>",
    				"allowApxSeeSeeApxSer": true,
    				"useAccess": false,
    				"apxFormTempId": 1,
    				"year": 2021,
    				"adjScore": 0,
    				"allowEmpExportExcel": true,
    				"iRev": 9,
    				"overallGrade": "",
    				"sysJson": "",
    				"apxSerNum": 1,
    				"viewCode": "apxRecord",
    				"beId": 0,
    				"apxPeriodFrom": 1631635200000,
    				"apxFormDesc": "",
    				"allowApxSerSeeApxSee": true,
    				"printCount": 0,
    				"useAccessBl": false,
    				"showApxSeeComment": false,
    				"showApxSerComment": false,
    				"id": 9,
    				"statusModifyDate": 1631673321000,
    				"forceDistGrade": "",
    				"lastModifyDate": 1631680033000,
    				"createUid": 4,
    				"createDate": 1631673133000,
    				"lastApproveUid": 0,
    				"overallScore": 0,
    				"excludeNotApp": false,
    				"apxTypeId": 1,
    				"apxSerComment": "",
    				"useAccessWl": false,
    				"allowSerSeeOtherSer": true,
    				"adjGrade": "",
    				"apxPeriodTo": 1631635200000,
    				"enablePayInfo": false,
    				"reqApxSeeComment": false,
    				"udffqStr": "",
    				"reqApxSerComment": false,
    				"useAccessAutoCalc": false,
    				"status": "I"
    			}
    		],
    		"apxrecordqusanswer": [
    			{
    				"hId": 9,
    				"appraiseAction": "apxSee",
    				"question": "Who are you?",
    				"iRev": 9,
    				"sectionOrder": 1,
    				"qusType": "openQus",
    				"apxSerN": 0,
    				"itemNo": "",
    				"qusNum": 1,
    				"footerKey": 4,
    				"confirmAnswer": false,
    				"qusAnswer": "AAA",
    				"id": 37
    			},
    			{
    				"hId": 9,
    				"appraiseAction": "apxSer",
    				"question": "Who are you?",
    				"iRev": 9,
    				"sectionOrder": 1,
    				"qusType": "openQus",
    				"apxSerN": 1,
    				"itemNo": "",
    				"qusNum": 1,
    				"footerKey": 4,
    				"confirmAnswer": false,
    				"qusAnswer": "",
    				"id": 38
    			},
    		],
    	},
    	"messages": [],
    	"status": true
    }
    
    {
        "data": {},
        "messages": [
            {
                "msgDetail": "No data is found, it may be deleted or not authorized for you to access",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# Update Appraisal Record

# Description

Usage: Update Appraisal Record

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/save/apxRecord
    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 In Data Dictionary
    Eg: apxRecord
    entitYes String (Body) Yes JSON (Refer to Request Sample)
  3. Request Sample

    long recordId = 0;
    
    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/save/apxRecord";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxRecord");
    
        HttpPut put = new HttpPut(url + "?" + paramStrBuilder.toString());
        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 JSON Format:

    {
        "apxrecord": {
            "values": [
                {
                    "id": 18,
                    "adjScore": 37.5,
                    "adjGrade": "D"
                }
            ]
        }
    }
    
  4. Response Sample

    {
    	"recordId": 18,
    	"messages": [],
    	"status": true
    }
    
    {
        "recordId": 0,
        "messages": [
            {
                "msgDetail": "No data is found, it may be deleted or not authorized for you to access",
                "msgCode": "core_141019"
            }
        ],
        "status": false
    }
    

# Delete Appraisal Record

# Description

Usage: Delete Appraisal Record

# API Detail

  1. Request URL

    URL http://[server]/jsf/rfws/root/api/delete/apxRecord
    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 In Data Dictionary
    Eg: apxRecord
    id long (Query) Yes Appraisal Record ID
  3. Request Sample

    CloseableHttpClient client = HttpClientBuilder.create().build();
    CloseableHttpResponse res = null;
    try {
    
        String url = "http://" + HostIP + ":" + HostPort + "/jsf/rfws/root/api/delete/apxRecord";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&menuCode=").append("apxRecord");
        paramStrBuilder.append("&id=").append(id);
    
        HttpDelete delete = new HttpDelete(url + "?" + paramStrBuilder.toString());
        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": "The record was deleted",
                "msgCode": "core_101017"
            }
        ],
        "status": false
    }
    

# Load EBI data

# Appraisal Report

# Description

Usage: Run EBI [Appraisal 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
    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";
    
        StringBuilder paramStrBuilder = new StringBuilder();
        paramStrBuilder.append("&formatId=").append(formatId);
        paramStrBuilder.append("&offset=").append(0);
        paramStrBuilder.append("&rows=").append(10);
    
        HttpGet get = new HttpGet(url + "?" + paramStrBuilder.toString());
        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": [
            {
                "T1_A_adjScore": "0.00",
    			"aiM18ReservedCol_dataIndex": 1,
    			"T1_A_empId": "13695",
    			"T1_A_adjGrade": "",
    			"T1_A_apxPeriodFrom": "2022-07-04",
    			"T1_A_empId_code": "EL005",
    			"T1_A_id": "10670",
    			"T1_A_apxPeriodTo": "2022-07-04",
    			"T2_A_id": "13695",
    			"T2_A_code": "EL005",
    			"T1_A_code": "APX220700002"
            }
        ]
    }
    

ebi_apxrecord

Last Updated: 2025/05/29, 08:57:55
PRC Labour Law Compliance
Attendance

← PRC Labour Law Compliance Attendance→

Theme by Vdoing | Copyright © 1990-2025 Multiable | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式