# M18 HCM Web Services

Version: 1.0 | Release Date: 30/6/2018

# Attendance Management

# Retrieval Clockgogo Time Card Record with Specified Condition

Retrieval clockgogo time card record with specified condition with the condition SqlTable entity

HTTP Request

GET http://[server]/jsf/rfws/cgg/cggTask/cggTimeCardReceive

Parameters

Name Type Description
condTable SqlTable JSON String The SqlEntity named condTable

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/cgg/cggTask/cggTimeCardReceive"
    + "?condTable=" + URLEncoder.encode(condTable, "UTF-8");

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 1,
    "values": [
        {
            "STATUS": "N",
            "ERROR_DESC": "invalidAuthorization",
            "CGGCODESC": "testID",
            "CGGCO": "dfda",
            "ERROR_CODE": "400"
        }
    ],
    "name": "",
    "fields": [
        {
            "fieldClassName": "String",
            "name": "CGGCO",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "CGGCODESC",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "STATUS",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "TYPE",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Double",
            "name": "TIME_CARD_NUM",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "ERROR_CODE",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "ERROR_DESC",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}

# Get Shift Description Formation Value

Get shift description formation value with employee ID, corresponding date from, date to and attendance regulation ID

HTTP Request

GET http://[server]/jsf/rfws/att/shiftSet/genShiftDesc/{shiftId}

Parameters

Name Type Description
shiftId int The shift ID

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table (yyyy-MM-dd)
name string Name. Empty (yyyy-MM-dd)
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/shiftSet/genShiftDesc"
    + "/" + "663";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

2017ALEX0000S002

# Get time card machine data upload scheduler task history

Get time card machine data upload scheduler task history with the total number of records to be retrieved, driver ID and task ID

HTTP Request

GET http://[server]/jsf/rfws/att/tcds/loadTaskHis

Parameters

Name Type Description
mlast int The total number of records to be retrieved
driverId long The driver ID
taskId long The Task ID with 0 indicating all tasks

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/tcds/loadTaskHis"
    + "?mlast=" + "20"
    + "&driverId=" + "1"
    + "&taskId=" + "0";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 2,
    "values": [
        {
            "jobName": "Data Retrieval-test1",
            "reason": "Cannot Link Data Source est1",
            "sDate": "2017-12-04 00:00:00",
            "eTime": "11:10:00",
            "id": 1146,
            "sTime": "00:00:00",
            "eDate": "2017-12-04 00:00:00",
            "tcdsId": 1,
            "status": "failed",
            "createDate": "2017-12-04 11:10:00"
        },
        {
            "jobName": "Data Retrieval-test1",
            "reason": "Cannot Link Data Source est1",
            "sDate": "2017-11-15 00:00:00",
            "eTime": "11:10:00",
            "id": 1127,
            "sTime": "00:00:00",
            "eDate": "2017-11-15 00:00:00",
            "tcdsId": 1,
            "status": "failed",
            "createDate": "2017-11-15 11:10:00"
        }
    ],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Long",
            "name": "id",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "Long",
            "name": "tcdsId",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "jobName",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "sDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "String",
            "name": "sTime",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "eDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "String",
            "name": "eTime",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "status",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "sysMsg",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "createDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "Long",
            "name": "retriNum",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "reason",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}

# Get Work Attendance Summary Group by Employee with Specified Peirod

Get work attendance summary group by employee with specified peirod with Employee ID, respecting date from and date to

HTTP Request

GET http://[server]/jsf/rfws/emp/workAttSum/getWorkAttSum

Parameters

Name Type Description
empId int The employee ID
dateFrom String The date from date for the period required (yyyy-MM-dd)
dateTo String The date to date for the period required (yyyy-MM-dd)

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/emp/workAttSum/getWorkAttSum"
    + "?empId=" + "897"
    + "&dateFrom=" + "2016-01-01"
    + "&dateTo=" + "2017-12-31";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 1,
    "values": [
        {
            "empId": 897,
            "udfAttRus34": 480,
            "udfAttRus14": 960
        }
    ],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Double",
            "name": "attRegula",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus13",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus14",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus15",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus16",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus18",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus19",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus20",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus21",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus22",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus23",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus24",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus25",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus26",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus27",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus28",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus29",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus30",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus31",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus32",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus33",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus34",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus38",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus43",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "udfAttRus44",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Long",
            "name": "empId",
            "fieldClass": "java.lang.Long",
            "classType": 10
        }
    ]
}

