diff --git a/acupuncture-admin/pom.xml b/acupuncture-admin/pom.xml index fe6877f8..9d8ec683 100644 --- a/acupuncture-admin/pom.xml +++ b/acupuncture-admin/pom.xml @@ -9,7 +9,7 @@ 4.0.0 jar - acupuncture-admin + acupuncture-admin-ays web服务入口 diff --git a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ExternalController.java b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ExternalController.java index 69661606..8e540b45 100644 --- a/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ExternalController.java +++ b/acupuncture-admin/src/main/java/com/acupuncture/web/controller/web/ExternalController.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import com.acupuncture.common.annotation.Anonymous; import com.acupuncture.common.annotation.DataSource; import com.acupuncture.common.config.RuoYiConfig; @@ -196,13 +197,55 @@ public class ExternalController { @ApiOperation("2人员信息查询接口") @GetMapping("/http/getPersonInfo") @DataSource(DataSourceType.MASTER) - public Object getPersonInfo(@RequestParam("from") String from, @RequestParam("uid") String uid) { - log.info("获取人员信息:{},{}",from, uid); - checkoutData(from); - ExternalVo.Result query = externalService.query(from, uid); + public Object getPersonInfo( @RequestParam("uid") String uid) { + log.info("获取人员信息:{}", uid); + ExternalVo.UserInfo query = externalService.motionQueryMember(uid); if (query == null) { return "no person"; } return query; } + + @Anonymous + @ApiOperation("3.1体质测试类数据的实时传输") + @PostMapping("/http/motionUploadMemberInfo") + public Object motionAdd(@RequestBody String str){ + log.info("str:{}", str); + ExternalDto.RtcfInfo rtcfInfo = BeanUtil.copyProperties(new JSONObject(str), ExternalDto.RtcfInfo.class); + checkoutData(rtcfInfo.getUUID()); + log.info("上传运动数据dto123:{}",rtcfInfo); + if (externalService.motionAdd(rtcfInfo) == 0) { + return "upload fail"; + }else { + return "Fitness data upload ok"; + } + } + + @Anonymous + @ApiOperation("3.2体成分数据的上传") + @PostMapping("/http/motionUploadMemberTcfInfo") + public Object motionAddTcf(@RequestBody String str){ + log.info("str:{}", str); + ExternalDto.BcaData rtcfInfo = BeanUtil.copyProperties(new JSONObject(str), ExternalDto.BcaData.class); + checkoutData(rtcfInfo.getUUID()); + log.info("上传运动数据dto123:{}",rtcfInfo); + if (externalService.motionAddTcf(rtcfInfo) == 0) { + return "upload fail"; + }else { + return "BCA data upload ok"; + } + } + + + @ApiOperation("查询运动3.1信息") + @PostMapping("/http/queryMotionInfo") + public JsonResponse queryMotionInfo(@RequestBody @Validated ExternalDto.MemberDto dto){ + return JsonResponse.ok(externalService.queryMotionInfo(dto.getMemberId())); + } + + @ApiOperation("查询运动3.2信息") + @PostMapping("/http/queryMotionTcfInfo") + public JsonResponse queryMotionTcfInfo(@RequestBody @Validated ExternalDto.MemberDto dto){ + return JsonResponse.ok(externalService.queryMotionTcfInfo(dto.getMemberId())); + } } diff --git a/acupuncture-admin/src/main/resources/application-dev.yml b/acupuncture-admin/src/main/resources/application-dev.yml index 1b9c6176..958a7336 100644 --- a/acupuncture-admin/src/main/resources/application-dev.yml +++ b/acupuncture-admin/src/main/resources/application-dev.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://localhost:3306/acupuncture?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://localhost:3306/acupuncture_ays?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: q7510327 # 从库数据源 diff --git a/acupuncture-admin/src/main/resources/application-prod.yml b/acupuncture-admin/src/main/resources/application-prod.yml index f7db2c08..e671f65b 100644 --- a/acupuncture-admin/src/main/resources/application-prod.yml +++ b/acupuncture-admin/src/main/resources/application-prod.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://192.168.0.192:3306/acupuncture?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.0.192:3306/acupuncture_ays?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 username: root password: csylcx18aA # 从库数据源 @@ -66,7 +66,7 @@ spring: # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 + database: 1 # 密码 password: 123456 # 连接超时时间 diff --git a/acupuncture-admin/src/main/resources/application-stage.yml b/acupuncture-admin/src/main/resources/application-stage.yml index bd811e86..218c1814 100644 --- a/acupuncture-admin/src/main/resources/application-stage.yml +++ b/acupuncture-admin/src/main/resources/application-stage.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://sd.tall.wiki:3306/acupuncture?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://sd.tall.wiki:3306/acupuncture_ays?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: po3OynBO[M3579p6L7)o # 从库数据源 diff --git a/acupuncture-admin/src/main/resources/application.yml b/acupuncture-admin/src/main/resources/application.yml index 40a39b86..1e78a74d 100644 --- a/acupuncture-admin/src/main/resources/application.yml +++ b/acupuncture-admin/src/main/resources/application.yml @@ -17,7 +17,7 @@ acupuncture: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 20001 + port: 20002 servlet: # 应用的访问路径 context-path: / @@ -78,7 +78,7 @@ spring: # 端口,默认为6379 port: 6379 # 数据库索引 - database: 0 + database: 1 # 密码 password: # 连接超时时间 @@ -101,7 +101,7 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 1800 + expireTime: 18000 # MyBatis配置 mybatis: diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ExternalDto.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ExternalDto.java index bc30b81b..d251f248 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ExternalDto.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/dto/ExternalDto.java @@ -2,8 +2,10 @@ package com.acupuncture.system.domain.dto; import com.acupuncture.system.domain.po.UplReportImage; import com.acupuncture.system.domain.po.UplRtcfInfo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -215,4 +217,933 @@ public class ExternalDto { private String from; private String memberid; } + + + /** + * 3.1体质测试类数据的实时传输 + */ + public static class RtcfInfo { + @ApiModelProperty("当前测得体质测试类数据标题") + @JsonProperty("Title") + private String Title; + @ApiModelProperty("单位代码(或科室代码、项目代码)") + @JsonProperty("UUID") + private String UUID; + @ApiModelProperty("人员编号") + @JsonProperty("UID") + @NotNull(message = "人员编号不能为空") + private String UID; + @ApiModelProperty("测试序号(时间戳)") + @JsonProperty("TestID") + private String TestID; + @ApiModelProperty("测试日期") + @JsonProperty("TestDate") + @NotNull(message = "测试日期不能为空") + private String TestDate; + @ApiModelProperty("测试者姓名") + @JsonProperty("Name") + private String Name; + @ApiModelProperty("测试者性别,男1女2") + @JsonProperty("Sex") + private String Sex; + @ApiModelProperty("测试者出生年份") + @JsonProperty("BirthYear") + @JsonFormat(pattern = "yyyy") + private String BirthYear; + + private List data; + private Advice advice; + + //体测结果数据* + + public String getTitle() { + return Title; + } + + public void setTitle(String title) { + Title = title; + } + @JsonProperty("") + public String getUUID() { + return UUID; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + @JsonProperty("") + public String getUID() { + return UID; + } + + public void setUID(String UID) { + this.UID = UID; + } + @JsonProperty("") + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + @JsonProperty("") + public String getTestDate() { + return TestDate; + } + + public void setTestDate(String testDate) { + TestDate = testDate; + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + @JsonFormat(pattern = "yyyy") + public String getBirthYear() { + return BirthYear; + } + @JsonFormat(pattern = "yyyy") + public void setBirthYear(String birthYear) { + BirthYear = birthYear; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public Advice getAdvice() { + return advice; + } + + public void setAdvice(Advice advice) { + this.advice = advice; + } + + public static class Detail { + private String TestID; + @JsonProperty("Item") + private String Item; + @JsonProperty("Value") + private String Value; + @JsonProperty("Score") + private String Score; + + @JsonProperty("Item") + public String getItem() { + return Item; + } + + public void setItem(String item) { + Item = item; + } + + @JsonProperty("Value") + public String getValue() { + return Value; + } + + public void setValue(String value) { + Value = value; + } + + @JsonProperty("Score") + public String getScore() { + return Score; + } + + public void setScore(String score) { + Score = score; + } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + } + + public static class Advice { + @JsonProperty("SportPrinciple") + private String SportPrinciple; //运动原则 + @JsonProperty("Aerobic") + private String Aerobic; //有氧运动内容 + @JsonProperty("Strength") + private String Strength; //力量运动内容 + @JsonProperty("Flexibility") + private String Flexibility; //柔韧运动内容 + @JsonProperty("FunctionExcercise") + private String FunctionExcercise; //功能性练习内容 + @JsonProperty("Caution") + private String Caution; //注意事项 + private String TestID; + @JsonProperty("SportPrinciple") + public String getSportPrinciple() { + return SportPrinciple; + } + + public void setSportPrinciple(String sportPrinciple) { + SportPrinciple = sportPrinciple; + } + + @JsonProperty("Aerobic") + public String getAerobic() { + return Aerobic; + } + + public void setAerobic(String aerobic) { + Aerobic = aerobic; + } + + @JsonProperty("Strength") + public String getStrength() { + return Strength; + } + + public void setStrength(String strength) { + Strength = strength; + } + + @JsonProperty("Flexibility") + public String getFlexibility() { + return Flexibility; + } + + public void setFlexibility(String flexibility) { + Flexibility = flexibility; + } + + @JsonProperty("FunctionExcercise") + public String getFunctionExcercise() { + return FunctionExcercise; + } + + public void setFunctionExcercise(String functionExcercise) { + FunctionExcercise = functionExcercise; + } + + @JsonProperty("Caution") + public String getCaution() { + return Caution; + } + + public void setCaution(String caution) { + Caution = caution; + } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + } + } + + public static class BcaData { + @ApiModelProperty("当前测得体质测试类数据标题") + @JsonProperty("Title") + private String Title; + @ApiModelProperty("单位代码(或科室代码、项目代码)") + @JsonProperty("UUID") + private String UUID; + @ApiModelProperty("人员编号") + @JsonProperty("UID") + private String UID; + @ApiModelProperty("测试序号(时间戳)") + @JsonProperty("TestID") + private String TestID; + @ApiModelProperty("测试日期") + @JsonProperty("TestDate") + private String TestDate; + @ApiModelProperty("测试者姓名") + @JsonProperty("Name") + private String Name; + @ApiModelProperty("测试者性别,男1女2") + @JsonProperty("Sex") + private String Sex; + private Data data; + private Advice advice; + + public String getTitle() { + return Title; + } + + public void setTitle(String title) { + Title = title; + } + + public String getUUID() { + return UUID; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + + public String getUID() { + return UID; + } + + public void setUID(String UID) { + this.UID = UID; + } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + + public String getTestDate() { + return TestDate; + } + + public void setTestDate(String testDate) { + TestDate = testDate; + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public Advice getAdvice() { + return advice; + } + + public void setAdvice(Advice advice) { + this.advice = advice; + } + + public static class Data { + @JsonProperty("TestID") + private String TestID; + @JsonProperty("UID") + private String UID; + @JsonProperty("UUID") + private String UUID; + @JsonProperty("Name") + private String Name; + @JsonProperty("TestDate") + private String TestDate; + @JsonProperty("Sex") + private String Sex; + @JsonProperty("Weight") + private String Weight; //体重 + @JsonProperty("Fat") + private String Fat; //脂肪 + @JsonProperty("Bone") + private String Bone; //骨质 + @JsonProperty("Protein") + private String Protein; //蛋白质 + @JsonProperty("Water") + private String Water; //水分 + @JsonProperty("Muscle") + private String Muscle; //肌肉 + @JsonProperty("SMM") + private String SMM; //骨骼肌 + @JsonProperty("PBF") + private String PBF; //体脂百分比 + @JsonProperty("BMI") + private String BMI; //体质指数 + @JsonProperty("BMR") + private String BMR; //基础代谢 + @JsonProperty("Edema") + private String Edema; //水肿系数(2位小数) + @JsonProperty("VFI") + private String VFI; //内脏脂肪指数 + @JsonProperty("BodyAge") + private String BodyAge; //身体年龄 + @JsonProperty("Score") + private String Score; //健康评分 + @JsonProperty("BodyType") + private String BodyType; //体型判定 + @JsonProperty("Standard_weight") + private String Standard_weight; //目标体重 + @JsonProperty("Weight_control") + private String Weight_control; //体重控制 + @JsonProperty("Fat_control") + private String Fat_control; //脂肪控制量 + @JsonProperty("Muscle_control") + private String Muscle_control;//肌肉控制量 + @JsonProperty("ASMI") + private String ASMI; //四肢骨骼肌指数 + @JsonProperty("WeightMax") + private String WeightMax; //体重正常范围的高值 + @JsonProperty("WeightMin") + private String WeightMin; //体重正常范围的低值 + @JsonProperty("FatMax") + private String FatMax;//体重正常范围的高值 + @JsonProperty("FatMin") + private String FatMin; //体重正常范围的低值 + @JsonProperty("BoneMax") + private String BoneMax; //骨质正常范围的高值 + @JsonProperty("BoneMin") + private String BoneMin; //骨质正常范围的低值 + @JsonProperty("ProteinMax") + private String ProteinMax; //蛋白质正常范围的高值 + @JsonProperty("ProteinMin") + private String ProteinMin; //蛋白质正常范围的低值 + @JsonProperty("WaterMax") + private String WaterMax;//水分正常范围的高值 + @JsonProperty("WaterMin") + private String WaterMin; //水分正常范围的低值 + @JsonProperty("MuscleMax") + private String MuscleMax; //肌肉正常范围的高值 + @JsonProperty("MuscleMin") + private String MuscleMin; //肌肉正常范围的低值 + @JsonProperty("SMMMax") + private String SMMMax;//骨骼肌正常范围的高值 + @JsonProperty("SMMMin") + private String SMMMin;//骨骼肌正常范围的低值 + @JsonProperty("PBFMax") + private String PBFMax; //体脂率正常范围的高值 + @JsonProperty("PBFMin") + private String PBFMin; //体脂率正常范围的低值 + @JsonProperty("BMIMax") + private String BMIMax; //体质指数正常范围的高值 + @JsonProperty("BMIMin") + private String BMIMin; //体质指数正常范围的低值 + @JsonProperty("WHRMax") + private String WHRMax;//腰臀比正常范围的高值 + @JsonProperty("WHRMin") + private String WHRMin;//腰臀比正常范围的低值 + @JsonProperty("EdemaMax") + private String EdemaMax; //水肿系数正常范围的高值 + @JsonProperty("EdemaMin") + private String EdemaMin; //水肿系数正常范围的低值 + @JsonProperty("VFIMax") + private String VFIMax; //内脏脂肪指数正常范围的高值 + @JsonProperty("VFIMin") + private String VFIMin; //内脏脂肪指数正常范围的低值 + @JsonProperty("Diagnosis") + private String Diagnosis; //诊断结论(UTF-8编码) + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + + public String getUID() { + return UID; + } + + public void setUID(String UID) { + this.UID = UID; + } + + public String getUUID() { + return UUID; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getTestDate() { + return TestDate; + } + + public void setTestDate(String testDate) { + TestDate = testDate; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + + public String getWeight() { + return Weight; + } + + public void setWeight(String weight) { + Weight = weight; + } + + public String getFat() { + return Fat; + } + + public void setFat(String fat) { + Fat = fat; + } + + public String getBone() { + return Bone; + } + + public void setBone(String bone) { + Bone = bone; + } + + public String getProtein() { + return Protein; + } + + public void setProtein(String protein) { + Protein = protein; + } + + public String getWater() { + return Water; + } + + public void setWater(String waterx) { + Water = waterx; + } + + public String getMuscle() { + return Muscle; + } + + public void setMuscle(String muscle) { + Muscle = muscle; + } + + public String getSMM() { + return SMM; + } + + public void setSMM(String SMM) { + this.SMM = SMM; + } + + public String getPBF() { + return PBF; + } + + public void setPBF(String PBF) { + this.PBF = PBF; + } + + public String getBMI() { + return BMI; + } + + public void setBMI(String BMI) { + this.BMI = BMI; + } + + public String getBMR() { + return BMR; + } + + public void setBMR(String BMR) { + this.BMR = BMR; + } + + public String getEdema() { + return Edema; + } + + public void setEdema(String edema) { + Edema = edema; + } + + public String getVFI() { + return VFI; + } + + public void setVFI(String VFI) { + this.VFI = VFI; + } + + public String getBodyAge() { + return BodyAge; + } + + public void setBodyAge(String bodyAge) { + BodyAge = bodyAge; + } + + public String getScore() { + return Score; + } + + public void setScore(String score) { + Score = score; + } + + public String getBodyType() { + return BodyType; + } + + public void setBodyType(String bodyType) { + BodyType = bodyType; + } + + public String getStandard_weight() { + return Standard_weight; + } + + public void setStandard_weight(String standard_weight) { + Standard_weight = standard_weight; + } + + public String getWeight_control() { + return Weight_control; + } + + public void setWeight_control(String weight_control) { + Weight_control = weight_control; + } + + public String getFat_control() { + return Fat_control; + } + + public void setFat_control(String fat_control) { + Fat_control = fat_control; + } + + public String getMuscle_control() { + return Muscle_control; + } + + public void setMuscle_control(String muscle_control) { + Muscle_control = muscle_control; + } + + public String getASMI() { + return ASMI; + } + + public void setASMI(String ASMI) { + this.ASMI = ASMI; + } + + public String getWeightMax() { + return WeightMax; + } + + public void setWeightMax(String weightMax) { + WeightMax = weightMax; + } + + public String getWeightMin() { + return WeightMin; + } + + public void setWeightMin(String weightMin) { + WeightMin = weightMin; + } + + public String getFatMax() { + return FatMax; + } + + public void setFatMax(String fatMax) { + FatMax = fatMax; + } + + public String getFatMin() { + return FatMin; + } + + public void setFatMin(String fatMin) { + FatMin = fatMin; + } + + public String getBoneMax() { + return BoneMax; + } + + public void setBoneMax(String boneMax) { + BoneMax = boneMax; + } + + public String getBoneMin() { + return BoneMin; + } + + public void setBoneMin(String boneMin) { + BoneMin = boneMin; + } + + public String getProteinMax() { + return ProteinMax; + } + + public void setProteinMax(String proteinMax) { + ProteinMax = proteinMax; + } + + public String getProteinMin() { + return ProteinMin; + } + + public void setProteinMin(String proteinMin) { + ProteinMin = proteinMin; + } + + public String getWaterMax() { + return WaterMax; + } + + public void setWaterMax(String waterMax) { + WaterMax = waterMax; + } + + public String getWaterMin() { + return WaterMin; + } + + public void setWaterMin(String waterMin) { + WaterMin = waterMin; + } + + public String getMuscleMax() { + return MuscleMax; + } + + public void setMuscleMax(String muscleMax) { + MuscleMax = muscleMax; + } + + public String getMuscleMin() { + return MuscleMin; + } + + public void setMuscleMin(String muscleMin) { + MuscleMin = muscleMin; + } + + public String getSMMMax() { + return SMMMax; + } + + public void setSMMMax(String SMMMax) { + this.SMMMax = SMMMax; + } + + public String getSMMMin() { + return SMMMin; + } + + public void setSMMMin(String SMMMin) { + this.SMMMin = SMMMin; + } + + public String getPBFMax() { + return PBFMax; + } + + public void setPBFMax(String PBFMax) { + this.PBFMax = PBFMax; + } + + public String getPBFMin() { + return PBFMin; + } + + public void setPBFMin(String PBFMin) { + this.PBFMin = PBFMin; + } + + public String getBMIMax() { + return BMIMax; + } + + public void setBMIMax(String BMIMax) { + this.BMIMax = BMIMax; + } + + public String getBMIMin() { + return BMIMin; + } + + public void setBMIMin(String BMIMin) { + this.BMIMin = BMIMin; + } + + public String getWHRMax() { + return WHRMax; + } + + public void setWHRMax(String WHRMax) { + this.WHRMax = WHRMax; + } + + public String getWHRMin() { + return WHRMin; + } + + public void setWHRMin(String WHRMin) { + this.WHRMin = WHRMin; + } + + public String getEdemaMax() { + return EdemaMax; + } + + public void setEdemaMax(String edemaMax) { + EdemaMax = edemaMax; + } + + public String getEdemaMin() { + return EdemaMin; + } + + public void setEdemaMin(String edemaMin) { + EdemaMin = edemaMin; + } + + public String getVFIMax() { + return VFIMax; + } + + public void setVFIMax(String VFIMax) { + this.VFIMax = VFIMax; + } + + public String getVFIMin() { + return VFIMin; + } + + public void setVFIMin(String VFIMin) { + this.VFIMin = VFIMin; + } + + public String getDiagnosis() { + return Diagnosis; + } + + public void setDiagnosis(String diagnosis) { + Diagnosis = diagnosis; + } + } + + + public static class Advice { + @JsonProperty("TestID") + private String TestID; + private String PersonType; //*人员类型 + private String DailyEnergy; //日能量需求(单位:kcal) + private String DietPrinciple; //膳食原则 + private String StandardBreakfast; //示范食谱-早餐(使用\n换行,下同) + private String StandardLunch; //示范食谱-午餐 + private String StandardDinner; //示范食谱-晚餐 + private String StandardNutrition; //示范食谱-营养素 + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + + public String getPersonType() { + return PersonType; + } + + public void setPersonType(String personType) { + PersonType = personType; + } + + public String getDailyEnergy() { + return DailyEnergy; + } + + public void setDailyEnergy(String dailyEnergy) { + DailyEnergy = dailyEnergy; + } + + public String getDietPrinciple() { + return DietPrinciple; + } + + public void setDietPrinciple(String dietPrinciple) { + DietPrinciple = dietPrinciple; + } + + public String getStandardBreakfast() { + return StandardBreakfast; + } + + public void setStandardBreakfast(String standardBreakfast) { + StandardBreakfast = standardBreakfast; + } + + public String getStandardLunch() { + return StandardLunch; + } + + public void setStandardLunch(String standardLunch) { + StandardLunch = standardLunch; + } + + public String getStandardDinner() { + return StandardDinner; + } + + public void setStandardDinner(String standardDinner) { + StandardDinner = standardDinner; + } + + public String getStandardNutrition() { + return StandardNutrition; + } + + public void setStandardNutrition(String standardNutrition) { + StandardNutrition = standardNutrition; + } + } + } } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/ExternalVo.java b/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/ExternalVo.java index 66b52fee..19a7eac0 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/ExternalVo.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/domain/vo/ExternalVo.java @@ -1,10 +1,15 @@ package com.acupuncture.system.domain.vo; +import cn.hutool.core.date.DateUtil; +import com.acupuncture.system.domain.dto.ExternalDto; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiParam; import lombok.Data; +import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.List; /** @@ -235,45 +240,118 @@ public class ExternalVo { 运动功能测评数据 */ - @Data public static class UserInfo { + @JsonProperty("Title") @ApiModelProperty(value = "标题") private String Title; @ApiModelProperty(value = "组别代码(可为空)") + @JsonProperty("GID") private String GID; @ApiModelProperty(value = "人员编号") + @JsonProperty("UID") private String UID; @ApiModelProperty(value = "姓名") + @JsonProperty("Name") private String Name; @ApiModelProperty(value = "性别 (男1,女2)") + @JsonProperty("Sex") private String Sex; @ApiModelProperty(value = "身高(cm)") + @JsonProperty("Height") private String Height; @ApiModelProperty(value = "出生年") - private String BirthYear; + @JsonProperty("BirthYear") + private Date BirthYear; @ApiModelProperty(value = "电话(可为空)") + @JsonProperty("Phone") private String Phone; + @JsonProperty("TestID") + private String TestID; + @JsonProperty("TestID") + public String getTestID() { + return TestID; + } + + @JsonProperty("Title") + public String getTitle() { + return Title; + } + + @JsonProperty("GID") + public String getGID() { + return GID; + } + + @JsonProperty("UID") + public String getUID() { + return UID; + } + + @JsonProperty("Name") + public String getName() { + return Name; + } + + @JsonProperty("Sex") + public String getSex() { + if ("0".equals(Sex)) { + return "1"; + } + if ("1".equals(Sex)) { + return "2"; + } + return Sex; + } + + @JsonProperty("Height") + public String getHeight() { + return Height; + } + + @JsonProperty("BirthYear") + public String getBirthYear() { + if (BirthYear != null) { + return DateUtil.format(BirthYear, "yyyy"); + } + return null; + } + + @JsonProperty("Phone") + public String getPhone() { + return Phone; + } } + /** * 3.1体质测试类数据的实时传输 */ public static class RtcfInfo { @ApiModelProperty("当前测得体质测试类数据标题") + @JsonProperty("Title") private String Title; @ApiModelProperty("单位代码(或科室代码、项目代码)") + @JsonProperty("UUID") private String UUID; @ApiModelProperty("人员编号") + @JsonProperty("UID") + @NotNull(message = "人员编号不能为空") private String UID; @ApiModelProperty("测试序号(时间戳)") + @JsonProperty("TestID") private String TestID; @ApiModelProperty("测试日期") + @JsonProperty("TestDate") + @NotNull(message = "测试日期不能为空") private String TestDate; @ApiModelProperty("测试者姓名") + @JsonProperty("Name") private String Name; @ApiModelProperty("测试者性别,男1女2") + @JsonProperty("Sex") private String Sex; @ApiModelProperty("测试者出生年份") + @JsonProperty("BirthYear") private String BirthYear; private List data; @@ -288,7 +366,7 @@ public class ExternalVo { public void setTitle(String title) { Title = title; } - + @JsonProperty("") public String getUUID() { return UUID; } @@ -296,7 +374,7 @@ public class ExternalVo { public void setUUID(String UUID) { this.UUID = UUID; } - + @JsonProperty("") public String getUID() { return UID; } @@ -304,7 +382,7 @@ public class ExternalVo { public void setUID(String UID) { this.UID = UID; } - + @JsonProperty("") public String getTestID() { return TestID; } @@ -312,7 +390,7 @@ public class ExternalVo { public void setTestID(String testID) { TestID = testID; } - + @JsonProperty("") public String getTestDate() { return TestDate; } @@ -362,10 +440,15 @@ public class ExternalVo { } public static class Detail { + private String TestID; + @JsonProperty("Item") private String Item; + @JsonProperty("Value") private String Value; + @JsonProperty("Score") private String Score; + @JsonProperty("Item") public String getItem() { return Item; } @@ -374,6 +457,7 @@ public class ExternalVo { Item = item; } + @JsonProperty("Value") public String getValue() { return Value; } @@ -382,6 +466,7 @@ public class ExternalVo { Value = value; } + @JsonProperty("Score") public String getScore() { return Score; } @@ -389,16 +474,31 @@ public class ExternalVo { public void setScore(String score) { Score = score; } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } } public static class Advice { + @JsonProperty("SportPrinciple") private String SportPrinciple; //运动原则 + @JsonProperty("Aerobic") private String Aerobic; //有氧运动内容 + @JsonProperty("Strength") private String Strength; //力量运动内容 + @JsonProperty("Flexibility") private String Flexibility; //柔韧运动内容 + @JsonProperty("FunctionExcercise") private String FunctionExcercise; //功能性练习内容 + @JsonProperty("Caution") private String Caution; //注意事项 - + private String TestID; + @JsonProperty("SportPrinciple") public String getSportPrinciple() { return SportPrinciple; } @@ -407,6 +507,7 @@ public class ExternalVo { SportPrinciple = sportPrinciple; } + @JsonProperty("Aerobic") public String getAerobic() { return Aerobic; } @@ -415,6 +516,7 @@ public class ExternalVo { Aerobic = aerobic; } + @JsonProperty("Strength") public String getStrength() { return Strength; } @@ -423,6 +525,7 @@ public class ExternalVo { Strength = strength; } + @JsonProperty("Flexibility") public String getFlexibility() { return Flexibility; } @@ -431,6 +534,7 @@ public class ExternalVo { Flexibility = flexibility; } + @JsonProperty("FunctionExcercise") public String getFunctionExcercise() { return FunctionExcercise; } @@ -439,6 +543,7 @@ public class ExternalVo { FunctionExcercise = functionExcercise; } + @JsonProperty("Caution") public String getCaution() { return Caution; } @@ -446,137 +551,266 @@ public class ExternalVo { public void setCaution(String caution) { Caution = caution; } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } } } - /* - { -"Title: "CURRENT_BCA_DATA", //标题:BCA_DATA指体成分测试类数据 -"UUID": "TFHT", //单位代码(或科室代码、项目代码) -"UID": "123456", //人员编码 -"TestID": "20230124101235", //测试序号(时间戳) -"TestDate": "2023-01-24", //测试日期 -"Name": "张三", //测试者姓名 -"Sex": "1", //测试者性别,男1女2 -"data": -{ -"Weight" : "72.5", //体重 -"Fat": "23.1", //脂肪 -"Bone": "3.8", //骨质 -"Protein": "18.6", //蛋白质 -"Water": "33.5", //水分 -"Muscle": "40.1", //肌肉 -"SMM": "18.5", //骨骼肌 -"PBF": "22.1", //体脂百分比 -"BMI": "22.4", //体质指数 -"BMR": "1665", //基础代谢 -"Edema: "0.33", //水肿系数(2位小数) -"VFI": "12.0", //内脏脂肪指数 -"BodyAge": "23", //身体年龄 -"Score":"78.0", //健康评分 -"BodyType": "4", //体型判定 -"Standard_weight": "70.5", //目标体重 -"Weight_control": "2.0", //体重控制 -"Fat_control": "1.3", //脂肪控制量 -"Muscle_control": "0.7", //肌肉控制量 -"ASMI": "6.5", //四肢骨骼肌指数 - "WeightMax" : "84.5", //体重正常范围的高值 - "WeightMin" : "69.5", //体重正常范围的低值 - "FatMax" : "22.5", //体重正常范围的高值 - "FatMin" : "13.6", //体重正常范围的低值 - "BoneMax" : "3.7", //骨质正常范围的高值 - "BoneMin" : "3.1", //骨质正常范围的低值 - "ProteinMax" : "22.5", //蛋白质正常范围的高值 - "ProteinMin" : "17.5", //蛋白质正常范围的低值 - "WaterMax" : "43.6", //水分正常范围的高值 - "WaterMin" : "32.5", //水分正常范围的低值 - "MuscleMax" : "54.5", //肌肉正常范围的高值 - "MuscleMin" : "36.5", //肌肉正常范围的低值 - "SMMMax" : "32.5", //骨骼肌正常范围的高值 - "SMMMin" : "24.1", //骨骼肌正常范围的低值 - "PBFMax" : "20.0", //体脂率正常范围的高值 - "PBFMin" : "10.0", //体脂率正常范围的低值 - "BMIMax" : "18.5", //体质指数正常范围的高值 - "BMIMin" : "23.9", //体质指数正常范围的低值 - "WHRMax" : "0.7", //腰臀比正常范围的高值 - "WHRMin" : "0.8", //腰臀比正常范围的低值 - "EdemaMax" : "0.3", //水肿系数正常范围的高值 - "EdemaMin" : "0.35", //水肿系数正常范围的低值 - "VFIMax" : "5.0", //内脏脂肪指数正常范围的高值 - "VFIMin" : "10.0", //内脏脂肪指数正常范围的低值 - "Diagnosis": "身体脂肪偏高,无机盐偏低,水分偏低,蛋白质偏低,骨骼肌含量偏低,身体左右均衡" , //诊断结论(UTF-8编码) -}, -"advice": //每日膳食营养建议 -{ - "PersonType": "普通人", //*人员类型 - "DailyEnergy": "2250", //日能量需求(单位:kcal) - "DietPrinciple": "XXXXX", //膳食原则 - "StandardBreakfast": "XXXX", //示范食谱-早餐(使用\n换行,下同) - "StandardLunch": "XXXX", //示范食谱-午餐 - "StandardDinner": "XXXX", //示范食谱-晚餐 - "StandardNutrition": "XXXX", //示范食谱-营养素 -} -} - */ public static class BcaData { + @ApiModelProperty("当前测得体质测试类数据标题") + @JsonProperty("Title") private String Title; + @ApiModelProperty("单位代码(或科室代码、项目代码)") + @JsonProperty("UUID") private String UUID; + @ApiModelProperty("人员编号") + @JsonProperty("UID") private String UID; + @ApiModelProperty("测试序号(时间戳)") + @JsonProperty("TestID") private String TestID; + @ApiModelProperty("测试日期") + @JsonProperty("TestDate") private String TestDate; + @ApiModelProperty("测试者姓名") + @JsonProperty("Name") private String Name; + @ApiModelProperty("测试者性别,男1女2") + @JsonProperty("Sex") private String Sex; private Data data; private Advice advice; + public String getTitle() { + return Title; + } + + public void setTitle(String title) { + Title = title; + } + + public String getUUID() { + return UUID; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + + public String getUID() { + return UID; + } + + public void setUID(String UID) { + this.UID = UID; + } + + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + + public String getTestDate() { + return TestDate; + } + + public void setTestDate(String testDate) { + TestDate = testDate; + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + + public Data getData() { + return data; + } + + public void setData(Data data) { + this.data = data; + } + + public Advice getAdvice() { + return advice; + } + + public void setAdvice(Advice advice) { + this.advice = advice; + } public static class Data { + @JsonProperty("TestID") + private String TestID; + @JsonProperty("UID") + private String UID; + @JsonProperty("UUID") + private String UUID; + @JsonProperty("Name") + private String Name; + @JsonProperty("TestDate") + private String TestDate; + @JsonProperty("Sex") + private String Sex; + @JsonProperty("Weight") private String Weight; //体重 + @JsonProperty("Fat") private String Fat; //脂肪 + @JsonProperty("Bone") private String Bone; //骨质 + @JsonProperty("Protein") private String Protein; //蛋白质 - private String Waterx; //水分 + @JsonProperty("Water") + private String Water; //水分 + @JsonProperty("Muscle") private String Muscle; //肌肉 + @JsonProperty("SMM") private String SMM; //骨骼肌 + @JsonProperty("PBF") private String PBF; //体脂百分比 + @JsonProperty("BMI") private String BMI; //体质指数 + @JsonProperty("BMR") private String BMR; //基础代谢 + @JsonProperty("Edema") private String Edema; //水肿系数(2位小数) + @JsonProperty("VFI") private String VFI; //内脏脂肪指数 + @JsonProperty("BodyAge") private String BodyAge; //身体年龄 + @JsonProperty("Score") private String Score; //健康评分 + @JsonProperty("BodyType") private String BodyType; //体型判定 + @JsonProperty("Standard_weight") private String Standard_weight; //目标体重 + @JsonProperty("Weight_control") private String Weight_control; //体重控制 + @JsonProperty("Fat_control") private String Fat_control; //脂肪控制量 + @JsonProperty("Muscle_control") private String Muscle_control;//肌肉控制量 + @JsonProperty("ASMI") private String ASMI; //四肢骨骼肌指数 + @JsonProperty("WeightMax") private String WeightMax; //体重正常范围的高值 + @JsonProperty("WeightMin") private String WeightMin; //体重正常范围的低值 + @JsonProperty("FatMax") private String FatMax;//体重正常范围的高值 + @JsonProperty("FatMin") private String FatMin; //体重正常范围的低值 + @JsonProperty("BoneMax") private String BoneMax; //骨质正常范围的高值 + @JsonProperty("BoneMin") private String BoneMin; //骨质正常范围的低值 + @JsonProperty("ProteinMax") private String ProteinMax; //蛋白质正常范围的高值 + @JsonProperty("ProteinMin") private String ProteinMin; //蛋白质正常范围的低值 + @JsonProperty("WaterMax") private String WaterMax;//水分正常范围的高值 + @JsonProperty("WaterMin") private String WaterMin; //水分正常范围的低值 + @JsonProperty("MuscleMax") private String MuscleMax; //肌肉正常范围的高值 + @JsonProperty("MuscleMin") private String MuscleMin; //肌肉正常范围的低值 + @JsonProperty("SMMMax") private String SMMMax;//骨骼肌正常范围的高值 + @JsonProperty("SMMMin") private String SMMMin;//骨骼肌正常范围的低值 + @JsonProperty("PBFMax") private String PBFMax; //体脂率正常范围的高值 + @JsonProperty("PBFMin") private String PBFMin; //体脂率正常范围的低值 + @JsonProperty("BMIMax") private String BMIMax; //体质指数正常范围的高值 + @JsonProperty("BMIMin") private String BMIMin; //体质指数正常范围的低值 + @JsonProperty("WHRMax") private String WHRMax;//腰臀比正常范围的高值 + @JsonProperty("WHRMin") private String WHRMin;//腰臀比正常范围的低值 + @JsonProperty("EdemaMax") private String EdemaMax; //水肿系数正常范围的高值 + @JsonProperty("EdemaMin") private String EdemaMin; //水肿系数正常范围的低值 + @JsonProperty("VFIMax") private String VFIMax; //内脏脂肪指数正常范围的高值 + @JsonProperty("VFIMin") private String VFIMin; //内脏脂肪指数正常范围的低值 + @JsonProperty("Diagnosis") private String Diagnosis; //诊断结论(UTF-8编码) + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + + public String getUID() { + return UID; + } + + public void setUID(String UID) { + this.UID = UID; + } + + public String getUUID() { + return UUID; + } + + public void setUUID(String UUID) { + this.UUID = UUID; + } + + public String getName() { + return Name; + } + + public void setName(String name) { + Name = name; + } + + public String getTestDate() { + return TestDate; + } + + public void setTestDate(String testDate) { + TestDate = testDate; + } + + public String getSex() { + return Sex; + } + + public void setSex(String sex) { + Sex = sex; + } + public String getWeight() { return Weight; } @@ -609,12 +843,12 @@ public class ExternalVo { Protein = protein; } - public String getWaterx() { - return Waterx; + public String getWater() { + return Water; } - public void setWaterx(String waterx) { - Waterx = waterx; + public void setWater(String waterx) { + Water = waterx; } public String getMuscle() { @@ -940,6 +1174,8 @@ public class ExternalVo { public static class Advice { + @JsonProperty("TestID") + private String TestID; private String PersonType; //*人员类型 private String DailyEnergy; //日能量需求(单位:kcal) private String DietPrinciple; //膳食原则 @@ -948,6 +1184,14 @@ public class ExternalVo { private String StandardDinner; //示范食谱-晚餐 private String StandardNutrition; //示范食谱-营养素 + public String getTestID() { + return TestID; + } + + public void setTestID(String testID) { + TestID = testID; + } + public String getPersonType() { return PersonType; } @@ -1005,6 +1249,4 @@ public class ExternalVo { } } } - - } \ No newline at end of file diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java index 68959709..4cf74ab4 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/persist/dao/ExternalDao.java @@ -5,6 +5,7 @@ import com.acupuncture.system.domain.vo.DmsLoginUserVo; import com.acupuncture.system.domain.vo.ExternalVo; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; /** @@ -18,4 +19,70 @@ public interface ExternalDao { List select(@Param("query") ExternalDto.Query query); List selectByMemberId(@Param("query") ExternalDto.Query query); + + /** + * 运动功能测评获取人员信息 + * @param memberid 门诊号/住院号 + * @return + */ + ExternalVo.UserInfo motionQueryMember(@Param("memberid") String memberid); + + int motionAdd(@Param("rtcfInfoDto") ExternalDto.RtcfInfo rtcfInfoDto); + + /** + * 查询是否已有主测试记录 + */ + ExternalVo.UserInfo motionQueryMemberInfo(@Param("memberid") String memberid, + @Param("testData")Date testData, + @Param("Title") String Title); + + /** + * 体质测试类数据的实时传输 体测结果数据 + * @param dto + * @return + */ + int motionAddDetail(@Param("list") List dto); + + int motionAddAdvice(@Param("dto") ExternalDto.RtcfInfo.Advice dto); + + + /** + * 3.2 添加体成分数据 + * @param dto + * @return + */ + int motionAddTcf(@Param("dto") ExternalDto.BcaData.Data dto); + + int motionAddTcfMain(@Param("dto") ExternalDto.BcaData dto); + + int motionAddTcfAdvice(@Param("dto") ExternalDto.BcaData.Advice dto); + + int delMain(@Param("uId") String uId, + @Param("Title") String Title); + + int delData(@Param("TestID") String TestID); + + int delAdvice(@Param("TestID") String TestID); + + int delRecord(@Param("TestID") String TestID); + + int delBcaAdvice(@Param("TestID") String TestID); + + //前台同步查询运动数据 + + ExternalVo.RtcfInfo queryMotionInfo(@Param("memberid")String memberid, + @Param("Title") String Title); + + List queryMotionDetail(@Param("TestID")String TestID); + + ExternalVo.RtcfInfo.Advice queryMotionAdvice(@Param("TestID")String TestID); + + + ExternalVo.BcaData queryMotionTcfInfo(@Param("memberid")String memberid, + @Param("Title") String Title); + + ExternalVo.BcaData.Data queryMotionTcfData(@Param("TestID")String TestID); + + ExternalVo.BcaData.Advice queryMotionTcfAdvice(@Param("TestID")String TestID); + } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/ExternalService.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/ExternalService.java index 57f13367..cccce6c3 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/ExternalService.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/ExternalService.java @@ -54,4 +54,28 @@ public interface ExternalService { */ UplReportImage selectReportByMemberId(Long id); + + /** + * 运动功能测评获取人员信息 + * @param memberid 门诊号/住院号 + * @return + */ + ExternalVo.UserInfo motionQueryMember(String memberid); + + /** + * 上传数据 + * @return + */ + int motionAdd(ExternalDto.RtcfInfo rtcfInfoDto); + + /** + * 上传数据 + * @return + */ + int motionAddTcf(ExternalDto.BcaData bcaData); + + + ExternalVo.RtcfInfo queryMotionInfo(String memberid); + + ExternalVo.BcaData queryMotionTcfInfo(String memberid); } diff --git a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java index 2e6478f1..da162796 100644 --- a/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java +++ b/acupuncture-system/src/main/java/com/acupuncture/system/service/impl/ExternalServiceImpl.java @@ -2,6 +2,7 @@ package com.acupuncture.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.acupuncture.common.core.redis.RedisCache; @@ -15,6 +16,8 @@ import com.acupuncture.system.persist.mapper.UplReportImageMapper; import com.acupuncture.system.persist.mapper.UplRtcfInfoMapper; import com.acupuncture.system.service.ExternalService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; @@ -27,6 +30,7 @@ import java.util.List; * @description: */ @Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class ExternalServiceImpl implements ExternalService { @Resource @@ -220,4 +224,82 @@ public class ExternalServiceImpl implements ExternalService { } return new UplReportImage(); } + + @Override + public ExternalVo.UserInfo motionQueryMember(String memberid) { + return externalDao.motionQueryMember(memberid); + } + + @Override + public int motionAdd(ExternalDto.RtcfInfo rtcfInfoDto) { + //查询今日是否已有测试数据, 如有则删除后新增 + ExternalVo.UserInfo userInfo = externalDao.motionQueryMemberInfo(rtcfInfoDto.getUID(), DateUtil.parse(rtcfInfoDto.getTestDate(), "yyyy-MM-dd"), rtcfInfoDto.getTitle()); + if (userInfo != null) { + //删除数据 + externalDao.delMain(userInfo.getUID(), "CURRENT_FIT_DATA"); + externalDao.delData(userInfo.getTestID()); + externalDao.delAdvice(userInfo.getTestID()); + } + + ExternalDto.RtcfInfo.Advice advice = rtcfInfoDto.getAdvice(); + List data = rtcfInfoDto.getData(); + if (advice != null) { + advice.setTestID(rtcfInfoDto.getTestID()); + externalDao.motionAddAdvice(advice); + } + if (CollectionUtil.isNotEmpty(data)) { + for (ExternalDto.RtcfInfo.Detail datum : data) { + datum.setTestID(rtcfInfoDto.getTestID()); + } + externalDao.motionAddDetail(data); + } + return externalDao.motionAdd(rtcfInfoDto); + } + + @Override + public int motionAddTcf(ExternalDto.BcaData bcaData) { + //查询今日是否已有测试数据, 如有则删除后新增 + ExternalVo.UserInfo userInfo = externalDao.motionQueryMemberInfo(bcaData.getUID(), DateUtil.parse(bcaData.getTestDate(), "yyyy-MM-dd"), bcaData.getTitle()); + if (userInfo != null) { + //删除数据 + externalDao.delMain(userInfo.getUID(), "CURRENT_BCA_DATA"); + externalDao.delRecord(userInfo.getUID()); + externalDao.delBcaAdvice(userInfo.getUID()); + } + + if (bcaData.getData() != null) { + bcaData.getData().setName(bcaData.getName()); + bcaData.getData().setTestID(bcaData.getTestID()); + bcaData.getData().setUUID(bcaData.getUUID()); + bcaData.getData().setSex(bcaData.getSex()); + bcaData.getData().setUID(bcaData.getUID()); + bcaData.getData().setTestDate(bcaData.getTestDate()); + externalDao.motionAddTcf(bcaData.getData()); + } + if (bcaData.getAdvice() != null) { + bcaData.getAdvice().setTestID(bcaData.getTestID()); + externalDao.motionAddTcfAdvice(bcaData.getAdvice()); + } + return externalDao.motionAddTcfMain(bcaData); + } + + @Override + public ExternalVo.RtcfInfo queryMotionInfo(String memberid) { + ExternalVo.RtcfInfo currentFitData = externalDao.queryMotionInfo(memberid, "CURRENT_FIT_DATA"); + if (currentFitData != null) { + currentFitData.setData(externalDao.queryMotionDetail(currentFitData.getTestID())); + currentFitData.setAdvice(externalDao.queryMotionAdvice(currentFitData.getTestID())); + } + return currentFitData; + } + + @Override + public ExternalVo.BcaData queryMotionTcfInfo(String memberid) { + ExternalVo.BcaData bcaData = externalDao.queryMotionTcfInfo(memberid, "CURRENT_BCA_DATA"); + if (bcaData != null) { + bcaData.setData(externalDao.queryMotionTcfData(bcaData.getTestID())); + bcaData.setAdvice(externalDao.queryMotionTcfAdvice(bcaData.getTestID())); + } + return bcaData; + } } diff --git a/acupuncture-system/src/main/resources/mapper/dao/ExternalDao.xml b/acupuncture-system/src/main/resources/mapper/dao/ExternalDao.xml index 9880a7b7..0c2bfc6d 100644 --- a/acupuncture-system/src/main/resources/mapper/dao/ExternalDao.xml +++ b/acupuncture-system/src/main/resources/mapper/dao/ExternalDao.xml @@ -49,4 +49,390 @@ + + + + insert into + fit_test_main + ( + TestID, + Title, + UUID, + UID, + TestDate, + Name, + Sex, + BirthYear + ) + values + ( + #{rtcfInfoDto.TestID}, + #{rtcfInfoDto.title}, + #{rtcfInfoDto.UUID}, + #{rtcfInfoDto.UID}, + #{rtcfInfoDto.testDate}, + #{rtcfInfoDto.Name}, + #{rtcfInfoDto.Sex}, + #{rtcfInfoDto.BirthYear} + ) + + + + + + INSERT INTO fit_test_data (TestID, ItemCode, TestValue, Score) + VALUES + + (#{item.TestID}, #{item.Item}, #{item.Value}, #{item.Score}) + + + + + insert into + fit_test_advice + ( + TestID, + SportPrinciple, + Aerobic, + Strength, + Flexibility, + FunctionExcercise, + Caution + ) + values + ( + #{dto.TestID}, + #{dto.SportPrinciple}, + #{dto.Aerobic}, + #{dto.Strength}, + #{dto.Flexibility}, + #{dto.FunctionExcercise}, + #{dto.Caution} + ) + + + + insert into fit_test_records + ( + TestID, + UUID, + UID, + TestDate, + Name, + Sex, + Weight, + Fat, + Bone, + Protein, + Water, + Muscle, + SMM, + PBF, + BMI, + BMR, + Edema, + VFI, + BodyAge, + Score, + BodyType, + Standard_weight, + Weight_control, + Fat_control, + Muscle_control, + ASMI, + WeightMax, + WeightMin, + FatMax, + FatMin, + BoneMax, + BoneMin, + ProteinMax, + ProteinMin, + WaterMax, + WaterMin, + MuscleMax, + MuscleMin, + SMMMax, + SMMMin, + PBFMax, + PBFMin, + BMIMax, + BMIMin, + WHRMax, + WHRMin, + EdemaMax, + EdemaMin, + VFIMax, + VFIMin, + Diagnosis) + values ( + #{dto.TestID}, + #{dto.UUID}, + #{dto.UID}, + #{dto.TestDate}, + #{dto.Name}, + #{dto.Sex}, + #{dto.Weight}, + #{dto.Fat}, + #{dto.Bone}, + #{dto.Protein}, + #{dto.Water}, + #{dto.Muscle}, + #{dto.SMM}, + #{dto.PBF}, + #{dto.BMI}, + #{dto.BMR}, + #{dto.Edema}, + #{dto.VFI}, + #{dto.BodyAge}, + #{dto.Score}, + #{dto.BodyType}, + #{dto.Standard_weight}, + #{dto.Weight_control}, + #{dto.Fat_control}, + #{dto.Muscle_control}, + #{dto.ASMI}, + #{dto.WeightMax}, + #{dto.WeightMin}, + #{dto.FatMax}, + #{dto.FatMin}, + #{dto.BoneMax}, + #{dto.BoneMin}, + #{dto.ProteinMax}, + #{dto.ProteinMin}, + #{dto.WaterMax}, + #{dto.WaterMin}, + #{dto.MuscleMax}, + #{dto.MuscleMin}, + #{dto.SMMMax}, + #{dto.SMMMin}, + #{dto.PBFMax}, + #{dto.PBFMin}, + #{dto.BMIMax}, + #{dto.BMIMin}, + #{dto.WHRMax}, + #{dto.WHRMin}, + #{dto.EdemaMax}, + #{dto.EdemaMin}, + #{dto.VFIMax}, + #{dto.VFIMin}, + #{dto.Diagnosis} + ) + + + + insert into + fit_test_main + ( + TestID, + Title, + UUID, + UID, + TestDate, + Name, + Sex + ) + values + ( + #{dto.TestID}, + #{dto.title}, + #{dto.UUID}, + #{dto.UID}, + #{dto.testDate}, + #{dto.Name}, + #{dto.Sex} + ) + + + + insert into fit_bca_advice(TestID, + PersonType, + DailyEnergy, + DietPrinciple, + StandardBreakfast, + StandardLunch, + StandardDinner, + StandardNutrition) + values ( #{dto.TestID}, + #{dto.PersonType}, + #{dto.DailyEnergy}, + #{dto.DietPrinciple}, + #{dto.StandardBreakfast}, + #{dto.StandardLunch}, + #{dto.StandardDinner}, + #{dto.StandardNutrition}) + + + + delete from fit_test_main where UID = #{uId} and Title = #{Title} + + + + delete from fit_test_advice where TestID = #{TestID} + + + + delete from fit_test_data where TestID = #{TestID} + + + + delete from fit_test_records where TestID = #{TestID} + + + + delete from fit_bca_advice where TestID = #{TestID} + + + + + + + + + + + + + +