However, the work of the Human Resources Department is not mean that it is sufficient to manage only the "incumbents". Information of "seconded the people" and "retired people" must also be managed. Yet, they also want to precisely maintain the "List of incumbent" (employee master) to be used in such business system.
And the management of Employee Master data in "Excel file" has been pushed to its limit already.
- Basic information (Employee Master): Id number, Email address, Commonly known name, Date of hire
- Detailed information (Statutory management items): Family registration Name, Date of birth, Gender, Highest educational attainment, Employment history, Emergency contacts, Retirement date, etc.
The following is a Business flow for handling "Newly application or Notification for changes in Name, Address, Phone number, etc."
It is necessary to get immediate report not only at the time of joining, also when the name has changed, or the address has changed, or the telephone number has been changed. Its excellent point is the function that allows automatic update on the "Employee Master data" of the Workflow platform as necessary. And the "Employee master data" which is to be updated automatically, will be utilized in making a scheme of, for example, "How to send a notification e-mail to employees who do not have a login account to the Workflow foundation".
[Employee Information Acceptance]
It should be noted that, in case of using the data for e.g. when the HR Department issues a "Certificate of Employment" or a "Retirement certificate", they will find the latest application from the relevant person. In other words, they do not purposely create the "Latest list" such as "Roster of Workers". It is a policy that to store applied information as it is, and never to access until needed.
(Of course, you are able to create a beautiful "Worker Roster" if you downloaded the data using [Excel download function] of the Workflow system and sorted it. However, that document is nothing but a Risk in this time of the world. This is the idea to do above.)
Incidentally, in Japanese low, ("Article 107 (Roster of Workers) of Labor Standards Act" and "Article 53, of Ordinance for Enforcement of the Labor Standards Act, it is defined as obligations of management on;
- Name
- Date of birth
- Personal history
- Gender
- Address
- Type of work in which the worker is engaged
- Date of hiring
- Date and cause of retirement
- Date and cause of death
However, on the other hand, it should be decided the policy in each company for what kind of format the personal information should be managed, for such as
- Family registration name?
- Email address?
- phone number?
- Credentials?
That is, it can be said that it should be defined in terms of defining the policy, such as what kind of employee welfare to carry out, or what kind of contact system to build, or what kind of qualification support system to arrange. (And, it corresponds to so-called "handling of personal information" (handling of the Employees' Personal Information).)
[Reception of Personal Information of Employee:"1. Addition / Updating of Employee's Information" screen]
▼ Setting sample for [Retrieval of Master data] (Server-side JavaScript)
- Input: XML file registered in [Common Files]
- Output: Output to the table type data, output a TSV text to String Type data
//// == Retrieving == // M319 Options-XML: // Register an Options-XML file to which the Process Model Definitions Refer to // return "List<ItemView>" optionsList = itemDao.findAll("staff-master.xml", true); // Employee number#Commonly known name#Phonetic of Commonly known name #Date of hire = Email address //// == Calculating == optionsNum = optionsList.size(); var tmpTable = new com.questetra.bpms.core.model.formdata.ListArray(); // Table type var tsvtext = ""; // String type multiple lines for (i=0; i < optionsNum; i++){ var tmpRow = new com.questetra.bpms.core.model.formdata.ListArray.ListRow(); // Added line var values = optionsList.get(i).getValue() + ""; var arr = values.split("#"); tmpRow.addCol( arr[0] ); tmpRow.addCol( arr[1] ); tmpRow.addCol( arr[2] ); tmpRow.addCol( arr[3] ); tmpRow.addCol( optionsList.get(i).getDisplay() ); tmpTable.addRow( tmpRow ); // Added line tsvtext += arr[0] + "\t"; tsvtext += arr[1] + "\t"; tsvtext += arr[2] + "\t"; tsvtext += arr[3] + "\t"; tsvtext += optionsList.get(i).getDisplay() + "\n"; } //// == Updating == retVal.put("24", tmpTable ); retVal.put("25", tsvtext ); retVal.put("23", new java.sql.Date(Date.now()));
▼ Setting sample for [Generation of list] (Server-side)
- Input: Contents of Table type data item
- Output: Output texts to two String type data items
//// == Retrieving == // mytable: com.questetra.bpms.core.model.formdata.ListArray var mytable = data.get("24"); // Table type //// == Calculating == // Employee number Commonly known name Phonetic of Commonly known name Date of hire Email address // Employee number#Commonly known name#Phonetic of Commonly known name #Date of hire = Email address var i=0; var n = mytable.size(); var value_id_list = ""; var display_label_list = ""; for (i=0; i < n; i++){ value_id_list += mytable.get(i, 0) + "#"; value_id_list += mytable.get(i, 1) + "#"; value_id_list += mytable.get(i, 2) + "#"; value_id_list += mytable.get(i, 3) + "\n"; display_label_list += mytable.get(i, 4) + "\n"; } //// == Updating == retVal.put("26", value_id_list); retVal.put("27", display_label_list);
▼ Setting sample for [TSV uptake] (Server-side)
- Input: String type multiple lines data (5 items in a line separated with "Tab")
- Outpu: Updating Table type data
* Uptake is possible by Copy & paste from MS-Excel or Google-spreadsheet
//// == Retrieving == var tsvtext = data.get("25") + ""; // Retrieving text data of TSV //// == Calculating == var tmpTable = new com.questetra.bpms.core.model.formdata.ListArray(); // Table type data var lineArray = tsvtext.split("\n"); // Divided for each line break, store in string[] array for (var i=0; i < lineArray.length; i++){ var tmpRow = new com.questetra.bpms.core.model.formdata.ListArray.ListRow(); // Added line (horizontal) var cellstrArray = lineArray[i].split("\t"); // Divided for each Tab, store tmpRow.addCol( cellstrArray[0] ); tmpRow.addCol( cellstrArray[1] ); tmpRow.addCol( cellstrArray[2] ); tmpRow.addCol( cellstrArray[3] ); tmpRow.addCol( cellstrArray[4] ); tmpTable.addRow( tmpRow ); // Added line } //// == Updating == retVal.put("24", tmpTable );
[Data Items list]
[Free Download]
- Business Template: Employee Information Acceptance
- Certificate Issue Date on Auto-generated PDF in Japanese Era Name (2016-01-25)
- Automate Complicated Calculation for "Insurance Premium Deduction" at Year-end Adjustment! (2015-11-30)
- Management of Customer Master Data Using Corporation Number (Collective updating) (2015-09-21)
- M103 STARTING: Starting with Past Data
- M230 AUTOMATED STEP: Auto Executing Complicated Data Processing (ECMAScript)
- M319 MODELING ENVIRONMENT: Register an Options-XML file to which the Process Model Definitions Refer to
[Japanese Entry (εζθ¨δΊ)]