# Retrieval of the Shift Log Point

Retrieval of the shift log point by inputting the shift Id

HTTP Request

GET http://[server]/jsf/rfws/att/rosterPattern/shiftlogpoint

Parameters

Name Type Description
shiftId int The shift ID

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/rosterPattern/shiftlogpoint"
    + "?shiftId=" + "28";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 4,
    "values": [
        {
            "relaDate": 3,
            "reqLogPoint": "09:00:00"
        },
        {
            "relaDate": 3,
            "reqLogPoint": "12:00:00"
        },
        {
            "relaDate": 3,
            "reqLogPoint": "14:00:00"
        },
        {
            "relaDate": 3,
            "reqLogPoint": "18:00:00"
        }
    ],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Integer",
            "name": "relaDate",
            "fieldClass": "java.lang.Integer",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "reqLogPoint",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "reqLogPointDesc",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}

# Get Employees' Roster Record with Specified Period

Get employees' roster record with specified period by employee ID, period date from, period date to and the log point

HTTP Request

GET http://[server]/jsf/rfws/att/roster/getRosterEvents

Parameters

Name Type Description
empId String (Query) The employee ID, separated by ","
dateFrom String The date from date for the period required (yyyy-MM-dd)
dateTo String The date to date for the period required (yyyy-MM-dd)
getLogPt String "TRUE" or "FALSE"

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/roster/getRosterEvents"
    + "?empId=" + "1"
    + "&dateFrom=" + "2016-01-01"
    + "&dateTo=" + "2017-12-31"
    + "&getLogPt=" + "2";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

