feat(REQ-3714) 工人退场流程优化 - 考勤记录API对接
This commit is contained in:
parent
28f6b7736c
commit
01e2b05443
@ -0,0 +1,23 @@
|
||||
package cn.axzo.orgmanax.infra.client.attendance;
|
||||
|
||||
import cn.axzo.orgmanax.infra.client.attendance.dto.AttendanceClockRecordListReq;
|
||||
import cn.axzo.orgmanax.infra.client.attendance.dto.AttendanceClockRecordResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @description 考勤记录相关的API
|
||||
* @date 2025/3/5
|
||||
*/
|
||||
public interface AttendanceRecordClient {
|
||||
|
||||
/**
|
||||
* 考勤打卡记录通用查询
|
||||
*
|
||||
* @param request 入参
|
||||
* @return 打卡记录列表
|
||||
*/
|
||||
List<AttendanceClockRecordResp> listClockRecords(AttendanceClockRecordListReq request);
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
package cn.axzo.orgmanax.infra.client.attendance.dto;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.NonNull;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @description 考勤打卡记录列表查询参数
|
||||
* @date 2025/3/5
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AttendanceClockRecordListReq {
|
||||
|
||||
/**
|
||||
* 项目部id - 必传
|
||||
*/
|
||||
@NonNull
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* personId列表
|
||||
*/
|
||||
private List<Long> personIds;
|
||||
|
||||
/**
|
||||
* 用户类型:用户类型:
|
||||
* 1工人,
|
||||
* 2从业人员,
|
||||
* 4班组长
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 班组id集合
|
||||
*/
|
||||
private List<Long> teamIds;
|
||||
/**
|
||||
* 打卡开始时间
|
||||
*/
|
||||
private Date clockAtFrom;
|
||||
/**
|
||||
* 打卡结束时间
|
||||
*/
|
||||
private Date clockAtTo;
|
||||
|
||||
/**
|
||||
* 打卡类型:1进场,2出场
|
||||
*/
|
||||
private Integer clockType;
|
||||
|
||||
/**
|
||||
* 打卡方式:0-闸机 1-电子围栏 2-考勤补卡
|
||||
*/
|
||||
private Integer clockMethod;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,53 @@
|
||||
package cn.axzo.orgmanax.infra.client.attendance.dto;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @description 考勤打卡记录
|
||||
* @date 2025/3/5
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class AttendanceClockRecordResp {
|
||||
|
||||
/**
|
||||
* 项目部id
|
||||
*/
|
||||
private Long workspaceId;
|
||||
|
||||
/**
|
||||
* 用户类型:用户类型:
|
||||
* 1工人,
|
||||
* 2从业人员,
|
||||
* 4班组长
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* personId
|
||||
*/
|
||||
private Long personId;
|
||||
|
||||
/**
|
||||
* 班组id
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return JSON.toJSONString(this);
|
||||
}
|
||||
}
|
||||
@ -62,6 +62,12 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- 考勤依赖 -->
|
||||
<dependency>
|
||||
<groupId>cn.axzo.attendance</groupId>
|
||||
<artifactId>attendance-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,39 @@
|
||||
package cn.axzo.orgmanax.integration.sdk.attendance;
|
||||
|
||||
import cn.axzo.attendance.api.AttendanceRecordApi;
|
||||
import cn.axzo.attendance.req.AttendancePersonQueryReq;
|
||||
import cn.axzo.attendance.res.AttendancePersonInfoRes;
|
||||
import cn.axzo.orgmanax.infra.client.attendance.AttendanceRecordClient;
|
||||
import cn.axzo.orgmanax.infra.client.attendance.dto.AttendanceClockRecordListReq;
|
||||
import cn.axzo.orgmanax.infra.client.attendance.dto.AttendanceClockRecordResp;
|
||||
import cn.axzo.orgmanax.integration.core.RpcWrapper;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author luofu
|
||||
* @version 1.0
|
||||
* @description 考勤打卡记录相关API
|
||||
* @date 2025/3/5
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class AttendanceRecordClientImpl implements AttendanceRecordClient {
|
||||
|
||||
private final AttendanceRecordApi attendanceRecordApi;
|
||||
|
||||
@Override
|
||||
public List<AttendanceClockRecordResp> listClockRecords(AttendanceClockRecordListReq request) {
|
||||
AttendancePersonQueryReq req = new AttendancePersonQueryReq();
|
||||
BeanUtils.copyProperties(request, req);
|
||||
List<AttendancePersonInfoRes> records = RpcWrapper.commonRes(() -> attendanceRecordApi.listExistAttendancePerson(req));
|
||||
return CollUtil.map(records, record -> BeanUtil.copyProperties(record, AttendanceClockRecordResp.class), true);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user