添加医生签名

This commit is contained in:
Euni4U 2025-04-03 16:40:37 +08:00
parent fdf77dba75
commit cc2ee3eafc
17 changed files with 496 additions and 5 deletions

View File

@ -0,0 +1,96 @@
package cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import javax.validation.constraints.*;
import javax.validation.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.IOException;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
import cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo.*;
import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectdoctor.InspectDoctorDO;
import cn.iocoder.yudao.module.inspect.service.inspectdoctor.InspectDoctorService;
@Tag(name = "管理后台 - 保存医生签名信息")
@RestController
@RequestMapping("/Inspect/doctor")
@Validated
public class InspectDoctorController {
@Resource
private InspectDoctorService doctorService;
@PostMapping("/create")
@Operation(summary = "创建保存医生签名信息")
public CommonResult<Integer> createDoctor(@Valid @RequestBody InspectDoctorSaveReqVO createReqVO) {
return success(doctorService.createDoctor(createReqVO));
}
@PutMapping("/update")
@Operation(summary = "更新保存医生签名信息")
public CommonResult<Boolean> updateDoctor(@Valid @RequestBody InspectDoctorSaveReqVO updateReqVO) {
doctorService.updateDoctor(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除保存医生签名信息")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<Boolean> deleteDoctor(@RequestParam("id") Integer id) {
doctorService.deleteDoctor(id);
return success(true);
}
@GetMapping("/get")
@Operation(summary = "获得保存医生签名信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
public CommonResult<InspectDoctorRespVO> getDoctor(@RequestParam("id") Integer id) {
InspectDoctorDO doctor = doctorService.getDoctor(id);
return success(BeanUtils.toBean(doctor, InspectDoctorRespVO.class));
}
@GetMapping("/getdoctor")
@Operation(summary = "获得医生信息")
public CommonResult<InspectDoctorRespVO> getDoctor(@RequestParam("doctorid") String doctorid) {
InspectDoctorDO doctor = doctorService.getDoctorid(doctorid);
return success(BeanUtils.toBean(doctor, InspectDoctorRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得保存医生签名信息分页")
public CommonResult<PageResult<InspectDoctorRespVO>> getDoctorPage(@Valid InspectDoctorPageReqVO pageReqVO) {
PageResult<InspectDoctorDO> pageResult = doctorService.getDoctorPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, InspectDoctorRespVO.class));
}
@GetMapping("/export-excel")
@Operation(summary = "导出保存医生签名信息 Excel")
@ApiAccessLog(operateType = EXPORT)
public void exportDoctorExcel(@Valid InspectDoctorPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<InspectDoctorDO> list = doctorService.getDoctorPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "保存医生签名信息.xls", "数据", InspectDoctorRespVO.class,
BeanUtils.toBean(list, InspectDoctorRespVO.class));
}
}

View File

@ -0,0 +1,29 @@
package cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
@Schema(description = "管理后台 - 保存医生签名信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InspectDoctorPageReqVO extends PageParam {
@Schema(description = "医生编号", example = "21762")
private String doctorid;
@Schema(description = "医生姓名", example = "李四")
private String doctorname;
@Schema(description = "医生签名图片")
private String doctorsign;
@Schema(description = "机构ID", example = "19138")
private String orgid;
@Schema(description = "机构名称", example = "张三")
private String orgname;
}

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 保存医生签名信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class InspectDoctorRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12200")
@ExcelProperty("主键")
private Integer id;
@Schema(description = "医生编号", example = "21762")
@ExcelProperty("医生编号")
private String doctorid;
@Schema(description = "医生姓名", example = "李四")
@ExcelProperty("医生姓名")
private String doctorname;
@Schema(description = "医生签名图片")
@ExcelProperty("医生签名图片")
private String doctorsign;
@Schema(description = "机构ID", example = "19138")
@ExcelProperty("机构ID")
private String orgid;
@Schema(description = "机构名称", example = "张三")
@ExcelProperty("机构名称")
private String orgname;
}

View File

@ -0,0 +1,30 @@
package cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
@Schema(description = "管理后台 - 保存医生签名信息新增/修改 Request VO")
@Data
public class InspectDoctorSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12200")
private Integer id;
@Schema(description = "医生编号", example = "21762")
private String doctorid;
@Schema(description = "医生姓名", example = "李四")
private String doctorname;
@Schema(description = "医生签名图片")
private String doctorsign;
@Schema(description = "机构ID", example = "19138")
private String orgid;
@Schema(description = "机构名称", example = "张三")
private String orgname;
}

View File