[
    {
        "size": 1,
        "values": [
            {
                "empId": 1,
                "joinDate": "2017-07-01 00:00:00",
                "terminateDate": "1900-01-01 00:00:00"
            }
        ],
        "name": "",
        "fields": [
            {
                "fieldClassName": "Long",
                "name": "empId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "joinDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Date",
                "name": "terminateDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            }
        ]
    },
    {
        "size": 3,
        "values": [
            {
                "dayType": "nil",
                "empId": 1,
                "id": 140,
                "dutydate": "2017-09-01 00:00:00"
            },
            {
                "dayType": "rest",
                "empId": 1,
                "id": 141,
                "dutydate": "2017-09-02 00:00:00"
            },
            {
                "dayType": "hld",
                "empId": 1,
                "id": 142,
                "dutydate": "2017-09-03 00:00:00"
            }
        ],
        "name": "",
        "fields": [
            {
                "fieldClassName": "Long",
                "name": "empId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Integer",
                "name": "wkgp",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "id",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "dutydate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "String",
                "name": "dayType",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "holidayId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            }
        ]
    },
    {
        "size": 2,
        "values": [
            {
                "shiftId": 659,
                "empId": 1,
                "hId": 140,
                "busUnit": 127,
                "color": "black",
                "udfdatefield": "1900-01-01 00:00:00",
                "iRev": 2,
                "workSite": 19,
                "fromEmp": 1,
                "i18nField": "{\"desc_en\": \"\"}",
                "id": 292,
                "statusModifyDate": "2017-11-10 17:45:18",
                "dutydate": "2017-09-01 00:00:00",
                "lastModifyDate": "2017-11-10 17:45:18",
                "createDate": "2017-11-10 17:45:18",
                "status": "Y",
                "desc": ""
            },
            {
                "shiftId": 659,
                "empId": 1,
                "hId": 141,
                "hours": 7,
                "busUnit": 127,
                "color": "black",
                "udfdatefield": "1900-01-01 00:00:00",
                "udfstring": "test udf",
                "iRev": 2,
                "workSite": 19,
                "fromEmp": 1,
                "i18nField": "{\"desc_en\": \"\"}",
                "id": 322,
                "statusModifyDate": "2017-12-01 17:33:12",
                "dutydate": "2017-09-02 00:00:00",
                "lastModifyDate": "2017-12-01 17:33:12",
                "createDate": "2017-12-01 17:33:12",
                "status": "Y",
                "desc": ""
            }
        ],
        "name": "",
        "fields": [
            {
                "fieldClassName": "Long",
                "name": "id",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Integer",
                "name": "iRev",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "beId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "createDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Long",
                "name": "createUid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "lastModifyDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Long",
                "name": "lastModifyUid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "statusModifyDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "String",
                "name": "status",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Integer",
                "name": "printCount",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "sysJson",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "viewCode",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "hId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "shiftId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "itemNo",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "desc",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Double",
                "name": "hours",
                "fieldClass": "java.lang.Double",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "color",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "busUnit",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "workSite",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "i18nField",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Boolean",
                "name": "overwriteLogPt",
                "fieldClass": "java.lang.Boolean",
                "classType": 3
            },
            {
                "fieldClassName": "String",
                "name": "udfremark2",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfstring",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udftextt",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Double",
                "name": "udfnumber",
                "fieldClass": "java.lang.Double",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "udfdatefield",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Boolean",
                "name": "udfbooleanfield",
                "fieldClass": "java.lang.Boolean",
                "classType": 3
            },
            {
                "fieldClassName": "String",
                "name": "udftimefield",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfcombo",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "udflookup",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "udfhtml",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfcolor",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Integer",
                "name": "fromEmp",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "dutydate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Long",
                "name": "empId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            }
        ]
    }
]

# Get Work Group Roster Record with Specified Period

Get work group roster record with specified period with work group ID

HTTP Request

GET http://[server]/jsf/rfws/att/roster/getWkgpRosterEvents

Parameters

Name Type Description
wkgpId String (Query) Work group ID, separated by ","
dateFrom String The date from date for the period required (yyyy-MM-dd)
dateTo String The date to date for the period required (yyyy-MM-dd)

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/roster/getWkgpRosterEvents"
    + "?wkgpId=" + "33"
    + "&dateFrom=" + "2016-01-01"
    + "&dateTo=" + "2017-12-31"

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

[
    {
        "size": 0,
        "values": [],
        "name": "",
        "fields": [
            {
                "fieldClassName": "Long",
                "name": "id",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "workgroupid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "dutydate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "String",
                "name": "dayType",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "holidayId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            }
        ]
    },
    {
        "size": 0,
        "values": [],
        "name": "",
        "fields": [
            {
                "fieldClassName": "Long",
                "name": "id",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Integer",
                "name": "iRev",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "beId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "createDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Long",
                "name": "createUid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "lastModifyDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Long",
                "name": "lastModifyUid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "statusModifyDate",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "String",
                "name": "status",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Integer",
                "name": "printCount",
                "fieldClass": "java.lang.Integer",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "sysJson",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "viewCode",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "hId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "shiftId",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "itemNo",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "desc",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Double",
                "name": "hours",
                "fieldClass": "java.lang.Double",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "color",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "busUnit",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Long",
                "name": "workSite",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "i18nField",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Boolean",
                "name": "overwriteLogPt",
                "fieldClass": "java.lang.Boolean",
                "classType": 3
            },
            {
                "fieldClassName": "String",
                "name": "udfremark2",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfstring",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udftextt",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Double",
                "name": "udfnumber",
                "fieldClass": "java.lang.Double",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "udfdatefield",
                "fieldClass": "java.util.Date",
                "classType": 21
            },
            {
                "fieldClassName": "Boolean",
                "name": "udfbooleanfield",
                "fieldClass": "java.lang.Boolean",
                "classType": 3
            },
            {
                "fieldClassName": "String",
                "name": "udftimefield",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfcombo",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "udflookup",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "String",
                "name": "udfhtml",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "String",
                "name": "udfcolor",
                "fieldClass": "java.lang.String",
                "classType": 0
            },
            {
                "fieldClassName": "Long",
                "name": "workgroupid",
                "fieldClass": "java.lang.Long",
                "classType": 10
            },
            {
                "fieldClassName": "Date",
                "name": "dutydate",
                "fieldClass": "java.util.Date",
                "classType": 21
            }
        ]
    }
]

# Get Employee's Roster Record with Specified Duty Date

Get employee's roster record with specified duty date with employee ID and duty date

HTTP Request

GET http://[server]/jsf/rfws/att/roster/getEmpRoste

Parameters

Name Type Description
empId long The employee ID
dutyDate String The date to attain the corresponding information (yyyy-MM-dd)

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/roster/getEmpRoste"
    + "?empId=" + "1"
    + "&dutyDate=" + "2017-06-08";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "moduleType": "emproster",
    "emprostershift": "{\"size\":0,\"values\":[],\"name\":\"\",\"fields\":[{\"fieldClassName\":\"Long\",\"name\":\"id\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Integer\",\"name\":\"iRev\",\"fieldClass\":\"java.lang.Integer\",\"classType\":10},{\"fieldClassName\":\"Long\",\"name\":\"hId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"itemNo\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"shiftId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"desc\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Double\",\"name\":\"hours\",\"fieldClass\":\"java.lang.Double\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"color\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"busUnit\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Long\",\"name\":\"workSite\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Boolean\",\"name\":\"overwriteLogPt\",\"fieldClass\":\"java.lang.Boolean\",\"classType\":3},{\"fieldClassName\":\"String\",\"name\":\"udfremark2\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"udfstring\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"udftextt\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Double\",\"name\":\"udfnumber\",\"fieldClass\":\"java.lang.Double\",\"classType\":10},{\"fieldClassName\":\"Date\",\"name\":\"udfdatefield\",\"fieldClass\":\"java.util.Date\",\"classType\":21},{\"fieldClassName\":\"Boolean\",\"name\":\"udfbooleanfield\",\"fieldClass\":\"java.lang.Boolean\",\"classType\":3},{\"fieldClassName\":\"String\",\"name\":\"udftimefield\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"udfcombo\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"udflookup\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"udfhtml\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"udfcolor\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"i18nField\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"desc_en\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"desc_zh-TW\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"desc_zh-CN\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"desc_udf\",\"fieldClass\":\"java.lang.String\",\"classType\":0}]}",
    "emproster": "{\"size\":1,\"values\":[{\"dayType\":\"nil\",\"empId\":1,\"statusModifyDate\":\"1900-01-01 00:00:00\",\"dutydate\":\"2017-06-08 00:00:00\",\"lastModifyDate\":\"1900-01-01 00:00:00\",\"createDate\":\"1900-01-01 00:00:00\"}],\"name\":\"\",\"fields\":[{\"fieldClassName\":\"Long\",\"name\":\"id\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Integer\",\"name\":\"iRev\",\"fieldClass\":\"java.lang.Integer\",\"classType\":10},{\"fieldClassName\":\"Long\",\"name\":\"beId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Date\",\"name\":\"createDate\",\"fieldClass\":\"java.util.Date\",\"classType\":21},{\"fieldClassName\":\"Long\",\"name\":\"createUid\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Date\",\"name\":\"lastModifyDate\",\"fieldClass\":\"java.util.Date\",\"classType\":21},{\"fieldClassName\":\"Long\",\"name\":\"lastModifyUid\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Date\",\"name\":\"statusModifyDate\",\"fieldClass\":\"java.util.Date\",\"classType\":21},{\"fieldClassName\":\"String\",\"name\":\"status\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Integer\",\"name\":\"printCount\",\"fieldClass\":\"java.lang.Integer\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"sysJson\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"viewCode\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Date\",\"name\":\"dutydate\",\"fieldClass\":\"java.util.Date\",\"classType\":21},{\"fieldClassName\":\"String\",\"name\":\"dayType\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"holidayId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Long\",\"name\":\"empId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10}]}",
    "emprostershiftt": "{\"size\":0,\"values\":[],\"name\":\"\",\"fields\":[{\"fieldClassName\":\"Long\",\"name\":\"id\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Integer\",\"name\":\"iRev\",\"fieldClass\":\"java.lang.Integer\",\"classType\":10},{\"fieldClassName\":\"Long\",\"name\":\"hId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"itemNo\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"shiftId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"Integer\",\"name\":\"relaDate\",\"fieldClass\":\"java.lang.Integer\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"reqLogPoint\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"Long\",\"name\":\"recognSetId\",\"fieldClass\":\"java.lang.Long\",\"classType\":10},{\"fieldClassName\":\"String\",\"name\":\"leaveAdj\",\"fieldClass\":\"java.lang.String\",\"classType\":0},{\"fieldClassName\":\"String\",\"name\":\"footerKey\",\"fieldClass\":\"java.lang.String\",\"classType\":0}]}",
    "subTableNames": "emprostershift;emprostershiftt",
    "mainTableName": "emproster"
}

# Get Clockgogo Data Synchronization Scheduler Task Retrieval History

Get clockgogo data synchronization scheduler task retrieval history

HTTP Request

GET http://[server]/jsf/rfws/cgg/cggTask/getCggRetriHis

Parameters

Name Type Description
mLast int The maximum number of records to be retrieved

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/cgg/cggTask/getCggRetriHis";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 0,
    "values": [],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Long",
            "name": "id",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "jobName",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "sDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "String",
            "name": "sTime",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "eDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "String",
            "name": "eTime",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "status",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "reason",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}

# Get Clockgogo Cloud Connector Synchronization History

Get clockgogo cloud connector synchronization history by the number of maximum records to be retrived and the Clockgogo Company ID

HTTP Request

GET http://[server]/jsf/rfws/cgg/cggCloudCon/getCggEmpHis

Parameters

Name Type Description
mLast int The maximum records to be retrived
cggCoId long The ID of Clock Go Go Company

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/attResultCalc/getEmpAttResult"
    + "?mLast=" + "1"
    + "&cggCold=" + "22";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 0,
    "values": [],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Long",
            "name": "id",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "tableName",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "eventType",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Long",
            "name": "empId",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "status",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Date",
            "name": "lastUpdate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "Long",
            "name": "lastModifyUid",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "errorCode",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "error",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}

# Get Employee Attendance Result Record with Specified Period and Attendance Regulation

Get employee attendance result record with specified period and attendance regulation by employee ID, period date from, period date to and the corresponding attendance regulation ID

HTTP Request

GET http://[server]/jsf/rfws/att/attResultCalc/getEmpAttResult

Parameters

Name Type Description
empId String The employee ID, separated by "," for multiple records
dateFrom String The date from date for the period required (yyyy-MM-dd)
dateTo String The date to date for the period required (yyyy-MM-dd)
attRegulaId String The corresponding id of attendance regulation, separated by "," for multiple records

Result (in JSON Array)

Name Type Description
size int Size of JsonArray in values
values string Data, depends on Table
name string Name. Empty
fields string Field Details

Sample request:

OkHttpClient client = new OkHttpClient();

String url = "http://" + server + "jsf/rfws/att/attResultCalc/getEmpAttResult"
    + "?empId=" + "1"
    + "&dateFrom=" + "2016-01-01"
    + "&dateTo=" + "2017-12-31"
    + "&attRegulaId=" + "2";

Request request = new Request.Builder()
  .url(url)
  .get()
  .addHeader("client_id", clientID)
  .addHeader("authorization", "Bearer " + token)
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Sample response:

{
    "size": 1,
    "values": [
        {
            "empId": 1,
            "shiftId": 659,
            "code": "test001",
            "shiftDesc": "白天上班",
            "empName": "test001",
            "deptDesc": "TS001",
            "positionDesc": "TEST001",
            "calcResult": 1,
            "dutyDate": "2017-09-01 00:00:00",
            "adjResult": 1,
            "empId@Duplicate_No@-1": 1
        }
    ],
    "name": "",
    "fields": [
        {
            "fieldClassName": "Long",
            "name": "empId",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "Date",
            "name": "dutyDate",
            "fieldClass": "java.util.Date",
            "classType": 21
        },
        {
            "fieldClassName": "Long",
            "name": "shiftId",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "shiftDesc",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "Double",
            "name": "calcResult",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Double",
            "name": "adjResult",
            "fieldClass": "java.lang.Double",
            "classType": 10
        },
        {
            "fieldClassName": "Long",
            "name": "empId@Duplicate_No@-1",
            "fieldClass": "java.lang.Long",
            "classType": 10
        },
        {
            "fieldClassName": "String",
            "name": "code",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "empName",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "alias",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "deptDesc",
            "fieldClass": "java.lang.String",
            "classType": 0
        },
        {
            "fieldClassName": "String",
            "name": "positionDesc",
            "fieldClass": "java.lang.String",
            "classType": 0
        }
    ]
}