diff --git a/health/src/main/java/com/ccsens/health/api/HealthController.java b/health/src/main/java/com/ccsens/health/api/HealthController.java index 42f97aa7..5f40fe42 100644 --- a/health/src/main/java/com/ccsens/health/api/HealthController.java +++ b/health/src/main/java/com/ccsens/health/api/HealthController.java @@ -8,10 +8,12 @@ import com.ccsens.health.bean.vo.JourneyVo; import com.ccsens.health.bean.vo.UserVo; import com.ccsens.health.service.IHealthService; import com.ccsens.util.JsonResponse; +import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.WebConstant; import com.ccsens.util.bean.dto.QueryDto; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; @@ -21,6 +23,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.Part; +import java.io.File; import java.util.List; @Slf4j @@ -77,4 +82,23 @@ public class HealthController { PageInfo pageInfo = healthService.list(params); return JsonResponse.newInstance().ok(pageInfo); } + + + + @ApiOperation(value = "上传健康上报的备注文件", notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "file", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse addFile(@RequestParam(required = true) Part file) throws Exception { + //1.上传文件 + String allowedExts = "jpg,jpeg,png"; + String dir = WebConstant.UPLOAD_PATH_BASE + File.separator + WebConstant.UPLOAD_PATH_REMARK; + String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExts, dir); + String filePath = WebConstant.UPLOAD_PATH_REMARK + File.separator + path; + String name = UploadFileUtil_Servlet3.getFileNameByPart(file); + + HealthVo.HealthRemarkFileInfo fileInfo = healthService.uploadRemarkFile(filePath, name); + + return JsonResponse.newInstance().ok(fileInfo); + } } diff --git a/health/src/main/java/com/ccsens/health/bean/dto/HealthDto.java b/health/src/main/java/com/ccsens/health/bean/dto/HealthDto.java index 7e138d6c..0dc7f23d 100644 --- a/health/src/main/java/com/ccsens/health/bean/dto/HealthDto.java +++ b/health/src/main/java/com/ccsens/health/bean/dto/HealthDto.java @@ -7,6 +7,7 @@ import lombok.Data; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import java.math.BigDecimal; +import java.util.List; @Data public class HealthDto { @@ -49,6 +50,8 @@ public class HealthDto { @Max(value=1) @ApiModelProperty("是否本人填写 0无 1有") private int selfFill; + @ApiModelProperty("备注文件信息") + private List fileIdList; } @ApiModel("查询健康上报列表参数") diff --git a/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFile.java b/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFile.java new file mode 100644 index 00000000..c4af6258 --- /dev/null +++ b/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFile.java @@ -0,0 +1,106 @@ +package com.ccsens.health.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class HealthRemarkFile implements Serializable { + private Long id; + + private String name; + + private String path; + + private Long healthRecordsId; + + private Long time; + + 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 getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getPath() { + return path; + } + + public void setPath(String path) { + this.path = path == null ? null : path.trim(); + } + + public Long getHealthRecordsId() { + return healthRecordsId; + } + + public void setHealthRecordsId(Long healthRecordsId) { + this.healthRecordsId = healthRecordsId; + } + + public Long getTime() { + return time; + } + + public void setTime(Long time) { + this.time = time; + } + + 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(", name=").append(name); + sb.append(", path=").append(path); + sb.append(", healthRecordsId=").append(healthRecordsId); + sb.append(", time=").append(time); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFileExample.java b/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFileExample.java new file mode 100644 index 00000000..be8f5b73 --- /dev/null +++ b/health/src/main/java/com/ccsens/health/bean/po/HealthRemarkFileExample.java @@ -0,0 +1,701 @@ +package com.ccsens.health.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class HealthRemarkFileExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public HealthRemarkFileExample() { + oredCriteria = new ArrayList(); + } + + 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 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 criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List 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 values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List 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 andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andPathIsNull() { + addCriterion("path is null"); + return (Criteria) this; + } + + public Criteria andPathIsNotNull() { + addCriterion("path is not null"); + return (Criteria) this; + } + + public Criteria andPathEqualTo(String value) { + addCriterion("path =", value, "path"); + return (Criteria) this; + } + + public Criteria andPathNotEqualTo(String value) { + addCriterion("path <>", value, "path"); + return (Criteria) this; + } + + public Criteria andPathGreaterThan(String value) { + addCriterion("path >", value, "path"); + return (Criteria) this; + } + + public Criteria andPathGreaterThanOrEqualTo(String value) { + addCriterion("path >=", value, "path"); + return (Criteria) this; + } + + public Criteria andPathLessThan(String value) { + addCriterion("path <", value, "path"); + return (Criteria) this; + } + + public Criteria andPathLessThanOrEqualTo(String value) { + addCriterion("path <=", value, "path"); + return (Criteria) this; + } + + public Criteria andPathLike(String value) { + addCriterion("path like", value, "path"); + return (Criteria) this; + } + + public Criteria andPathNotLike(String value) { + addCriterion("path not like", value, "path"); + return (Criteria) this; + } + + public Criteria andPathIn(List values) { + addCriterion("path in", values, "path"); + return (Criteria) this; + } + + public Criteria andPathNotIn(List values) { + addCriterion("path not in", values, "path"); + return (Criteria) this; + } + + public Criteria andPathBetween(String value1, String value2) { + addCriterion("path between", value1, value2, "path"); + return (Criteria) this; + } + + public Criteria andPathNotBetween(String value1, String value2) { + addCriterion("path not between", value1, value2, "path"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdIsNull() { + addCriterion("health_records_id is null"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdIsNotNull() { + addCriterion("health_records_id is not null"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdEqualTo(Long value) { + addCriterion("health_records_id =", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdNotEqualTo(Long value) { + addCriterion("health_records_id <>", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdGreaterThan(Long value) { + addCriterion("health_records_id >", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdGreaterThanOrEqualTo(Long value) { + addCriterion("health_records_id >=", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdLessThan(Long value) { + addCriterion("health_records_id <", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdLessThanOrEqualTo(Long value) { + addCriterion("health_records_id <=", value, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdIn(List values) { + addCriterion("health_records_id in", values, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdNotIn(List values) { + addCriterion("health_records_id not in", values, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdBetween(Long value1, Long value2) { + addCriterion("health_records_id between", value1, value2, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andHealthRecordsIdNotBetween(Long value1, Long value2) { + addCriterion("health_records_id not between", value1, value2, "healthRecordsId"); + return (Criteria) this; + } + + public Criteria andTimeIsNull() { + addCriterion("time is null"); + return (Criteria) this; + } + + public Criteria andTimeIsNotNull() { + addCriterion("time is not null"); + return (Criteria) this; + } + + public Criteria andTimeEqualTo(Long value) { + addCriterion("time =", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotEqualTo(Long value) { + addCriterion("time <>", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeGreaterThan(Long value) { + addCriterion("time >", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeGreaterThanOrEqualTo(Long value) { + addCriterion("time >=", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeLessThan(Long value) { + addCriterion("time <", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeLessThanOrEqualTo(Long value) { + addCriterion("time <=", value, "time"); + return (Criteria) this; + } + + public Criteria andTimeIn(List values) { + addCriterion("time in", values, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotIn(List values) { + addCriterion("time not in", values, "time"); + return (Criteria) this; + } + + public Criteria andTimeBetween(Long value1, Long value2) { + addCriterion("time between", value1, value2, "time"); + return (Criteria) this; + } + + public Criteria andTimeNotBetween(Long value1, Long value2) { + addCriterion("time not between", value1, value2, "time"); + 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 values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List 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 values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List 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 values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List 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); + } + } +} \ No newline at end of file diff --git a/health/src/main/java/com/ccsens/health/bean/vo/HealthVo.java b/health/src/main/java/com/ccsens/health/bean/vo/HealthVo.java index c1c596ef..0341cfe6 100644 --- a/health/src/main/java/com/ccsens/health/bean/vo/HealthVo.java +++ b/health/src/main/java/com/ccsens/health/bean/vo/HealthVo.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Data public class HealthVo { @@ -52,6 +53,8 @@ public class HealthVo { private String healthCode; @ApiModelProperty("健康状态名字") private String healthTypeName; + @ApiModelProperty("备注的文件信息") + private List fileInfoList; } @Data @@ -143,4 +146,18 @@ public class HealthVo { @ApiModelProperty("部门") private String department; } + + + @Data + @ApiModel("备注文件的信息") + public static class HealthRemarkFileInfo{ + @ApiModelProperty("文件id") + private Long fileId; + @ApiModelProperty("文件名") + private String fileName; + @ApiModelProperty("文件路径") + private String filePath; + @ApiModelProperty("上传时间") + private Long time; + } } diff --git a/health/src/main/java/com/ccsens/health/persist/dao/HealthRemarkFileDao.java b/health/src/main/java/com/ccsens/health/persist/dao/HealthRemarkFileDao.java new file mode 100644 index 00000000..dd7b7405 --- /dev/null +++ b/health/src/main/java/com/ccsens/health/persist/dao/HealthRemarkFileDao.java @@ -0,0 +1,8 @@ +package com.ccsens.health.persist.dao; + +import com.ccsens.health.persist.mapper.HealthRemarkFileMapper; +import org.springframework.stereotype.Repository; + +@Repository +public interface HealthRemarkFileDao extends HealthRemarkFileMapper { +} diff --git a/health/src/main/java/com/ccsens/health/persist/mapper/HealthRemarkFileMapper.java b/health/src/main/java/com/ccsens/health/persist/mapper/HealthRemarkFileMapper.java new file mode 100644 index 00000000..e7c42402 --- /dev/null +++ b/health/src/main/java/com/ccsens/health/persist/mapper/HealthRemarkFileMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.health.persist.mapper; + +import com.ccsens.health.bean.po.HealthRemarkFile; +import com.ccsens.health.bean.po.HealthRemarkFileExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface HealthRemarkFileMapper { + long countByExample(HealthRemarkFileExample example); + + int deleteByExample(HealthRemarkFileExample example); + + int deleteByPrimaryKey(Long id); + + int insert(HealthRemarkFile record); + + int insertSelective(HealthRemarkFile record); + + List selectByExample(HealthRemarkFileExample example); + + HealthRemarkFile selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") HealthRemarkFile record, @Param("example") HealthRemarkFileExample example); + + int updateByExample(@Param("record") HealthRemarkFile record, @Param("example") HealthRemarkFileExample example); + + int updateByPrimaryKeySelective(HealthRemarkFile record); + + int updateByPrimaryKey(HealthRemarkFile record); +} \ No newline at end of file diff --git a/health/src/main/java/com/ccsens/health/service/HealthService.java b/health/src/main/java/com/ccsens/health/service/HealthService.java index bbd6cfc2..687b6b20 100644 --- a/health/src/main/java/com/ccsens/health/service/HealthService.java +++ b/health/src/main/java/com/ccsens/health/service/HealthService.java @@ -12,6 +12,7 @@ import com.ccsens.health.bean.po.*; import com.ccsens.health.bean.vo.HealthVo; import com.ccsens.health.persist.dao.HealthQRCodeDao; import com.ccsens.health.persist.dao.HealthRecordsDao; +import com.ccsens.health.persist.dao.HealthRemarkFileDao; import com.ccsens.health.persist.dao.HealthTypeDao; import com.ccsens.util.*; import com.ccsens.util.bean.dto.QueryDto; @@ -37,8 +38,6 @@ import java.util.*; @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class HealthService implements IHealthService{ - @Autowired - private IUserService userService; @Autowired private Snowflake snowflake; @Autowired @@ -48,7 +47,7 @@ public class HealthService implements IHealthService{ @Autowired private HealthQRCodeDao healthQRCodeDao; @Autowired - private TallFeignClient tallFeignClient; + private HealthRemarkFileDao healthRemarkFileDao; /** * 上报健康信息 @@ -112,11 +111,31 @@ public class HealthService implements IHealthService{ healthQRCode.setQrcodePath(qrcodePath); healthQRCode.setTime(System.currentTimeMillis()); healthQRCodeDao.insertSelective(healthQRCode); + + //关联备注文件信息 + List healthRemarkFileInfoList = new ArrayList<>(); + if(CollectionUtil.isNotEmpty(healthInfo.getFileIdList())){ + for(Long fileId : healthInfo.getFileIdList()){ + HealthRemarkFile healthRemarkFile = healthRemarkFileDao.selectByPrimaryKey(fileId); + if(ObjectUtil.isNull(healthRemarkFile)){ + throw new BaseException(CodeEnum.NOT_DELIVER_FILE); + } + healthRemarkFile.setHealthRecordsId(healthRecords.getId()); + healthRemarkFileDao.updateByPrimaryKeySelective(healthRemarkFile); + //添加至返回信息 + HealthVo.HealthRemarkFileInfo fileInfo = new HealthVo.HealthRemarkFileInfo(); + fileInfo.setFileId(healthRemarkFile.getId()); + fileInfo.setFileName(healthRemarkFile.getName()); + fileInfo.setFilePath(healthRemarkFile.getPath()); + fileInfo.setTime(healthRemarkFile.getTime()); + healthRemarkFileInfoList.add(fileInfo); + } + } //6、查询健康信息和健康码地址返回前端 BeanUtil.copyProperties(healthRecords,healthInfoVo); healthInfoVo.setUserId(userId); healthInfoVo.setHealthCode(qrcodePath); - + healthInfoVo.setFileInfoList(healthRemarkFileInfoList); return healthInfoVo; } @@ -151,6 +170,7 @@ public class HealthService implements IHealthService{ } healthInfo.setHealthTypeName(healthType.getName()); } + } } //4、返回 @@ -243,4 +263,29 @@ public class HealthService implements IHealthService{ List vos = healthRecordsDao.list(param); return new PageInfo<>(vos); } + + /** + * 上传备注文件 + * @param filePath + * @param name + * @return + */ + @Override + public HealthVo.HealthRemarkFileInfo uploadRemarkFile(String filePath, String name) { + //添加文件File + HealthRemarkFile healthRemarkFile = new HealthRemarkFile(); + healthRemarkFile.setId(snowflake.nextId()); + healthRemarkFile.setName(name); + healthRemarkFile.setPath(PropUtil.qrCode + filePath); + healthRemarkFile.setTime(System.currentTimeMillis()); + healthRemarkFileDao.insertSelective(healthRemarkFile); + + //返回 + HealthVo.HealthRemarkFileInfo healthRemarkFileInfo = new HealthVo.HealthRemarkFileInfo(); + healthRemarkFileInfo.setFileId(healthRemarkFile.getId()); + healthRemarkFileInfo.setFileName(healthRemarkFile.getName()); + healthRemarkFileInfo.setFilePath(healthRemarkFile.getPath()); + healthRemarkFileInfo.setTime(healthRemarkFile.getTime()); + return healthRemarkFileInfo; + } } diff --git a/health/src/main/java/com/ccsens/health/service/IHealthService.java b/health/src/main/java/com/ccsens/health/service/IHealthService.java index 73ec40a0..f09fcbf3 100644 --- a/health/src/main/java/com/ccsens/health/service/IHealthService.java +++ b/health/src/main/java/com/ccsens/health/service/IHealthService.java @@ -24,4 +24,12 @@ public interface IHealthService { * @return */ PageInfo list(QueryDto params); + + /** + * 上传备注文件 + * @param filePath + * @param name + * @return + */ + HealthVo.HealthRemarkFileInfo uploadRemarkFile(String filePath, String name); } diff --git a/health/src/main/resources/application.yml b/health/src/main/resources/application.yml index 5abf2423..c3b11fb6 100644 --- a/health/src/main/resources/application.yml +++ b/health/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod + active: test + include: common, util-test diff --git a/health/src/main/resources/mapper_dao/HealthRecordDao.xml b/health/src/main/resources/mapper_dao/HealthRecordDao.xml index daa6e400..ccfeec31 100644 --- a/health/src/main/resources/mapper_dao/HealthRecordDao.xml +++ b/health/src/main/resources/mapper_dao/HealthRecordDao.xml @@ -11,8 +11,19 @@ - - + + + + + + + + + + + + + @@ -37,10 +48,21 @@ h.hospital as hHospital, h.touch_hubei as hTouchHuBei, h.touch_sick as hTouchSick, - h.animal_heat as hAnimalHeat, + h.touch_overseas as hTouchOverseas, + h.school_location as hSchoolLocation, + h.emergency_name as hEmergencyName, + h.emergency_phone as hEmergencyPhone, + h.remark as hRemark, + h.health_agreement as hHealthAgreement, + h.self_fill as hSelfFill, + f.id as fileId, + f.name as fileName, + f.path as filePath, + f.time as fTime, q.qrcode_path as hHealthCode from t_health_records h join t_health_qrcode q on q.health_records_id = h.id + left join t_health_remark_file f on f.health_records_id = h.id where h.rec_status = 0 and diff --git a/health/src/main/resources/mapper_raw/HealthRemarkFileMapper.xml b/health/src/main/resources/mapper_raw/HealthRemarkFileMapper.xml new file mode 100644 index 00000000..5e944504 --- /dev/null +++ b/health/src/main/resources/mapper_raw/HealthRemarkFileMapper.xml @@ -0,0 +1,258 @@ + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, name, path, health_records_id, time, created_at, updated_at, rec_status + + + + + delete from t_health_remark_file + where id = #{id,jdbcType=BIGINT} + + + delete from t_health_remark_file + + + + + + insert into t_health_remark_file (id, name, path, + health_records_id, time, created_at, + updated_at, rec_status) + values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{path,jdbcType=VARCHAR}, + #{healthRecordsId,jdbcType=BIGINT}, #{time,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) + + + insert into t_health_remark_file + + + id, + + + name, + + + path, + + + health_records_id, + + + time, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{path,jdbcType=VARCHAR}, + + + #{healthRecordsId,jdbcType=BIGINT}, + + + #{time,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_health_remark_file + + + id = #{record.id,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + path = #{record.path,jdbcType=VARCHAR}, + + + health_records_id = #{record.healthRecordsId,jdbcType=BIGINT}, + + + time = #{record.time,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_health_remark_file + set id = #{record.id,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + path = #{record.path,jdbcType=VARCHAR}, + health_records_id = #{record.healthRecordsId,jdbcType=BIGINT}, + time = #{record.time,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_health_remark_file + + + name = #{name,jdbcType=VARCHAR}, + + + path = #{path,jdbcType=VARCHAR}, + + + health_records_id = #{healthRecordsId,jdbcType=BIGINT}, + + + time = #{time,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_health_remark_file + set name = #{name,jdbcType=VARCHAR}, + path = #{path,jdbcType=VARCHAR}, + health_records_id = #{healthRecordsId,jdbcType=BIGINT}, + time = #{time,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 4904d4cc..8d1a1dd6 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -49,7 +49,7 @@ public enum CodeEnum { NOT_ROLE(37,"对不起,找不到该角色",true), NOT_DELIVER(38,"对不起,找不到对应的交付物",true), NOT_TASK(39,"对不起,找不到对应的任务",true), - NOT_DELIVER_FILE(40,"对不起,找不到文件",true), + NOT_DELIVER_FILE(40,"上传文件信息错误,请重试",true), IS_NOT_EXECUTOR(41,"对不起,您不是该任务负责人",true), NOT_CHECKER(42,"请选择检查人",true), SUB_TASK_IS_NOT_FINISH(43,"分组内任务未全部完成,无法完成任务",true), diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index 7f93a74b..543ba70d 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -70,6 +70,7 @@ public class WebConstant { public static final String UPLOAD_PATH_DELIVER = UPLOAD_PATH_BASE + File.separator + "delivers"; public static final String UPLOAD_PATH_DELIVER1 ="delivers"; + public static final String UPLOAD_PATH_REMARK ="remarks"; public static final String UPLOAD_PROJECT_WBS = UPLOAD_PATH_BASE + File.separator + "project"; public static final String URL_BASE = "https://api.ccsens.com/ptpro/uploads/"; public static final String TEST_URL = "https://test.tall.wiki/";