feat(healthcare): 添加医保状态验证功能

- 在Mapper接口中新增verifyInsuranceStatus方法,用于查询患者医保缴费状态- 在Service接口和实现类中添加对应的医保验证业务逻辑
- 在Controller中新增GET接口,提供医保状态校验的HTTP访问入口- 引入LocalDate用于获取当前年份,与数据库中的缴费年份进行比对
- 添加了MyBatis注解支持,包括@Param和@Select,以简化SQL映射配置
This commit is contained in:
2025-10-28 11:16:17 +08:00
parent 959658e0a8
commit d652dffabe
4 changed files with 46 additions and 2 deletions

View File

@@ -369,5 +369,16 @@ public class PatientDiagnosisController extends BaseController {
});
}
/*
* 根据前端传回的省份证和姓名进行医保校验,判断该学生医保是否缴费
*/
@GetMapping("/verify")
public AjaxResult verifyInsuranceStatus(
@RequestParam String idCard,
@RequestParam String name) {
int status = iPatientDiagnosisService.verifyInsuranceStatus(idCard, name);
return success(status);
}
}

View File

@@ -4,6 +4,8 @@ package com.ruoyi.os.mapper;
import java.util.List;
import com.ruoyi.os.domain.HealthcareOsPatientDiagnosis;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* 患者诊断信息Mapper接口
@@ -81,4 +83,14 @@ public interface HealthcareOsPatientDiagnosisMapper
* @return
*/
public void updateHealthchcareOspatientDiagnoisDocitNameUtile();
/**
* 宁博 2025-05-21
* 验证医保是否可用
* @param idCard 省份证
* @param name 姓名
* @return 0 可用 1 不可用
*/
@Select("SELECT payment_year FROM patient_insurance_info WHERE id_number = #{idCard} AND name = #{name}")
Integer verifyInsuranceStatus(@Param("idCard") String idCard, @Param("name") String name);
}

View File

@@ -159,5 +159,12 @@ public interface IPatientDiagnosisService {
* 2025-05-14
*/
public List<PatientMedicalRecordsYesVO> gainPrescriptionDetailsYesList(PatientMedicalRecordsVO patientMedicalRecordsVO);
/**
* 宁博 2025-05-21
* 验证医保是否可用
* @param idCard 省份证
* @param name 姓名
* @return 0 可用 1 不可用
*/
int verifyInsuranceStatus(String idCard, String name);
}

View File

@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
@@ -1122,6 +1123,19 @@ public class PatientDiagnosisServiceImpl implements IPatientDiagnosisService {
//
return timeList;
}
/**
* 宁博 2025-05-21
* 验证医保是否可用
* @param idCard 省份证
* @param name 姓名
* @return 0 可用 1 不可用
*/
@Override
public int verifyInsuranceStatus(String idCard, String name) {
Integer paymentYear = healthcareOsPatientDiagnosisMapper.verifyInsuranceStatus(idCard, name);
int currentYear = LocalDate.now().getYear();
return (paymentYear != null && paymentYear == currentYear) ? 0 : 1;
}
}