@ -469,14 +469,23 @@ public class InspectPatientController {
applylogService.createApplylog(logVO);
//获取配置项地址
ConfigDO config = configService.getConfigByKey("url.applytj");
//ConfigDO config = configService.getConfigByKey("url.applytj");
// 发送 POST 请求
String url = config.getValue();
//String url = config.getValue();
//获取头像地址
ConfigDO headconfig = configService.getConfigByKey("url.head");
String headurl = headconfig.getValue();
//ConfigDO headconfig = configService.getConfigByKey("url.head");
//String headurl = headconfig.getValue();
String response = HttpUtils.postJson(url, jsonRequestBody);
//String response = HttpUtils.postJson(url, jsonRequestBody);
// 记录接口返回值
InspectApplylogSaveReqVO responseLogVO = new InspectApplylogSaveReqVO();
responseLogVO.setTime(LocalDateTime.now());
responseLogVO.setMedicalsn(patientDO.getMedicalSn());
responseLogVO.setIdcard(patientDO.getCardId());
//responseLogVO.setJson(response);
applylogService.createApplylog(responseLogVO);
InspectPatientSaveReqVO updateReqVO = new InspectPatientSaveReqVO();
updateReqVO.setMedicalSn(patientDO.getMedicalSn());
updateReqVO.setHospitalNo("121526004609160793");//乌兰察布第四医院 暂时写死
@ -680,6 +689,12 @@ public class InspectPatientController {
patientService.medicalSnupdate(updateReqVO);
return success(true);
}
@PutMapping("/updatedoctorid")
@Operation(summary = "更新患者总检医生ID")
public CommonResult<Boolean> updatedoctorid(@Valid @RequestBody InspectPatientSaveReqVO updateReqVO) {
patientService.updatedoctorid(updateReqVO);
return success(true);
}
@GetMapping("/getReportAll")
@Operation(summary = "报告打印界面所需数据")

View File

@ -62,4 +62,9 @@ public class InspectPatientInfoVO {
@Schema(description = "是否打印导检单")
private Integer isprint;
@Schema(description = "总检医生id")
private Integer chiefinspectorid;
@Schema(description = "总检医生")
private String chiefinspector;
}

View File

@ -120,4 +120,11 @@ public class InspectPatientPageReqVO extends PageParam {
@Schema(description = "是否打印导检单")
private Integer isprint;
@Schema(description = "总检医生id")
private Integer chiefinspectorid;
@Schema(description = "总检医生")
private String chiefinspector;
}

View File

@ -138,4 +138,10 @@ public class InspectPatientRespVO {
@Schema(description = "是否打印导检单")
private Integer isprint;
@Schema(description = "总检医生id")
private Integer chiefinspectorid;
@Schema(description = "总检医生")
private String chiefinspector;
}

View File

@ -113,4 +113,10 @@ public class InspectPatientSaveReqVO {
@Schema(description = "是否打印导检单")
private Integer isprint;
@Schema(description = "总检医生id")
private Integer chiefinspectorid;
@Schema(description = "总检医生")
private String chiefinspector;
}

View File

@ -0,0 +1,53 @@
package cn.iocoder.yudao.module.inspect.dal.dataobject.inspectdoctor;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 保存医生签名信息 DO
*
* @author 赖浩
*/
@TableName("tb_doctor")
@KeySequence("tb_doctor_seq") // 用于 OraclePostgreSQLKingbaseDB2H2 数据库的主键自增如果是 MySQL 等数据库可不写
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InspectDoctorDO {
/**
* 主键
*/
@TableId
private Integer id;
/**
* 医生编号
*/
@TableField("doctorid")
private String doctorid;
/**
* 医生姓名
*/
@TableField("doctorname")
private String doctorname;
/**
* 医生签名图片
*/
@TableField("doctorsign")
private String doctorsign;
/**
* 机构ID
*/
@TableField("orgid")
private String orgid;
/**
* 机构名称
*/
@TableField("orgname")
private String orgname;
}

View File

@ -192,5 +192,15 @@ public class InspectPatientDO {
*/
@TableField("features")
private String features;
/**
* 医生ID
*/
@TableField("chiefinspectorid")
private Integer chiefinspectorid;
@TableField("chiefinspector")
private String chiefinspector;
}

View File

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.inspect.dal.mysql.inspectdoctor;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectdoctor.InspectDoctorDO;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo.*;
/**
* 保存医生签名信息 Mapper
*
* @author 赖浩
*/
@Mapper
@InterceptorIgnore(tenantLine = "true")
public interface InspectDoctorMapper extends BaseMapperX<InspectDoctorDO> {
default PageResult<InspectDoctorDO> selectPage(InspectDoctorPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<InspectDoctorDO>()
.eqIfPresent(InspectDoctorDO::getDoctorid, reqVO.getDoctorid())
.likeIfPresent(InspectDoctorDO::getDoctorname, reqVO.getDoctorname())
.eqIfPresent(InspectDoctorDO::getDoctorsign, reqVO.getDoctorsign())
.eqIfPresent(InspectDoctorDO::getOrgid, reqVO.getOrgid())
.likeIfPresent(InspectDoctorDO::getOrgname, reqVO.getOrgname())
.orderByDesc(InspectDoctorDO::getId));
}
}

