healthbody

This commit is contained in:
sxu 2025-03-13 09:37:39 +08:00
parent 3a2a90fe24
commit 9d0284a032
7 changed files with 245 additions and 7 deletions

View File

@ -0,0 +1,77 @@
package com.bonus.canteen.core.nutrition.common.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.bonus.canteen.core.nutrition.common.vo.HealthCustMedicalReportProjectVO;
import java.time.LocalDate;
import java.util.List;
@ApiModel("编辑人员体检报告")
public class HealthCustMedicalReportEditDTO {
@ApiModelProperty("人员id")
private Long custId;
@ApiModelProperty("体检id")
private Long medicalId;
@ApiModelProperty("体检日期")
private LocalDate medicalDate;
@ApiModelProperty("体检机构")
private String medicalMechanism;
@ApiModelProperty("体检模板id")
private Long medicalTemplateId;
@ApiModelProperty("体检报告项目")
private List<HealthCustMedicalReportProjectVO> reportProjectVOS;
public Long getCustId() {
return this.custId;
}
public Long getMedicalId() {
return this.medicalId;
}
public LocalDate getMedicalDate() {
return this.medicalDate;
}
public String getMedicalMechanism() {
return this.medicalMechanism;
}
public Long getMedicalTemplateId() {
return this.medicalTemplateId;
}
public List<HealthCustMedicalReportProjectVO> getReportProjectVOS() {
return this.reportProjectVOS;
}
public void setCustId(final Long custId) {
this.custId = custId;
}
public void setMedicalId(final Long medicalId) {
this.medicalId = medicalId;
}
public void setMedicalDate(final LocalDate medicalDate) {
this.medicalDate = medicalDate;
}
public void setMedicalMechanism(final String medicalMechanism) {
this.medicalMechanism = medicalMechanism;
}
public void setMedicalTemplateId(final Long medicalTemplateId) {
this.medicalTemplateId = medicalTemplateId;
}
public void setReportProjectVOS(final List<HealthCustMedicalReportProjectVO> reportProjectVOS) {
this.reportProjectVOS = reportProjectVOS;
}
public String toString() {
Long var10000 = this.getCustId();
return "HealthCustMedicalReportEditDTO(custId=" + var10000 + ", medicalId=" + this.getMedicalId() + ", medicalDate=" + String.valueOf(this.getMedicalDate()) + ", medicalMechanism=" + this.getMedicalMechanism() + ", medicalTemplateId=" + this.getMedicalTemplateId() + ", reportProjectVOS=" + String.valueOf(this.getReportProjectVOS()) + ")";
}
}

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.nutrition.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bonus.canteen.core.nutrition.common.model.HealthMedicalReportTemplate; import com.bonus.canteen.core.nutrition.common.model.HealthMedicalReportTemplate;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportDetailVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportProjectVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO; import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -11,4 +13,9 @@ import java.util.List;
@Mapper @Mapper
public interface HealthMedicalReportTmplMapper extends BaseMapper<HealthMedicalReportTemplate> { public interface HealthMedicalReportTmplMapper extends BaseMapper<HealthMedicalReportTemplate> {
List<HealthMedicalReportTmplVO> listTemplate(); List<HealthMedicalReportTmplVO> listTemplate();
List<HealthMedicalReportProjectVO> listReportProject(@Param("medicalTemplateId") Long medicalTemplateId);
List<HealthMedicalReportDetailVO> listReportDetail(@Param("medicalProjectId") Long medicalProjectId);
} }

View File

