14 changed files with 1786 additions and 65 deletions
@ -0,0 +1,31 @@ |
|||
package com.ccsens.carbasics.bean.dto; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.File; |
|||
|
|||
public class OcrDto { |
|||
|
|||
@ApiModel("报告单图片文字通用识别-请求") |
|||
@Data |
|||
public static class GeneralBasic{ |
|||
@NotNull |
|||
@ApiModelProperty("患者ID") |
|||
private Long patientId; |
|||
@ApiModelProperty("报告单类型") |
|||
@NotBlank |
|||
private String code; |
|||
@ApiModelProperty("图片路径") |
|||
private String url; |
|||
@ApiModelProperty("图片ID") |
|||
private Long fileId; |
|||
@ApiModelProperty("图片") |
|||
private MultipartFile file; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,139 @@ |
|||
package com.ccsens.carbasics.bean.po; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
public class QuestionOcr implements Serializable { |
|||
private Long id; |
|||
|
|||
private String code; |
|||
|
|||
private Integer sort; |
|||
|
|||
private Long hospitalId; |
|||
|
|||
private String start; |
|||
|
|||
private String end; |
|||
|
|||
private String remark; |
|||
|
|||
private Long operator; |
|||
|
|||
private Date createdAt; |
|||
|
|||
private Date updatedAt; |
|||
|
|||
private Byte recStatus; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
public Long getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(Long id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public String getCode() { |
|||
return code; |
|||
} |
|||
|
|||
public void setCode(String code) { |
|||
this.code = code == null ? null : code.trim(); |
|||
} |
|||
|
|||
public Integer getSort() { |
|||
return sort; |
|||
} |
|||
|
|||
public void setSort(Integer sort) { |
|||
this.sort = sort; |
|||
} |
|||
|
|||
public Long getHospitalId() { |
|||
return hospitalId; |
|||
} |
|||
|
|||
public void setHospitalId(Long hospitalId) { |
|||
this.hospitalId = hospitalId; |
|||
} |
|||
|
|||
public String getStart() { |
|||
return start; |
|||
} |
|||
|
|||
public void setStart(String start) { |
|||
this.start = start == null ? null : start.trim(); |
|||
} |
|||
|
|||
public String getEnd() { |
|||
return end; |
|||
} |
|||
|
|||
public void setEnd(String end) { |
|||
this.end = end == null ? null : end.trim(); |
|||
} |
|||
|
|||
public String getRemark() { |
|||
return remark; |
|||
} |
|||
|
|||
public void setRemark(String remark) { |
|||
this.remark = remark == null ? null : remark.trim(); |
|||
} |
|||
|
|||
public Long getOperator() { |
|||
return operator; |
|||
} |
|||
|
|||
public void setOperator(Long operator) { |
|||
this.operator = operator; |
|||
} |
|||
|
|||
public Date getCreatedAt() { |
|||
return createdAt; |
|||
} |
|||
|
|||
public void setCreatedAt(Date createdAt) { |
|||
this.createdAt = createdAt; |
|||
} |
|||
|
|||
public Date getUpdatedAt() { |
|||
return updatedAt; |
|||
} |
|||
|
|||
public void setUpdatedAt(Date updatedAt) { |
|||
this.updatedAt = updatedAt; |
|||
} |
|||
|
|||
public Byte getRecStatus() { |
|||
return recStatus; |
|||
} |
|||
|
|||
public void setRecStatus(Byte recStatus) { |
|||
this.recStatus = recStatus; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
StringBuilder sb = new StringBuilder(); |
|||
sb.append(getClass().getSimpleName()); |
|||
sb.append(" ["); |
|||
sb.append("Hash = ").append(hashCode()); |
|||
sb.append(", id=").append(id); |
|||
sb.append(", code=").append(code); |
|||
sb.append(", sort=").append(sort); |
|||
sb.append(", hospitalId=").append(hospitalId); |
|||
sb.append(", start=").append(start); |
|||
sb.append(", end=").append(end); |
|||
sb.append(", remark=").append(remark); |
|||
sb.append(", operator=").append(operator); |
|||
sb.append(", createdAt=").append(createdAt); |
|||
sb.append(", updatedAt=").append(updatedAt); |
|||
sb.append(", recStatus=").append(recStatus); |
|||
sb.append("]"); |
|||
return sb.toString(); |
|||
} |
|||
} |
@ -0,0 +1,901 @@ |
|||
package com.ccsens.carbasics.bean.po; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class QuestionOcrExample { |
|||
protected String orderByClause; |
|||
|
|||
protected boolean distinct; |
|||
|
|||
protected List<Criteria> oredCriteria; |
|||
|
|||
public QuestionOcrExample() { |
|||
oredCriteria = new ArrayList<Criteria>(); |
|||
} |
|||
|
|||
public void setOrderByClause(String orderByClause) { |
|||
this.orderByClause = orderByClause; |
|||
} |
|||
|
|||
public String getOrderByClause() { |
|||
return orderByClause; |
|||
} |
|||
|
|||
public void setDistinct(boolean distinct) { |
|||
this.distinct = distinct; |
|||
} |
|||
|
|||
public boolean isDistinct() { |
|||
return distinct; |
|||
} |
|||
|
|||
public List<Criteria> getOredCriteria() { |
|||
return oredCriteria; |
|||
} |
|||
|
|||
public void or(Criteria criteria) { |
|||
oredCriteria.add(criteria); |
|||
} |
|||
|
|||
public Criteria or() { |
|||
Criteria criteria = createCriteriaInternal(); |
|||
oredCriteria.add(criteria); |
|||
return criteria; |
|||
} |
|||
|
|||
public Criteria createCriteria() { |
|||
Criteria criteria = createCriteriaInternal(); |
|||
if (oredCriteria.size() == 0) { |
|||
oredCriteria.add(criteria); |
|||
} |
|||
return criteria; |
|||
} |
|||
|
|||
protected Criteria createCriteriaInternal() { |
|||
Criteria criteria = new Criteria(); |
|||
return criteria; |
|||
} |
|||
|
|||
public void clear() { |
|||
oredCriteria.clear(); |
|||
orderByClause = null; |
|||
distinct = false; |
|||
} |
|||
|
|||
protected abstract static class GeneratedCriteria { |
|||
protected List<Criterion> criteria; |
|||
|
|||
protected GeneratedCriteria() { |
|||
super(); |
|||
criteria = new ArrayList<Criterion>(); |
|||
} |
|||
|
|||
public boolean isValid() { |
|||
return criteria.size() > 0; |
|||
} |
|||
|
|||
public List<Criterion> getAllCriteria() { |
|||
return criteria; |
|||
} |
|||
|
|||
public List<Criterion> getCriteria() { |
|||
return criteria; |
|||
} |
|||
|
|||
protected void addCriterion(String condition) { |
|||
if (condition == null) { |
|||
throw new RuntimeException("Value for condition cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition)); |
|||
} |
|||
|
|||
protected void addCriterion(String condition, Object value, String property) { |
|||
if (value == null) { |
|||
throw new RuntimeException("Value for " + property + " cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition, value)); |
|||
} |
|||
|
|||
protected void addCriterion(String condition, Object value1, Object value2, String property) { |
|||
if (value1 == null || value2 == null) { |
|||
throw new RuntimeException("Between values for " + property + " cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition, value1, value2)); |
|||
} |
|||
|
|||
public Criteria andIdIsNull() { |
|||
addCriterion("id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdIsNotNull() { |
|||
addCriterion("id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdEqualTo(Long value) { |
|||
addCriterion("id =", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotEqualTo(Long value) { |
|||
addCriterion("id <>", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdGreaterThan(Long value) { |
|||
addCriterion("id >", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("id >=", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdLessThan(Long value) { |
|||
addCriterion("id <", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("id <=", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdIn(List<Long> values) { |
|||
addCriterion("id in", values, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotIn(List<Long> values) { |
|||
addCriterion("id not in", values, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdBetween(Long value1, Long value2) { |
|||
addCriterion("id between", value1, value2, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("id not between", value1, value2, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeIsNull() { |
|||
addCriterion("code is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeIsNotNull() { |
|||
addCriterion("code is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeEqualTo(String value) { |
|||
addCriterion("code =", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeNotEqualTo(String value) { |
|||
addCriterion("code <>", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeGreaterThan(String value) { |
|||
addCriterion("code >", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeGreaterThanOrEqualTo(String value) { |
|||
addCriterion("code >=", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeLessThan(String value) { |
|||
addCriterion("code <", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeLessThanOrEqualTo(String value) { |
|||
addCriterion("code <=", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeLike(String value) { |
|||
addCriterion("code like", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeNotLike(String value) { |
|||
addCriterion("code not like", value, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeIn(List<String> values) { |
|||
addCriterion("code in", values, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeNotIn(List<String> values) { |
|||
addCriterion("code not in", values, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeBetween(String value1, String value2) { |
|||
addCriterion("code between", value1, value2, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCodeNotBetween(String value1, String value2) { |
|||
addCriterion("code not between", value1, value2, "code"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortIsNull() { |
|||
addCriterion("sort is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortIsNotNull() { |
|||
addCriterion("sort is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortEqualTo(Integer value) { |
|||
addCriterion("sort =", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortNotEqualTo(Integer value) { |
|||
addCriterion("sort <>", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortGreaterThan(Integer value) { |
|||
addCriterion("sort >", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortGreaterThanOrEqualTo(Integer value) { |
|||
addCriterion("sort >=", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortLessThan(Integer value) { |
|||
addCriterion("sort <", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortLessThanOrEqualTo(Integer value) { |
|||
addCriterion("sort <=", value, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortIn(List<Integer> values) { |
|||
addCriterion("sort in", values, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortNotIn(List<Integer> values) { |
|||
addCriterion("sort not in", values, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortBetween(Integer value1, Integer value2) { |
|||
addCriterion("sort between", value1, value2, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andSortNotBetween(Integer value1, Integer value2) { |
|||
addCriterion("sort not between", value1, value2, "sort"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdIsNull() { |
|||
addCriterion("hospital_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdIsNotNull() { |
|||
addCriterion("hospital_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdEqualTo(Long value) { |
|||
addCriterion("hospital_id =", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdNotEqualTo(Long value) { |
|||
addCriterion("hospital_id <>", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdGreaterThan(Long value) { |
|||
addCriterion("hospital_id >", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("hospital_id >=", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdLessThan(Long value) { |
|||
addCriterion("hospital_id <", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("hospital_id <=", value, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdIn(List<Long> values) { |
|||
addCriterion("hospital_id in", values, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdNotIn(List<Long> values) { |
|||
addCriterion("hospital_id not in", values, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdBetween(Long value1, Long value2) { |
|||
addCriterion("hospital_id between", value1, value2, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andHospitalIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("hospital_id not between", value1, value2, "hospitalId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartIsNull() { |
|||
addCriterion("start is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartIsNotNull() { |
|||
addCriterion("start is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartEqualTo(String value) { |
|||
addCriterion("start =", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartNotEqualTo(String value) { |
|||
addCriterion("start <>", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartGreaterThan(String value) { |
|||
addCriterion("start >", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartGreaterThanOrEqualTo(String value) { |
|||
addCriterion("start >=", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartLessThan(String value) { |
|||
addCriterion("start <", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartLessThanOrEqualTo(String value) { |
|||
addCriterion("start <=", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartLike(String value) { |
|||
addCriterion("start like", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartNotLike(String value) { |
|||
addCriterion("start not like", value, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartIn(List<String> values) { |
|||
addCriterion("start in", values, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartNotIn(List<String> values) { |
|||
addCriterion("start not in", values, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartBetween(String value1, String value2) { |
|||
addCriterion("start between", value1, value2, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andStartNotBetween(String value1, String value2) { |
|||
addCriterion("start not between", value1, value2, "start"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndIsNull() { |
|||
addCriterion("end is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndIsNotNull() { |
|||
addCriterion("end is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndEqualTo(String value) { |
|||
addCriterion("end =", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndNotEqualTo(String value) { |
|||
addCriterion("end <>", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndGreaterThan(String value) { |
|||
addCriterion("end >", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndGreaterThanOrEqualTo(String value) { |
|||
addCriterion("end >=", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndLessThan(String value) { |
|||
addCriterion("end <", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndLessThanOrEqualTo(String value) { |
|||
addCriterion("end <=", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndLike(String value) { |
|||
addCriterion("end like", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndNotLike(String value) { |
|||
addCriterion("end not like", value, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndIn(List<String> values) { |
|||
addCriterion("end in", values, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndNotIn(List<String> values) { |
|||
addCriterion("end not in", values, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndBetween(String value1, String value2) { |
|||
addCriterion("end between", value1, value2, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andEndNotBetween(String value1, String value2) { |
|||
addCriterion("end not between", value1, value2, "end"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkIsNull() { |
|||
addCriterion("remark is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkIsNotNull() { |
|||
addCriterion("remark is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkEqualTo(String value) { |
|||
addCriterion("remark =", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkNotEqualTo(String value) { |
|||
addCriterion("remark <>", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkGreaterThan(String value) { |
|||
addCriterion("remark >", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkGreaterThanOrEqualTo(String value) { |
|||
addCriterion("remark >=", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkLessThan(String value) { |
|||
addCriterion("remark <", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkLessThanOrEqualTo(String value) { |
|||
addCriterion("remark <=", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkLike(String value) { |
|||
addCriterion("remark like", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkNotLike(String value) { |
|||
addCriterion("remark not like", value, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkIn(List<String> values) { |
|||
addCriterion("remark in", values, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkNotIn(List<String> values) { |
|||
addCriterion("remark not in", values, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkBetween(String value1, String value2) { |
|||
addCriterion("remark between", value1, value2, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRemarkNotBetween(String value1, String value2) { |
|||
addCriterion("remark not between", value1, value2, "remark"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorIsNull() { |
|||
addCriterion("operator is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorIsNotNull() { |
|||
addCriterion("operator is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorEqualTo(Long value) { |
|||
addCriterion("operator =", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorNotEqualTo(Long value) { |
|||
addCriterion("operator <>", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorGreaterThan(Long value) { |
|||
addCriterion("operator >", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("operator >=", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorLessThan(Long value) { |
|||
addCriterion("operator <", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorLessThanOrEqualTo(Long value) { |
|||
addCriterion("operator <=", value, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorIn(List<Long> values) { |
|||
addCriterion("operator in", values, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorNotIn(List<Long> values) { |
|||
addCriterion("operator not in", values, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorBetween(Long value1, Long value2) { |
|||
addCriterion("operator between", value1, value2, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andOperatorNotBetween(Long value1, Long value2) { |
|||
addCriterion("operator not between", value1, value2, "operator"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNull() { |
|||
addCriterion("created_at is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNotNull() { |
|||
addCriterion("created_at is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtEqualTo(Date value) { |
|||
addCriterion("created_at =", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotEqualTo(Date value) { |
|||
addCriterion("created_at <>", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThan(Date value) { |
|||
addCriterion("created_at >", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("created_at >=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThan(Date value) { |
|||
addCriterion("created_at <", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThanOrEqualTo(Date value) { |
|||
addCriterion("created_at <=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIn(List<Date> values) { |
|||
addCriterion("created_at in", values, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotIn(List<Date> values) { |
|||
addCriterion("created_at not in", values, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtBetween(Date value1, Date value2) { |
|||
addCriterion("created_at between", value1, value2, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotBetween(Date value1, Date value2) { |
|||
addCriterion("created_at not between", value1, value2, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIsNull() { |
|||
addCriterion("updated_at is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIsNotNull() { |
|||
addCriterion("updated_at is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtEqualTo(Date value) { |
|||
addCriterion("updated_at =", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotEqualTo(Date value) { |
|||
addCriterion("updated_at <>", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtGreaterThan(Date value) { |
|||
addCriterion("updated_at >", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("updated_at >=", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtLessThan(Date value) { |
|||
addCriterion("updated_at <", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { |
|||
addCriterion("updated_at <=", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIn(List<Date> values) { |
|||
addCriterion("updated_at in", values, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotIn(List<Date> values) { |
|||
addCriterion("updated_at not in", values, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtBetween(Date value1, Date value2) { |
|||
addCriterion("updated_at between", value1, value2, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { |
|||
addCriterion("updated_at not between", value1, value2, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIsNull() { |
|||
addCriterion("rec_status is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIsNotNull() { |
|||
addCriterion("rec_status is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusEqualTo(Byte value) { |
|||
addCriterion("rec_status =", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotEqualTo(Byte value) { |
|||
addCriterion("rec_status <>", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusGreaterThan(Byte value) { |
|||
addCriterion("rec_status >", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { |
|||
addCriterion("rec_status >=", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusLessThan(Byte value) { |
|||
addCriterion("rec_status <", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusLessThanOrEqualTo(Byte value) { |
|||
addCriterion("rec_status <=", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIn(List<Byte> values) { |
|||
addCriterion("rec_status in", values, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotIn(List<Byte> values) { |
|||
addCriterion("rec_status not in", values, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusBetween(Byte value1, Byte value2) { |
|||
addCriterion("rec_status between", value1, value2, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { |
|||
addCriterion("rec_status not between", value1, value2, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
} |
|||
|
|||
public static class Criteria extends GeneratedCriteria { |
|||
|
|||
protected Criteria() { |
|||
super(); |
|||
} |
|||
} |
|||
|
|||
public static class Criterion { |
|||
private String condition; |
|||
|
|||
private Object value; |
|||
|
|||
private Object secondValue; |
|||
|
|||
private boolean noValue; |
|||
|
|||
private boolean singleValue; |
|||
|
|||
private boolean betweenValue; |
|||
|
|||
private boolean listValue; |
|||
|
|||
private String typeHandler; |
|||
|
|||
public String getCondition() { |
|||
return condition; |
|||
} |
|||
|
|||
public Object getValue() { |
|||
return value; |
|||
} |
|||
|
|||
public Object getSecondValue() { |
|||
return secondValue; |
|||
} |
|||
|
|||
public boolean isNoValue() { |
|||
return noValue; |
|||
} |
|||
|
|||
public boolean isSingleValue() { |
|||
return singleValue; |
|||
} |
|||
|
|||
public boolean isBetweenValue() { |
|||
return betweenValue; |
|||
} |
|||
|
|||
public boolean isListValue() { |
|||
return listValue; |
|||
} |
|||
|
|||
public String getTypeHandler() { |
|||
return typeHandler; |
|||
} |
|||
|
|||
protected Criterion(String condition) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.typeHandler = null; |
|||
this.noValue = true; |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, String typeHandler) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.value = value; |
|||
this.typeHandler = typeHandler; |
|||
if (value instanceof List<?>) { |
|||
this.listValue = true; |
|||
} else { |
|||
this.singleValue = true; |
|||
} |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value) { |
|||
this(condition, value, null); |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.value = value; |
|||
this.secondValue = secondValue; |
|||
this.typeHandler = typeHandler; |
|||
this.betweenValue = true; |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, Object secondValue) { |
|||
this(condition, value, secondValue, null); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.ccsens.carbasics.bean.vo; |
|||
|
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
public class QuestionOcrVo { |
|||
|
|||
|
|||
@ApiModel("报告单图片文字通用识别-返回") |
|||
@Data |
|||
public static class GeneralBasic{ |
|||
@ApiModelProperty("报告单类型") |
|||
private String code; |
|||
@ApiModelProperty("排序") |
|||
private Integer sort; |
|||
@ApiModelProperty("试题ID") |
|||
private Long questionId; |
|||
@ApiModelProperty("答案") |
|||
private String content; |
|||
} |
|||
|
|||
@ApiModel("orc规则") |
|||
@Data |
|||
public static class OcrRule{ |
|||
@ApiModelProperty("规则ID") |
|||
private Long id; |
|||
@ApiModelProperty("code") |
|||
private String code; |
|||
@ApiModelProperty("排序") |
|||
private Integer sort; |
|||
@ApiModelProperty("医院ID") |
|||
private Long hospital; |
|||
@ApiModelProperty("试题ID") |
|||
private Long questionId; |
|||
@ApiModelProperty("开始标识") |
|||
private String start; |
|||
@ApiModelProperty("结束标识") |
|||
private String end; |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.ccsens.carbasics.persist.dao; |
|||
|
|||
import com.ccsens.carbasics.bean.vo.QuestionOcrVo; |
|||
import com.ccsens.carbasics.persist.mapper.QuestionOcrMapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author whj |
|||
*/ |
|||
public interface QuestionOcrDao extends QuestionOcrMapper { |
|||
/** |
|||
* 查询识别规则 |
|||
* @param patientId 患者ID |
|||
* @param code 类型 |
|||
* @return 规则 |
|||
*/ |
|||
List<QuestionOcrVo.OcrRule> queryRules(@Param("patientId") Long patientId, @Param("code") String code); |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.ccsens.carbasics.persist.mapper; |
|||
|
|||
import com.ccsens.carbasics.bean.po.QuestionOcr; |
|||
import com.ccsens.carbasics.bean.po.QuestionOcrExample; |
|||
import java.util.List; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
public interface QuestionOcrMapper { |
|||
long countByExample(QuestionOcrExample example); |
|||
|
|||
int deleteByExample(QuestionOcrExample example); |
|||
|
|||
int deleteByPrimaryKey(Long id); |
|||
|
|||
int insert(QuestionOcr record); |
|||
|
|||
int insertSelective(QuestionOcr record); |
|||
|
|||
List<QuestionOcr> selectByExample(QuestionOcrExample example); |
|||
|
|||
QuestionOcr selectByPrimaryKey(Long id); |
|||
|
|||
int updateByExampleSelective(@Param("record") QuestionOcr record, @Param("example") QuestionOcrExample example); |
|||
|
|||
int updateByExample(@Param("record") QuestionOcr record, @Param("example") QuestionOcrExample example); |
|||
|
|||
int updateByPrimaryKeySelective(QuestionOcr record); |
|||
|
|||
int updateByPrimaryKey(QuestionOcr record); |
|||
} |
@ -0,0 +1,22 @@ |
|||
package com.ccsens.carbasics.service; |
|||
|
|||
import com.ccsens.carbasics.bean.dto.OcrDto; |
|||
import com.ccsens.carbasics.bean.vo.OcrVo; |
|||
import com.ccsens.carbasics.bean.vo.QuestionOcrVo; |
|||
|
|||
import java.io.IOException; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author AUSU |
|||
*/ |
|||
public interface IOcrService { |
|||
|
|||
/** |
|||
* 识别图片文字 |
|||
* @param param 图片地址 |
|||
* @param userId 用户id |
|||
* @return 文字列表 |
|||
*/ |
|||
List<QuestionOcrVo.GeneralBasic> identifyWords(OcrDto.GeneralBasic param, Long userId) throws IOException; |
|||
} |
@ -0,0 +1,183 @@ |
|||
package com.ccsens.carbasics.service; |
|||
|
|||
import cn.hutool.core.codec.Base64; |
|||
import cn.hutool.core.collection.CollectionUtil; |
|||
import cn.hutool.core.util.ImageUtil; |
|||
import cn.hutool.core.util.StrUtil; |
|||
import com.alibaba.cloudapi.sdk.model.ApiResponse; |
|||
import com.alibaba.fastjson.JSONArray; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.ccsens.carbasics.bean.dto.OcrDto; |
|||
import com.ccsens.carbasics.bean.vo.OcrVo; |
|||
import com.ccsens.carbasics.bean.vo.QuestionOcrVo; |
|||
import com.ccsens.carbasics.persist.dao.QuestionOcrDao; |
|||
import com.ccsens.carbasics.util.Constant; |
|||
import com.ccsens.util.CodeEnum; |
|||
import com.ccsens.util.ali.AliInstanceUtil; |
|||
import com.ccsens.util.baidu.BaiDuDto; |
|||
import com.ccsens.util.baidu.BaiDuUtil; |
|||
import com.ccsens.util.baidu.BaiDuVo; |
|||
import com.ccsens.util.exception.BaseException; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Propagation; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.imageio.ImageIO; |
|||
import java.io.ByteArrayOutputStream; |
|||
import java.io.File; |
|||
import java.io.IOException; |
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Slf4j |
|||
@Service |
|||
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|||
public class OcrService implements IOcrService { |
|||
|
|||
@Resource |
|||
private QuestionOcrDao questionOcrDao; |
|||
|
|||
@Override |
|||
public List<QuestionOcrVo.GeneralBasic> identifyWords(OcrDto.GeneralBasic generalBasic, Long userId) throws IOException { |
|||
long time1 = System.currentTimeMillis(); |
|||
List<QuestionOcrVo.GeneralBasic> vos = new ArrayList<>(); |
|||
// 类型测评规则
|
|||
List<QuestionOcrVo.OcrRule> rules = questionOcrDao.queryRules(generalBasic.getPatientId(), generalBasic.getCode()); |
|||
log.info("规则:{}", rules); |
|||
if (CollectionUtil.isEmpty(rules)) { |
|||
return vos; |
|||
} |
|||
long time2 = System.currentTimeMillis(); |
|||
log.info("查询规则时间:{}", time2 - time1); |
|||
// ReportOcrExample ocrExample = new ReportOcrExample();
|
|||
// ocrExample.createCriteria().andCodeEqualTo(generalBasic.getCode());
|
|||
// List<ReportOcr> reportOcrList = reportOcrMapper.selectByExample(ocrExample);
|
|||
long time3 = System.currentTimeMillis(); |
|||
log.info("查询reportOrc:{}", time3 - time2); |
|||
|
|||
// boolean baidu = CollectionUtil.isEmpty(reportOcrList) || reportOcrList.get(0).getOcrChannel() != 1;
|
|||
|
|||
// 识别字符串
|
|||
List<String> contents = new ArrayList<>(); |
|||
long time4 = 0; |
|||
|
|||
//图片
|
|||
// CommonFile commonFile = commonFileMapper.selectByPrimaryKey(generalBasic.getFileId());
|
|||
// if (commonFile == null) {
|
|||
// throw new BaseException(CodeEnum.PARAM_ERROR);
|
|||
// }
|
|||
// File file = new File(commonFile.getLocation());
|
|||
ByteArrayOutputStream out = new ByteArrayOutputStream(); |
|||
ImageUtil.scale(ImageIO.read((File)generalBasic.getFile()), out, 0.5f); |
|||
// Img.from(new URL(generalBasic.getUrl())).scale(0.5f).write(out);
|
|||
String img = Base64.encode(out.toByteArray()); |
|||
|
|||
// if (baidu) {
|
|||
BaiDuDto.GeneralBasic basic = new BaiDuDto.GeneralBasic(); |
|||
// basic.setUrl(generalBasic.getUrl());
|
|||
basic.setImage(img); |
|||
BaiDuVo.GeneralBasic words = BaiDuUtil.accurateBasic(Constant.BaiDu.APP_KEY, Constant.BaiDu.SECRET_KEY, basic); |
|||
log.info("文字识别:{}", words); |
|||
if (words == null || CollectionUtil.isEmpty(words.getWordsResult())) { |
|||
return vos; |
|||
} |
|||
words.getWordsResult().forEach(word -> contents.add(word.getWords())); |
|||
// } else {
|
|||
// 阿里
|
|||
// String body = "{\"img\":\"\",\"url\":\""+generalBasic.getUrl()+"\",\"prob\":false,\"charInfo\":false,\"rotate\":false,\"table\":false}";
|
|||
// String body = "{\"img\":\""+img+"\",\"url\":\"\",\"prob\":false,\"charInfo\":false,\"rotate\":false,\"table\":false}";
|
|||
// ApiResponse response = AliInstanceUtil.getGeneralAdvancedHttps().ocrAdvancedSyncMode(body.getBytes());
|
|||
// time4 = System.currentTimeMillis();
|
|||
// log.info("阿里接口调用:{}", time4 -time3);
|
|||
// log.info("调用阿里的通用识别接口,请求:{}, 返回:{}", body, response);
|
|||
// int code = response.getCode();
|
|||
// int curCode = 200;
|
|||
// if (code != curCode) {
|
|||
// CodeEnum thirdError = CodeEnum.THIRD_ERROR;
|
|||
// thirdError.setMsg(response.getMessage());
|
|||
// throw new BaseException(thirdError);
|
|||
// }
|
|||
// String result = new String(response.getBody());
|
|||
// log.info("result:{}", result);
|
|||
// JSONObject json = JSONObject.parseObject(result);
|
|||
// JSONArray infos = json.getJSONArray("prism_wordsInfo");
|
|||
// for (Object obj: infos) {
|
|||
// JSONObject info = (JSONObject)obj;
|
|||
// contents.add(info.getString("word").replaceAll("\\s+",""));
|
|||
// }
|
|||
Map<String, Integer> keyMap = new HashMap<>(16); |
|||
rules.forEach(rule -> { |
|||
JSONObject start = StrUtil.isEmpty(rule.getStart()) ? null : JSONObject.parseObject(rule.getStart()); |
|||
JSONObject end = StrUtil.isEmpty(rule.getEnd()) ? null : JSONObject.parseObject(rule.getEnd()); |
|||
StringBuilder builder; |
|||
|
|||
if (start == null) { |
|||
// 不知道这种场景
|
|||
return; |
|||
} else if (start.containsKey(Constant.BaiDu.NUM)) { |
|||
// 包含读取第几个
|
|||
builder = getContent(contents, keyMap, start); |
|||
} else { |
|||
builder = getContent(contents, start, end); |
|||
} |
|||
|
|||
QuestionOcrVo.GeneralBasic vo = new QuestionOcrVo.GeneralBasic(); |
|||
vo.setQuestionId(rule.getQuestionId()); |
|||
vo.setCode(rule.getCode()); |
|||
vo.setSort(rule.getSort()); |
|||
vo.setContent(builder.toString()); |
|||
vos.add(vo); |
|||
}); |
|||
long time5 = System.currentTimeMillis(); |
|||
log.info("数据处理时间:{}", time5 - time4); |
|||
return vos; |
|||
} |
|||
|
|||
private StringBuilder getContent(List<String> contents, Map<String, Integer> keyMap, JSONObject start) { |
|||
StringBuilder builder = new StringBuilder(); |
|||
String key = start.getString(Constant.BaiDu.KEY); |
|||
int index = start.getIntValue(Constant.BaiDu.NUM); |
|||
if (keyMap.containsKey(key)) { |
|||
if (keyMap.get(key) >= 0) { |
|||
builder.append(contents.get(keyMap.get(key) + index)); |
|||
} |
|||
} else { |
|||
for (int i = 0; i < contents.size(); i++) { |
|||
if (contents.get(i).contains(key)) { |
|||
keyMap.put(key.trim(), i); |
|||
builder.append(contents.get(i + index)); |
|||
return builder; |
|||
} |
|||
} |
|||
} |
|||
return builder; |
|||
} |
|||
|
|||
private StringBuilder getContent(List<String> contents, JSONObject start, JSONObject end) { |
|||
StringBuilder builder = new StringBuilder(); |
|||
for (String content : contents) { |
|||
String word = content.trim(); |
|||
if (start != null && word.startsWith(start.getString(Constant.BaiDu.KEY))) { |
|||
builder.delete(0, builder.length()); |
|||
builder.append(word); |
|||
} else if (end != null && word.startsWith(end.getString(Constant.BaiDu.KEY))) { |
|||
break; |
|||
} else { |
|||
builder.append(word); |
|||
} |
|||
} |
|||
return builder; |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
@ -1,4 +1,4 @@ |
|||
spring: |
|||
profiles: |
|||
active: test |
|||
include: common, util-test |
|||
active: dev |
|||
include: common, util-dev |
|||
|
@ -0,0 +1,28 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.ccsens.carbasics.persist.dao.QuestionOcrDao"> |
|||
|
|||
<select id="queryRules" resultType="com.ccsens.carbasics.bean.vo.QuestionOcrVo$OcrRule"> |
|||
SELECT |
|||
q.id AS questionId, |
|||
o.id, |
|||
o.CODE, |
|||
o.sort, |
|||
o.hospital_id as hospital, |
|||
o.START, |
|||
o.END |
|||
FROM |
|||
t_question_ocr o, |
|||
t_question q, |
|||
t_patient_information p |
|||
WHERE |
|||
o.CODE = q.CODE |
|||
AND o.sort = q.sort |
|||
AND o.hospital_id = p.hospital_id |
|||
AND p.id = #{patientId} |
|||
AND o.CODE = #{code} |
|||
AND o.rec_status = 0 |
|||
AND q.rec_status = 0 |
|||
AND p.rec_status = 0 |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,306 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.ccsens.carbasics.persist.mapper.QuestionOcrMapper"> |
|||
<resultMap id="BaseResultMap" type="com.ccsens.carbasics.bean.po.QuestionOcr"> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="code" jdbcType="VARCHAR" property="code" /> |
|||
<result column="sort" jdbcType="INTEGER" property="sort" /> |
|||
<result column="hospital_id" jdbcType="BIGINT" property="hospitalId" /> |
|||
<result column="start" jdbcType="VARCHAR" property="start" /> |
|||
<result column="end" jdbcType="VARCHAR" property="end" /> |
|||
<result column="remark" jdbcType="VARCHAR" property="remark" /> |
|||
<result column="operator" jdbcType="BIGINT" property="operator" /> |
|||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" /> |
|||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" /> |
|||
<result column="rec_status" jdbcType="TINYINT" property="recStatus" /> |
|||
</resultMap> |
|||
<sql id="Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Update_By_Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="example.oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Base_Column_List"> |
|||
id, code, sort, hospital_id, start, end, remark, operator, created_at, updated_at, |
|||
rec_status |
|||
</sql> |
|||
<select id="selectByExample" parameterType="com.ccsens.carbasics.bean.po.QuestionOcrExample" resultMap="BaseResultMap"> |
|||
select |
|||
<if test="distinct"> |
|||
distinct |
|||
</if> |
|||
<include refid="Base_Column_List" /> |
|||
from t_question_ocr |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
<if test="orderByClause != null"> |
|||
order by ${orderByClause} |
|||
</if> |
|||
</select> |
|||
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List" /> |
|||
from t_question_ocr |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</select> |
|||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
|||
delete from t_question_ocr |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</delete> |
|||
<delete id="deleteByExample" parameterType="com.ccsens.carbasics.bean.po.QuestionOcrExample"> |
|||
delete from t_question_ocr |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</delete> |
|||
<insert id="insert" parameterType="com.ccsens.carbasics.bean.po.QuestionOcr"> |
|||
insert into t_question_ocr (id, code, sort, |
|||
hospital_id, start, end, |
|||
remark, operator, created_at, |
|||
updated_at, rec_status) |
|||
values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{sort,jdbcType=INTEGER}, |
|||
#{hospitalId,jdbcType=BIGINT}, #{start,jdbcType=VARCHAR}, #{end,jdbcType=VARCHAR}, |
|||
#{remark,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, |
|||
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) |
|||
</insert> |
|||
<insert id="insertSelective" parameterType="com.ccsens.carbasics.bean.po.QuestionOcr"> |
|||
insert into t_question_ocr |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
id, |
|||
</if> |
|||
<if test="code != null"> |
|||
code, |
|||
</if> |
|||
<if test="sort != null"> |
|||
sort, |
|||
</if> |
|||
<if test="hospitalId != null"> |
|||
hospital_id, |
|||
</if> |
|||
<if test="start != null"> |
|||
start, |
|||
</if> |
|||
<if test="end != null"> |
|||
end, |
|||
</if> |
|||
<if test="remark != null"> |
|||
remark, |
|||
</if> |
|||
<if test="operator != null"> |
|||
operator, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status, |
|||
</if> |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
#{id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="code != null"> |
|||
#{code,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="sort != null"> |
|||
#{sort,jdbcType=INTEGER}, |
|||
</if> |
|||
<if test="hospitalId != null"> |
|||
#{hospitalId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="start != null"> |
|||
#{start,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="end != null"> |
|||
#{end,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="remark != null"> |
|||
#{remark,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="operator != null"> |
|||
#{operator,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
#{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
#{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
#{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</trim> |
|||
</insert> |
|||
<select id="countByExample" parameterType="com.ccsens.carbasics.bean.po.QuestionOcrExample" resultType="java.lang.Long"> |
|||
select count(*) from t_question_ocr |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</select> |
|||
<update id="updateByExampleSelective" parameterType="map"> |
|||
update t_question_ocr |
|||
<set> |
|||
<if test="record.id != null"> |
|||
id = #{record.id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.code != null"> |
|||
code = #{record.code,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.sort != null"> |
|||
sort = #{record.sort,jdbcType=INTEGER}, |
|||
</if> |
|||
<if test="record.hospitalId != null"> |
|||
hospital_id = #{record.hospitalId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.start != null"> |
|||
start = #{record.start,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.end != null"> |
|||
end = #{record.end,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.remark != null"> |
|||
remark = #{record.remark,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.operator != null"> |
|||
operator = #{record.operator,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.createdAt != null"> |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.updatedAt != null"> |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.recStatus != null"> |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByExample" parameterType="map"> |
|||
update t_question_ocr |
|||
set id = #{record.id,jdbcType=BIGINT}, |
|||
code = #{record.code,jdbcType=VARCHAR}, |
|||
sort = #{record.sort,jdbcType=INTEGER}, |
|||
hospital_id = #{record.hospitalId,jdbcType=BIGINT}, |
|||
start = #{record.start,jdbcType=VARCHAR}, |
|||
end = #{record.end,jdbcType=VARCHAR}, |
|||
remark = #{record.remark,jdbcType=VARCHAR}, |
|||
operator = #{record.operator,jdbcType=BIGINT}, |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT} |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.carbasics.bean.po.QuestionOcr"> |
|||
update t_question_ocr |
|||
<set> |
|||
<if test="code != null"> |
|||
code = #{code,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="sort != null"> |
|||
sort = #{sort,jdbcType=INTEGER}, |
|||
</if> |
|||
<if test="hospitalId != null"> |
|||
hospital_id = #{hospitalId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="start != null"> |
|||
start = #{start,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="end != null"> |
|||
end = #{end,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="remark != null"> |
|||
remark = #{remark,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="operator != null"> |
|||
operator = #{operator,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status = #{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
<update id="updateByPrimaryKey" parameterType="com.ccsens.carbasics.bean.po.QuestionOcr"> |
|||
update t_question_ocr |
|||
set code = #{code,jdbcType=VARCHAR}, |
|||
sort = #{sort,jdbcType=INTEGER}, |
|||
hospital_id = #{hospitalId,jdbcType=BIGINT}, |
|||
start = #{start,jdbcType=VARCHAR}, |
|||
end = #{end,jdbcType=VARCHAR}, |
|||
remark = #{remark,jdbcType=VARCHAR}, |
|||
operator = #{operator,jdbcType=BIGINT}, |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{recStatus,jdbcType=TINYINT} |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
</mapper> |
Loading…
Reference in new issue