提交 5846ab8d authored 作者: 000516's avatar 000516

1、添加功能:修改人事用户银行信息时,修改T100;2、飞书功能合并

上级 48f07d50
......@@ -16,4 +16,5 @@ public class Constants {
public static final String FEISHU_EVENT_DEPT_PUT = "corehr.department.updated_v1";
public static final String FEISHU_EVENT_USER_CREATE = "corehr.job_data.employed_v1";
public static final String FEISHU_EVENT_USER_PUT = "corehr.job_data.changed_v1";
public static final String FEISHU_EVENT_USER_UPDATE = "corehr.person.updated_v1";
}
package com.sfa.job.consumer.feishu;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.lark.oapi.ws.Constant;
import com.sfa.common.core.enums.ECode;
......@@ -97,13 +98,17 @@ public class EventCallbackLuzx {
if (Constants.FEISHU_EVENT_DEPT_PUT.equals(eventType)){
eventCallbackService.deptUpdate(departmentId);
}
// 员工入职
if (Constants.FEISHU_EVENT_USER_CREATE.equals(eventType)){
eventCallbackService.userCreate(req.getJSONObject("event").getString("employment_id"));
// 员工入职 or 员工异动
if (Constants.FEISHU_EVENT_USER_CREATE.equals(eventType) || Constants.FEISHU_EVENT_USER_PUT.equals(eventType)){
eventCallbackService.userCreateOrUpdate(req.getJSONObject("event").getString("employment_id"));
}
// 员工信息修改
if (Constants.FEISHU_EVENT_USER_PUT.equals(eventType)){
eventCallbackService.userUpdate(req.getJSONObject("event").getString("employment_id"));
if (Constants.FEISHU_EVENT_USER_UPDATE.equals(eventType)){
JSONArray fieldChanges = req.getJSONObject("event").getJSONArray("field_changes");
boolean contains = fieldChanges.contains("bank_account.bank_account_number");
if (contains){
eventCallbackService.userUpdateByPersonId(req.getJSONObject("event").getString("person_id"));
}
}
......
......@@ -118,28 +118,36 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
* 员工入职
*/
@Override
public void userCreate(String employmentId) {
public void userCreateOrUpdate(String employmentId) {
Employee emp = feiShuUtil.getEmployeeReq(employmentId);
String departmentIdV2 = emp.getDepartmentIdV2();
Department dept = feiShuUtil.getDepartmentCorehr(departmentIdV2);
userAUT100(emp);
}
/**
* personId:创建人员信息时,生成的ID
*/
@Override
public void userUpdateByPersonId(String personId) {
Employee emp = feiShuUtil.getPersonReq(personId);
userAUT100(emp);
}
private void userAUT100(Employee emp){
String departmentIdV2 = emp.getDepartmentIdV2();
Department dept = feiShuUtil.getDepartmentCorehr(departmentIdV2);
String employeeNumber = emp.getEmployeeNumber();
String deptCode = dept.getCode();
BankAccount bankAccount = emp.getPersonInfo().getBankAccountList()[0];
String branchIdV2 = bankAccount.getBranchIdV2();
String bankAccountNumber = bankAccount.getBankAccountNumber();
String preferredName = emp.getPersonInfo().getPreferredName();
JSONObject userT100 = new JSONObject();
userT100.put("data_status","AU");
userT100.put("status","Y");
userT100.put("employee_no",employeeNumber);
userT100.put("department_no",deptCode);
userT100.put("site_no","ALL");
userT100.put("title","");
userT100.put("bank_no",branchIdV2);
userT100.put("bank_no","001");
userT100.put("account",bankAccountNumber);
userT100.put("employee_name",preferredName);
userT100.put("employee_nickname",preferredName);
......@@ -148,12 +156,6 @@ public class EventCallbackServiceImpl implements IEventCallbackService{
userT100.put("email","");
createOrUpdateUser(userT100);
}
@Override
public void userUpdate(String employmentId) {
userCreate(employmentId);
}
private void customFields(CustomFieldData[] customFields,JSONObject deptT100){
for (CustomFieldData customField : customFields) {
String customName = customField.getName().getZhCn();
......
......@@ -14,7 +14,7 @@ public interface IEventCallbackService {
void deptUpdate(String departmentId);
void userCreate(String employmentId);
void userCreateOrUpdate(String employmentId);
void userUpdate(String employmentId);
void userUpdateByPersonId(String personId);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论