View File

@ -0,0 +1,59 @@
package cn.iocoder.yudao.module.inspect.service.inspectdoctor;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo.*;
import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectdoctor.InspectDoctorDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
/**
* 保存医生签名信息 Service 接口
*
* @author 赖浩
*/
public interface InspectDoctorService {
/**
* 创建保存医生签名信息
*
* @param createReqVO 创建信息
* @return 编号
*/
Integer createDoctor(@Valid InspectDoctorSaveReqVO createReqVO);
/**
* 更新保存医生签名信息
*
* @param updateReqVO 更新信息
*/
void updateDoctor(@Valid InspectDoctorSaveReqVO updateReqVO);
/**
* 删除保存医生签名信息
*
* @param id 编号
*/
void deleteDoctor(Integer id);
/**
* 获得保存医生签名信息
*
* @param id 编号
* @return 保存医生签名信息
*/
InspectDoctorDO getDoctor(Integer id);
/*
* 根据医生ID获取信息
* */
InspectDoctorDO getDoctorid(String doctorid);
/**
* 获得保存医生签名信息分页
*
* @param pageReqVO 分页查询
* @return 保存医生签名信息分页
*/
PageResult<InspectDoctorDO> getDoctorPage(InspectDoctorPageReqVO pageReqVO);
}

View File

@ -0,0 +1,79 @@
package cn.iocoder.yudao.module.inspect.service.inspectdoctor;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import cn.iocoder.yudao.module.inspect.controller.admin.inspectdoctor.vo.*;
import cn.iocoder.yudao.module.inspect.dal.dataobject.inspectdoctor.InspectDoctorDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.inspect.dal.mysql.inspectdoctor.InspectDoctorMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
/**
* 保存医生签名信息 Service 实现类
*
* @author 赖浩
*/
@Service
@Validated
public class InspectDoctorServiceImpl implements InspectDoctorService {
@Resource
private InspectDoctorMapper doctorMapper;
@Override
public Integer createDoctor(InspectDoctorSaveReqVO createReqVO) {
// 插入
InspectDoctorDO doctor = BeanUtils.toBean(createReqVO, InspectDoctorDO.class);
doctorMapper.insert(doctor);
// 返回
return doctor.getId();
}
@Override
public void updateDoctor(InspectDoctorSaveReqVO updateReqVO) {
// 校验存在
validateDoctorExists(updateReqVO.getId());
// 更新
InspectDoctorDO updateObj = BeanUtils.toBean(updateReqVO, InspectDoctorDO.class);
doctorMapper.updateById(updateObj);
}
@Override
public void deleteDoctor(Integer id) {
// 校验存在
validateDoctorExists(id);
// 删除
doctorMapper.deleteById(id);
}
private void validateDoctorExists(Integer id) {
if (doctorMapper.selectById(id) == null) {
}
}
@Override
public InspectDoctorDO getDoctor(Integer id) {
return doctorMapper.selectById(id);
}
@Override
public InspectDoctorDO getDoctorid(String doctorid) {
// 使用 QueryWrapper doctorid 字段查询
return doctorMapper.selectOne(new QueryWrapper<InspectDoctorDO>()
.eq("doctorid", doctorid));
}
@Override
public PageResult<InspectDoctorDO> getDoctorPage(InspectDoctorPageReqVO pageReqVO) {
return doctorMapper.selectPage(pageReqVO);
}
}

View File

@ -41,6 +41,12 @@ public interface InspectPatientService {
*
* */
void medicalSnupdate(InspectPatientSaveReqVO updateReqVO);
/*
* 根据体检编号更新总检医生ID
*
* */
void updatedoctorid(InspectPatientSaveReqVO updateReqVO);
/*
* 更新中医体质详情
* */

View File

@ -99,6 +99,15 @@ public class InspectPatientServiceImpl implements InspectPatientService {
patientMapper.update(null, updateWrapper);
}
@Override
public void updatedoctorid(InspectPatientSaveReqVO updateReqVO)
{
LambdaUpdateWrapper<InspectPatientDO> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(InspectPatientDO::getMedicalSn, updateReqVO.getMedicalSn())
.set(InspectPatientDO::getChiefinspectorid, updateReqVO.getChiefinspectorid())
.set(InspectPatientDO::getChiefinspector, updateReqVO.getChiefinspector());
patientMapper.update(null, updateWrapper);
}
@Override
public void medicalSnfeaturesupdate(InspectPatientSaveReqVO updateReqVO)
{
LambdaUpdateWrapper<InspectPatientDO> updateWrapper = new LambdaUpdateWrapper<>();

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.inspect.dal.mysql.inspectdoctor.InspectDoctorMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
</mapper>