package thyyxxk.webserver.entity.ca.dto; import java.io.Serializable; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonValue; import lombok.*; import java.util.Arrays; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import thyyxxk.webserver.entity.ca.CaSignClass; @Data @Builder @AllArgsConstructor @NoArgsConstructor @TableName(value = "ca_sign_data") public class CaSignData implements Serializable { private static final long serialVersionUID = 912070069195625966L; /** * 文档的id */ @TableId private String documentId; /** * 住院号/门诊号 */ @TableField(value = "pat_no") private String patNo; /** * 住院次数,门诊次数 */ @TableField(value = "times") private Integer times; /** * 传给ca的唯一id */ @TableField(value = "ca_id") private String caId; /** * 上传的参数 */ @TableField(value = "value") private String value; /** * createStaff */ @TableField(value = "create_staff") private String createStaff; /** * createDate */ @TableField(value = "create_date") private Date createDate; /** * 1-扫码 2-平板 3-发送到平板端预签名 */ @TableField(value = "sign_type") private SignType signType; public void setSignType(Integer value) { Arrays.stream(SignType.values()) .filter(e -> e.getValue().equals(value)) .findFirst() .ifPresent(e -> { this.signType = e; }); } /** * 签名是否完成 0 - 没有 1-完成 */ @TableField(value = "sign_complete") private Boolean signComplete; /** * zy=住院 mz=门诊 */ @TableField(value = "source") private String source; /** * 和患者的关系参数,用的是 {@see MoreEventSign.MoreEventSignData} */ @TableField(value = "relationship") private String relationship; @AllArgsConstructor public static enum SignType { qrCode(1, "扫码"), MOVE_PAD(2, "平板签名"), IPAD_EDITOR(3, "移动平板编辑"), H5_HTTP(4, "H5签名"); @Getter @EnumValue @JsonValue private final Integer value; @Getter private final String desc; } public static LambdaQueryWrapper lambdaQueryWrapper() { return new LambdaQueryWrapper<>(); } public static QueryWrapper queryWrapper() { return new QueryWrapper<>(); } public static String getId(String documentId, String source) { return source + documentId; } public static String getId(String documentId, CaSignClass.SignSourceEnum source) { return getId(documentId, source.getCode()); } }