@ -1,17 +1,12 @@
package com.bonus.canteen.core.nutrition.common.service; package com.bonus.canteen.core.nutrition.common.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.bonus.canteen.core.nutrition.common.mapper.HealthMedicalReportTmplMapper; import com.bonus.canteen.core.nutrition.common.mapper.HealthMedicalReportTmplMapper;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportDetailVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportProjectVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO; import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.lang.invoke.SerializedLambda; import java.lang.invoke.SerializedLambda;
import java.util.Iterator; import java.util.Iterator;
@ -27,4 +22,21 @@ public class HealthMedicalReportTmplService {
return this.healthMedicalReportTmplMapper.listTemplate(); return this.healthMedicalReportTmplMapper.listTemplate();
} }
public List<HealthMedicalReportProjectVO> getTemplateInfoByTmplId(Long templateId) {
List<HealthMedicalReportProjectVO> healthMedicalReportProjectVOS = this.healthMedicalReportTmplMapper.listReportProject(templateId);
if (CollectionUtil.isEmpty(healthMedicalReportProjectVOS)) {
return healthMedicalReportProjectVOS;
} else {
Iterator var3 = healthMedicalReportProjectVOS.iterator();
while(var3.hasNext()) {
HealthMedicalReportProjectVO project = (HealthMedicalReportProjectVO)var3.next();
List<HealthMedicalReportDetailVO> medicalReportDetailVOList = this.healthMedicalReportTmplMapper.listReportDetail(project.getMedicalProjectId());
project.setMedicalReportDetailVOList(medicalReportDetailVOList);
}
return healthMedicalReportProjectVOS;
}
}
} }

View File

@ -0,0 +1,53 @@
package com.bonus.canteen.core.nutrition.common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel("体检模板项目详情")
public class HealthMedicalReportDetailVO {
@ApiModelProperty("体检项目明细id")
private Long medicalProjectDetailId;
@ApiModelProperty("体检项目明细名称")
private String medicalProjectDetailName;
@ApiModelProperty("单位")
private String medicalProjectDetailUnit;
@ApiModelProperty("参考值")
private String medicalProjectDetailReference;
public Long getMedicalProjectDetailId() {
return this.medicalProjectDetailId;
}
public String getMedicalProjectDetailName() {
return this.medicalProjectDetailName;
}
public String getMedicalProjectDetailUnit() {
return this.medicalProjectDetailUnit;
}
public String getMedicalProjectDetailReference() {
return this.medicalProjectDetailReference;
}
public void setMedicalProjectDetailId(final Long medicalProjectDetailId) {
this.medicalProjectDetailId = medicalProjectDetailId;
}
public void setMedicalProjectDetailName(final String medicalProjectDetailName) {
this.medicalProjectDetailName = medicalProjectDetailName;
}
public void setMedicalProjectDetailUnit(final String medicalProjectDetailUnit) {
this.medicalProjectDetailUnit = medicalProjectDetailUnit;
}
public void setMedicalProjectDetailReference(final String medicalProjectDetailReference) {
this.medicalProjectDetailReference = medicalProjectDetailReference;
}
public String toString() {
Long var10000 = this.getMedicalProjectDetailId();
return "HealthMedicalReportDetailVO(medicalProjectDetailId=" + var10000 + ", medicalProjectDetailName=" + this.getMedicalProjectDetailName() + ", medicalProjectDetailUnit=" + this.getMedicalProjectDetailUnit() + ", medicalProjectDetailReference=" + this.getMedicalProjectDetailReference() + ")";
}
}

View File

@ -0,0 +1,44 @@
package com.bonus.canteen.core.nutrition.common.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@ApiModel("体检报告模板项目")
public class HealthMedicalReportProjectVO {
@ApiModelProperty("体检项目id")
private Long medicalProjectId;
@ApiModelProperty("体检项目名称")
private String medicalProjectName;
@ApiModelProperty("模板项目详情")
private List<HealthMedicalReportDetailVO> medicalReportDetailVOList;
public Long getMedicalProjectId() {
return this.medicalProjectId;
}
public String getMedicalProjectName() {
return this.medicalProjectName;
}
public List<HealthMedicalReportDetailVO> getMedicalReportDetailVOList() {
return this.medicalReportDetailVOList;
}
public void setMedicalProjectId(final Long medicalProjectId) {
this.medicalProjectId = medicalProjectId;
}
public void setMedicalProjectName(final String medicalProjectName) {
this.medicalProjectName = medicalProjectName;
}
public void setMedicalReportDetailVOList(final List<HealthMedicalReportDetailVO> medicalReportDetailVOList) {
this.medicalReportDetailVOList = medicalReportDetailVOList;
}
public String toString() {
Long var10000 = this.getMedicalProjectId();
return "HealthMedicalReportProjectVO(medicalProjectId=" + var10000 + ", medicalProjectName=" + this.getMedicalProjectName() + ", medicalReportDetailVOList=" + String.valueOf(this.getMedicalReportDetailVOList()) + ")";
}
}

