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

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

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