package com.glxp.api.entity.dev; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import com.glxp.api.enums.dev.DeviceChangeTypeEnum; import com.glxp.api.util.SnowflakeUtil; import com.glxp.api.vo.dev.DeviceChangeOrderVo; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * 设备变更日志表 * * @TableName device_change_log */ @TableName(value = "device_change_log") @Data @Builder @AllArgsConstructor @NoArgsConstructor public class DeviceChangeLogEntity implements Serializable { /** * 日志id */ @TableId(value = "id") private Long id; /** * 设备编码 */ @TableField(value = "deviceCode") private String deviceCode; /** * add:新增入库,change:变更归属 */ @TableField(value = "type") private DeviceChangeTypeEnum type; /** * 变更单号 */ @TableField(value = "changeOrderId") private Long changeOrderId; /** * 操作部门 */ @TableField(value = "deptCode") private String deptCode; /** * 操作部门 */ @TableField(value = "deptName") private String deptName; /** * 目标部门 */ @TableField(value = "toDeptCode") private String toDeptCode; /** * 目标部门 */ @TableField(value = "toDeptName") private String toDeptName; /** * 确认人id */ @TableField(value = "confirmUser") private Long confirmUser; /** * 确认人姓名 */ @TableField(value = "confirmUserName") private String confirmUserName; /** * 确认时间 */ @TableField(value = "confirmTime") private LocalDateTime confirmTime; /** * 确认备注 */ @TableField(value = "confirmRemark") private String confirmRemark; /** * 备注 */ @TableField(value = "remark") private String remark; /** * 操作人姓名 */ @TableField(value = "createUserName") private String createUserName; /** * 操作人id */ @TableField(value = "createUser") private Long createUser; /** * 操作时间 */ @TableField(value = "createTime") private LocalDateTime createTime; @TableField(exist = false) private static final long serialVersionUID = 1L; /** * 生成日志实体 * * @param deviceCode 设备编码 * @param order 变更单据VO(需包含(to)deptCode对应的(to)deptName) * @return 日志实体 */ public static DeviceChangeLogEntity genEntity(String deviceCode, DeviceChangeOrderVo order) { return DeviceChangeLogEntity.builder() .id(SnowflakeUtil.getId()) .type(order.getType()) .deviceCode(deviceCode) .changeOrderId(order.getOrderId()) .remark(order.getRemark()) .deptCode(order.getDeptCode()) .deptName(order.getDeptName()) .toDeptCode(order.getToDeptCode()) .toDeptName(order.getToDeptName()) .confirmUser(order.getConfirmUser()) .confirmUserName(order.getConfirmUserName()) .confirmTime(order.getConfirmTime()) .confirmRemark(order.getConfirmRemark()) .createTime(order.getCreateTime()) .createUserName(order.getCreateUserName()) .createUser(order.getCreateUser()) .build(); } }