View File

@ -1,13 +1,16 @@
package com.bonus.canteen.core.nutrition.mobile.controller; package com.bonus.canteen.core.nutrition.mobile.controller;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.bonus.canteen.core.nutrition.common.dto.HealthCustMedicalReportEditDTO;
import com.bonus.canteen.core.nutrition.common.vo.HealthCustMedicalReportProjectVO; import com.bonus.canteen.core.nutrition.common.vo.HealthCustMedicalReportProjectVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportProjectVO;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.canteen.core.common.utils.HeaderFetchUtil; import com.bonus.canteen.core.common.utils.HeaderFetchUtil;
import com.bonus.canteen.core.nutrition.common.service.HealthCustMedicalReportService; import com.bonus.canteen.core.nutrition.common.service.HealthCustMedicalReportService;
import com.bonus.canteen.core.nutrition.common.service.HealthMedicalReportTmplService; import com.bonus.canteen.core.nutrition.common.service.HealthMedicalReportTmplService;
import com.bonus.canteen.core.nutrition.common.vo.HealthCustMedicalReportVO; import com.bonus.canteen.core.nutrition.common.vo.HealthCustMedicalReportVO;
import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO; import com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportTmplVO;
import com.bonus.common.core.web.domain.AjaxResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -51,6 +54,27 @@ public class HealthMobileMedicalReportController {
return this.healthMedicalReportTmplService.listTemplate(); return this.healthMedicalReportTmplService.listTemplate();
} }
@PostMapping({"/get-template-info"})
// @RequiresGuest
@ApiOperation("根据体检报告模板id查询模板详情")
public List<HealthMedicalReportProjectVO> getTemplateInfo(Long templateId) {
return this.healthMedicalReportTmplService.getTemplateInfoByTmplId(templateId);
}
@PostMapping({"/edit-medicalreport"})
// @RequiresGuest
@ApiOperation("编辑人员体检报告")
public AjaxResult editMedicalReport(@RequestBody HealthCustMedicalReportEditDTO dto) {
return this.healthCustMedicalReportService.editMedicalReport(dto);
}
@PostMapping({"/delete-medicalreport"})
// @RequiresGuest
@ApiOperation("删除人员体检报告")
public void deleteMedicalReport(Long medicalId) {
this.healthCustMedicalReportService.deleteMedicalReport(medicalId);
}
protected String getOpenidByHeaders(Map<String, String> headers) { protected String getOpenidByHeaders(Map<String, String> headers) {
return HeaderFetchUtil.getValueFromHeadersIgnoreCase(headers, "openid"); return HeaderFetchUtil.getValueFromHeadersIgnoreCase(headers, "openid");
} }

View File

@ -11,4 +11,25 @@
health_medical_report_template health_medical_report_template
</select> </select>
<select id="listReportProject" resultType="com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportProjectVO">
SELECT medical_project_id,
medical_project_name
FROM health_medical_report_project
WHERE medical_template_id = #{medicalTemplateId}
ORDER BY
medical_project_id
</select>
<select id="listReportDetail" resultType="com.bonus.canteen.core.nutrition.common.vo.HealthMedicalReportDetailVO">
SELECT medical_project_id,
medical_project_detail_id,
medical_project_detail_name,
medical_project_detail_unit,
medical_project_detail_reference
FROM health_medical_report_detail
WHERE medical_project_id = #{medicalProjectId}
ORDER BY
medical_project_detail_id
</select>
</mapper> </mapper>