CaSignData.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package thyyxxk.webserver.entity.ca.dto;
  2. import java.io.Serializable;
  3. import com.baomidou.mybatisplus.annotation.*;
  4. import com.fasterxml.jackson.annotation.JsonValue;
  5. import lombok.*;
  6. import java.util.Arrays;
  7. import java.util.Date;
  8. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  9. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  10. import thyyxxk.webserver.entity.ca.CaSignClass;
  11. @Data
  12. @Builder
  13. @AllArgsConstructor
  14. @NoArgsConstructor
  15. @TableName(value = "ca_sign_data")
  16. public class CaSignData implements Serializable {
  17. private static final long serialVersionUID = 912070069195625966L;
  18. /**
  19. * 文档的id
  20. */
  21. @TableId
  22. private String documentId;
  23. /**
  24. * 住院号/门诊号
  25. */
  26. @TableField(value = "pat_no")
  27. private String patNo;
  28. /**
  29. * 住院次数,门诊次数
  30. */
  31. @TableField(value = "times")
  32. private Integer times;
  33. /**
  34. * 传给ca的唯一id
  35. */
  36. @TableField(value = "ca_id")
  37. private String caId;
  38. /**
  39. * 上传的参数
  40. */
  41. @TableField(value = "value")
  42. private String value;
  43. /**
  44. * createStaff
  45. */
  46. @TableField(value = "create_staff")
  47. private String createStaff;
  48. /**
  49. * createDate
  50. */
  51. @TableField(value = "create_date")
  52. private Date createDate;
  53. /**
  54. * 1-扫码 2-平板 3-发送到平板端预签名
  55. */
  56. @TableField(value = "sign_type")
  57. private SignType signType;
  58. public void setSignType(Integer value) {
  59. Arrays.stream(SignType.values())
  60. .filter(e -> e.getValue().equals(value))
  61. .findFirst()
  62. .ifPresent(e -> {
  63. this.signType = e;
  64. });
  65. }
  66. /**
  67. * 签名是否完成 0 - 没有 1-完成
  68. */
  69. @TableField(value = "sign_complete")
  70. private Boolean signComplete;
  71. /**
  72. * zy=住院 mz=门诊
  73. */
  74. @TableField(value = "source")
  75. private String source;
  76. /**
  77. * 和患者的关系参数,用的是 {@see MoreEventSign.MoreEventSignData}
  78. */
  79. @TableField(value = "relationship")
  80. private String relationship;
  81. @AllArgsConstructor
  82. public static enum SignType {
  83. qrCode(1, "扫码"),
  84. MOVE_PAD(2, "平板签名"),
  85. IPAD_EDITOR(3, "移动平板编辑"),
  86. H5_HTTP(4, "H5签名");
  87. @Getter
  88. @EnumValue
  89. @JsonValue
  90. private final Integer value;
  91. @Getter
  92. private final String desc;
  93. }
  94. public static LambdaQueryWrapper<CaSignData> lambdaQueryWrapper() {
  95. return new LambdaQueryWrapper<>();
  96. }
  97. public static QueryWrapper<CaSignData> queryWrapper() {
  98. return new QueryWrapper<>();
  99. }
  100. public static String getId(String documentId, String source) {
  101. return source + documentId;
  102. }
  103. public static String getId(String documentId, CaSignClass.SignSourceEnum source) {
  104. return getId(documentId, source.getCode());
  105. }
  106. }