|
|
|
|
@ -1,10 +1,10 @@
|
|
|
|
|
package com.example.duplicate.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.example.duplicate.controller.param.EmrRateRequest;
|
|
|
|
|
import com.example.duplicate.controller.param.PageRequest;
|
|
|
|
|
import com.example.duplicate.controller.param.RcvPageRequest;
|
|
|
|
|
import com.example.duplicate.controller.param.SginBasicDto;
|
|
|
|
|
import com.example.duplicate.controller.vo.ExportBasic;
|
|
|
|
|
import com.example.duplicate.controller.vo.PageBasic;
|
|
|
|
|
import com.example.duplicate.controller.vo.*;
|
|
|
|
|
|
|
|
|
|
import com.example.duplicate.infrastructure.dao.BasicMapper;
|
|
|
|
|
import com.example.duplicate.service.RcvBasicService;
|
|
|
|
|
@ -13,6 +13,7 @@ import com.example.utils.PageResult;
|
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import io.swagger.models.auth.In;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
@ -26,15 +27,17 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
import java.io.OutputStream;
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
|
|
import java.net.HttpURLConnection;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
import java.sql.*;
|
|
|
|
|
import java.sql.Date;
|
|
|
|
|
import java.time.LocalDate;
|
|
|
|
|
import java.time.Period;
|
|
|
|
|
import java.time.ZoneId;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @ClassName RcvBasicServiceImpl
|
|
|
|
|
@ -58,8 +61,6 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
private String lzPassword;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${jsUrl}")
|
|
|
|
|
private String jsUrl;
|
|
|
|
|
|
|
|
|
|
@ -75,26 +76,26 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
@Override
|
|
|
|
|
public CommonResult<?> Sign(String patientId) {
|
|
|
|
|
try {
|
|
|
|
|
if (StringUtils.isBlank(patientId)){
|
|
|
|
|
return CommonResult.failed("病案号不能为空!");
|
|
|
|
|
}
|
|
|
|
|
//查询是否已经存在数据,存在数据不在新增,直接返回已经签收
|
|
|
|
|
List<String> idByPatientId = basicMapper.getIDByPatientId(patientId);
|
|
|
|
|
if (!CollectionUtils.isEmpty(idByPatientId)) {
|
|
|
|
|
return CommonResult.failed("病案ID【" + patientId + "】已签收过,不能重复签收");
|
|
|
|
|
}
|
|
|
|
|
String userName = getUserName();
|
|
|
|
|
if (StringUtils.isBlank(userName)){
|
|
|
|
|
return CommonResult.failed("获取用户姓名失败!");
|
|
|
|
|
}
|
|
|
|
|
SginBasicDto sginBasicDto=new SginBasicDto();
|
|
|
|
|
// SQL Server连接信息
|
|
|
|
|
String url = lzUrl;
|
|
|
|
|
String username = lzUserName;
|
|
|
|
|
String password = lzPassword;
|
|
|
|
|
// SQL语句根据patientId查询患者基础信息
|
|
|
|
|
String selectQuery = "SELECT * FROM dbo.V_sz_cybrxx WHERE 病案号='" + patientId + "'";
|
|
|
|
|
log.info("查询语句为:"+selectQuery);
|
|
|
|
|
if (StringUtils.isBlank(patientId)) {
|
|
|
|
|
return CommonResult.failed("病案号不能为空!");
|
|
|
|
|
}
|
|
|
|
|
//查询是否已经存在数据,存在数据不在新增,直接返回已经签收
|
|
|
|
|
List<String> idByPatientId = basicMapper.getIDByPatientId(patientId);
|
|
|
|
|
if (!CollectionUtils.isEmpty(idByPatientId)) {
|
|
|
|
|
return CommonResult.failed("病案ID【" + patientId + "】已签收过,不能重复签收");
|
|
|
|
|
}
|
|
|
|
|
String userName = getUserName();
|
|
|
|
|
if (StringUtils.isBlank(userName)) {
|
|
|
|
|
return CommonResult.failed("获取用户姓名失败!");
|
|
|
|
|
}
|
|
|
|
|
SginBasicDto sginBasicDto = new SginBasicDto();
|
|
|
|
|
// SQL Server连接信息
|
|
|
|
|
String url = lzUrl;
|
|
|
|
|
String username = lzUserName;
|
|
|
|
|
String password = lzPassword;
|
|
|
|
|
// SQL语句根据patientId查询患者基础信息
|
|
|
|
|
String selectQuery = "SELECT * FROM dbo.V_sz_cybrxx WHERE 病案号='" + patientId + "'";
|
|
|
|
|
log.info("查询语句为:" + selectQuery);
|
|
|
|
|
|
|
|
|
|
// 1. 加载SQL Server JDBC驱动
|
|
|
|
|
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
|
|
|
|
@ -114,13 +115,13 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
sginBasicDto.setDisDate(resultSet.getDate("出院日期"));
|
|
|
|
|
sginBasicDto.setName(resultSet.getString("姓名"));
|
|
|
|
|
String sex = resultSet.getString("性别");
|
|
|
|
|
if (sex.equals("1")){
|
|
|
|
|
if (sex.equals("1")) {
|
|
|
|
|
sginBasicDto.setSex("男");
|
|
|
|
|
}
|
|
|
|
|
if (sex.equals("2")){
|
|
|
|
|
if (sex.equals("2")) {
|
|
|
|
|
sginBasicDto.setSex("女");
|
|
|
|
|
}
|
|
|
|
|
if (sex.equals("3")){
|
|
|
|
|
if (sex.equals("3")) {
|
|
|
|
|
sginBasicDto.setSex("不详");
|
|
|
|
|
}
|
|
|
|
|
sginBasicDto.setBedNumber(resultSet.getString("床位号"));
|
|
|
|
|
@ -128,6 +129,8 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
sginBasicDto.setDisDeptName(resultSet.getString("出院科室"));
|
|
|
|
|
sginBasicDto.setRevoveryState("已签收");
|
|
|
|
|
sginBasicDto.setRevoveryName(userName);
|
|
|
|
|
sginBasicDto.setAge("年龄");
|
|
|
|
|
sginBasicDto.setIdCard("身份证号");
|
|
|
|
|
sginBasicDto.setRevoveryTime(new Timestamp(System.currentTimeMillis()));
|
|
|
|
|
}
|
|
|
|
|
// 6. 关闭资源
|
|
|
|
|
@ -135,27 +138,28 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
statement.close();
|
|
|
|
|
connection.close();
|
|
|
|
|
//先插入数据到2.0中
|
|
|
|
|
if (!getObjectCommonResult(sginBasicDto)){
|
|
|
|
|
if (!getObjectCommonResult(sginBasicDto)) {
|
|
|
|
|
log.error("传送到病案数码系统失败");
|
|
|
|
|
return CommonResult.failed("传送到病案数码系统失败,请联系管理员");
|
|
|
|
|
}
|
|
|
|
|
//插入数据
|
|
|
|
|
if (!basicMapper.addBasic(sginBasicDto)){
|
|
|
|
|
if (!basicMapper.addBasic(sginBasicDto)) {
|
|
|
|
|
log.error("签收失败");
|
|
|
|
|
return CommonResult.failed("签收失败");
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("签收失败: " + e,e.getMessage());
|
|
|
|
|
log.error("签收失败: " + e, e.getMessage());
|
|
|
|
|
return CommonResult.failed("签收失败: " + e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return CommonResult.success("签收完成");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @description: 获取当前用户名
|
|
|
|
|
* @author linjj
|
|
|
|
|
* @date: 2025/6/27 11:12
|
|
|
|
|
*/
|
|
|
|
|
private String getUserName() {
|
|
|
|
|
private String getUserName() {
|
|
|
|
|
// 获取当前HttpServletRequest
|
|
|
|
|
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
|
|
HttpServletRequest request = requestAttributes.getRequest();
|
|
|
|
|
@ -163,7 +167,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
String token = request.getHeader("token");
|
|
|
|
|
try {
|
|
|
|
|
// 接口URL
|
|
|
|
|
String url = powerUer+"/front/sys/getUserInfoByToken";
|
|
|
|
|
String url = powerUer + "/front/sys/getUserInfoByToken";
|
|
|
|
|
|
|
|
|
|
// 创建URL对象
|
|
|
|
|
URL obj = new URL(url);
|
|
|
|
|
@ -197,7 +201,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
String inputLine;
|
|
|
|
|
StringBuilder response = new StringBuilder();
|
|
|
|
|
while ((inputLine = in.readLine()) != null) {
|
|
|
|
|
response.append(inputLine);
|
|
|
|
|
response.append(inputLine);
|
|
|
|
|
}
|
|
|
|
|
// 使用Jackson解析JSON响应内容
|
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
|
@ -208,7 +212,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
con.disconnect();
|
|
|
|
|
return name;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取用户失败: " + e,e.getMessage());
|
|
|
|
|
log.error("获取用户失败: " + e, e.getMessage());
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -219,7 +223,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
String username = jsUserName;
|
|
|
|
|
String password = jsPassword;
|
|
|
|
|
// 插入语句
|
|
|
|
|
String insertQuery = "INSERT INTO lee_basic (patient_id, inpatient_no,admiss_times,name,admiss_date,dis_date) VALUES (replace(newid(), '-', ''),?, ?, ?, ?, ?);";
|
|
|
|
|
String insertQuery = "INSERT INTO lee_basic (patient_id, inpatient_no,admiss_times,name,admiss_date,dis_date,id_card,age) VALUES (replace(newid(), '-', ''),?, ?, ?, ?, ?,?,?);";
|
|
|
|
|
log.info("执行的SQL语句为: " + insertQuery);
|
|
|
|
|
try {
|
|
|
|
|
// 1. 加载SQL Server JDBC驱动
|
|
|
|
|
@ -237,6 +241,8 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
preparedStatement.setString(3, sginBasicDto.getName());
|
|
|
|
|
preparedStatement.setDate(4, new java.sql.Date(sginBasicDto.getAdmissDate().getTime()));
|
|
|
|
|
preparedStatement.setDate(5, new java.sql.Date(sginBasicDto.getDisDate().getTime()));
|
|
|
|
|
preparedStatement.setString(6, sginBasicDto.getIdCard());
|
|
|
|
|
preparedStatement.setString(7, sginBasicDto.getAge());
|
|
|
|
|
// 5. 执行插入操作
|
|
|
|
|
preparedStatement.executeUpdate();
|
|
|
|
|
|
|
|
|
|
@ -244,7 +250,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
preparedStatement.close();
|
|
|
|
|
connection.close();
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("传送到病案数码系统失败: " + e,e.getMessage());
|
|
|
|
|
log.error("传送到病案数码系统失败: " + e, e.getMessage());
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
log.info("插入2.0中成功");
|
|
|
|
|
@ -252,7 +258,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public CommonResult<PageResult<PageBasic>>pageAll(PageRequest pageRequest) {
|
|
|
|
|
public CommonResult<PageResult<PageBasic>> pageAll(PageRequest pageRequest) {
|
|
|
|
|
PageResult<PageBasic> pageResult = null;
|
|
|
|
|
try {
|
|
|
|
|
// 设置分页参数
|
|
|
|
|
@ -261,20 +267,20 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
pageResult = new PageResult<>(pageAll);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("系统异常: " + e.getMessage());
|
|
|
|
|
return CommonResult.failed("系统异常");
|
|
|
|
|
return CommonResult.failed("系统异常");
|
|
|
|
|
}
|
|
|
|
|
return CommonResult.success(pageResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public CommonResult<?> UpdateSign(String patientId,String revoveryState) {
|
|
|
|
|
public CommonResult<?> UpdateSign(String patientId, String revoveryState) {
|
|
|
|
|
String userName = getUserName();
|
|
|
|
|
if (revoveryState.equals("已签收")){
|
|
|
|
|
basicMapper.UpdateState(patientId,"未签收",userName);
|
|
|
|
|
if (revoveryState.equals("已签收")) {
|
|
|
|
|
basicMapper.UpdateState(patientId, "未签收", userName);
|
|
|
|
|
return CommonResult.success("取消签收成功");
|
|
|
|
|
}
|
|
|
|
|
if (revoveryState.equals("未签收")){
|
|
|
|
|
basicMapper.UpdateState(patientId,"已签收",userName);
|
|
|
|
|
if (revoveryState.equals("未签收")) {
|
|
|
|
|
basicMapper.UpdateState(patientId, "已签收", userName);
|
|
|
|
|
return CommonResult.success("签收成功");
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
@ -285,4 +291,135 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
List<ExportBasic> pageBasics = basicMapper.pageExport(rcvPageRequest);
|
|
|
|
|
return pageBasics;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<EmrRateVo> ExportEmrRate(EmrRateRequest emrRateRequest) {
|
|
|
|
|
List<EmrRateVo> emrRateVos = null;
|
|
|
|
|
try {
|
|
|
|
|
//查询回收系统中归档率
|
|
|
|
|
List<EmrRateDetailVo> emrRateDetail = basicMapper.getEmrRateDetail(emrRateRequest);
|
|
|
|
|
//查询his视图中各个科室出院数量
|
|
|
|
|
List<HisRateVo> hisRateVo = getHisRateVo(emrRateRequest);
|
|
|
|
|
if (hisRateVo.isEmpty()||emrRateDetail.isEmpty()){
|
|
|
|
|
return emrRateVos;
|
|
|
|
|
}
|
|
|
|
|
// 1. 把 hisRateVo 转成 Map<科室名, 出院人数>
|
|
|
|
|
Map<String, Integer> deptDischargeMap = hisRateVo.stream()
|
|
|
|
|
.collect(Collectors.toMap(HisRateVo::getDisDeptName, HisRateVo::getDisCountNum));
|
|
|
|
|
|
|
|
|
|
//组织最终数据
|
|
|
|
|
emrRateVos = new ArrayList<>();
|
|
|
|
|
for (EmrRateDetailVo detail : emrRateDetail){
|
|
|
|
|
if (deptDischargeMap.get(detail.getDisDeptName())==null) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
EmrRateVo emrRateVo = new EmrRateVo();
|
|
|
|
|
//出院名称
|
|
|
|
|
emrRateVo.setDisDeptName(detail.getDisDeptName());
|
|
|
|
|
//出院人数
|
|
|
|
|
Integer outNum = deptDischargeMap.get(detail.getDisDeptName());
|
|
|
|
|
emrRateVo.setOutNum(outNum);
|
|
|
|
|
//组织病案签收情况
|
|
|
|
|
//签收总数
|
|
|
|
|
Integer signCountNum = detail.getSignCountNum();
|
|
|
|
|
//总签收率
|
|
|
|
|
emrRateVo.setSignStatus(new SignStatus(signCountNum,getRate(outNum,signCountNum)));
|
|
|
|
|
//组织2,3,5,7天内归档情况
|
|
|
|
|
DayRateDetailVo dayRateDetailVo = new DayRateDetailVo();
|
|
|
|
|
dayRateDetailVo.setDay2SignStatus(new TimeSlot(detail.getDay2(), getRate(outNum,detail.getDay2())));
|
|
|
|
|
dayRateDetailVo.setDay3SignStatus(new TimeSlot(detail.getDay3(), getRate(outNum,detail.getDay3())));
|
|
|
|
|
dayRateDetailVo.setDay5SignStatus(new TimeSlot(detail.getDay5(), getRate(outNum,detail.getDay5())));
|
|
|
|
|
dayRateDetailVo.setDay7SignStatus(new TimeSlot(detail.getDay7(), getRate(outNum,detail.getDay7())));
|
|
|
|
|
emrRateVo.setDayRateDetailVo(dayRateDetailVo);
|
|
|
|
|
emrRateVos.add(emrRateVo);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("查询失败1: {}", e,e.getMessage());
|
|
|
|
|
return emrRateVos;
|
|
|
|
|
}
|
|
|
|
|
return emrRateVos;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static String getRate(Integer outNum, Integer signCountNum) {
|
|
|
|
|
// 计算签收率(保留两位小数)
|
|
|
|
|
BigDecimal rate = new BigDecimal(signCountNum)
|
|
|
|
|
.divide(new BigDecimal(outNum), 4, RoundingMode.HALF_UP)
|
|
|
|
|
.multiply(BigDecimal.valueOf(100))
|
|
|
|
|
.setScale(2, RoundingMode.HALF_UP);
|
|
|
|
|
|
|
|
|
|
String signRate = rate.toPlainString() + "%";
|
|
|
|
|
return signRate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Author: linjj
|
|
|
|
|
* @Description: 查询his视图中各个科室出院数量
|
|
|
|
|
* @DateTime: 2025/8/5 17:17
|
|
|
|
|
* @Params: [emrRateRequest]
|
|
|
|
|
* @Return java.util.List<com.example.duplicate.controller.vo.HisRateVo>
|
|
|
|
|
*/
|
|
|
|
|
private List<HisRateVo> getHisRateVo(EmrRateRequest emrRateRequest) {
|
|
|
|
|
List<HisRateVo> hisRateVoList = null;
|
|
|
|
|
try {
|
|
|
|
|
hisRateVoList = new ArrayList<>();
|
|
|
|
|
// SQL Server连接信息
|
|
|
|
|
String url = lzUrl;
|
|
|
|
|
String username = lzUserName;
|
|
|
|
|
String password = lzPassword;
|
|
|
|
|
// 构建SQL查询语句
|
|
|
|
|
StringBuilder selectQuery = new StringBuilder();
|
|
|
|
|
selectQuery.append("SELECT 出院科室,COUNT(*) as 出院总数 ");
|
|
|
|
|
selectQuery.append("FROM dbo.V_sz_cybrxx ");
|
|
|
|
|
selectQuery.append("WHERE 1=1 ");
|
|
|
|
|
List<Object> parameters = new ArrayList<>();
|
|
|
|
|
// 添加出院科室条件
|
|
|
|
|
if (emrRateRequest.getDisDeptName() != null && !emrRateRequest.getDisDeptName().isEmpty()) {
|
|
|
|
|
String[] deptNames = emrRateRequest.getDisDeptName().split(",");
|
|
|
|
|
String inClause = String.join(",", Collections.nCopies(deptNames.length, "?"));
|
|
|
|
|
selectQuery.append(" AND 出院科室 IN (" + inClause + ")");
|
|
|
|
|
parameters.addAll(Arrays.asList(deptNames));
|
|
|
|
|
}
|
|
|
|
|
// 添加时间范围条件
|
|
|
|
|
if (emrRateRequest.getStartTime() != null) {
|
|
|
|
|
selectQuery.append(" AND 出院日期 >= ?");
|
|
|
|
|
parameters.add(emrRateRequest.getStartTime());
|
|
|
|
|
}
|
|
|
|
|
if (emrRateRequest.getEndTime() != null) {
|
|
|
|
|
selectQuery.append(" AND 出院日期 <= ?");
|
|
|
|
|
parameters.add(emrRateRequest.getEndTime());
|
|
|
|
|
}
|
|
|
|
|
//增加科室分组
|
|
|
|
|
selectQuery.append(" GROUP BY 出院科室");
|
|
|
|
|
// 原始 SQL 模板(带 ? 占位符)
|
|
|
|
|
String finalSql = selectQuery.toString();
|
|
|
|
|
// 逐个替换参数(注意类型处理)
|
|
|
|
|
for (int i = 0; i < parameters.size(); i++) {
|
|
|
|
|
Object param = parameters.get(i);
|
|
|
|
|
String value = param instanceof String ? "'" + param + "'" : param.toString();
|
|
|
|
|
finalSql = finalSql.replaceFirst("\\?", value);
|
|
|
|
|
}
|
|
|
|
|
log.info("最终SQL: " + finalSql);
|
|
|
|
|
try (Connection connection = DriverManager.getConnection(url, username, password);
|
|
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(selectQuery.toString())) {
|
|
|
|
|
// 设置查询参数
|
|
|
|
|
for (int i = 0; i < parameters.size(); i++) {
|
|
|
|
|
preparedStatement.setObject(i + 1, parameters.get(i));
|
|
|
|
|
}
|
|
|
|
|
ResultSet resultSet = preparedStatement.executeQuery();
|
|
|
|
|
// 处理查询结果
|
|
|
|
|
while (resultSet.next()) {
|
|
|
|
|
HisRateVo hisRateVo = new HisRateVo();
|
|
|
|
|
hisRateVo.setDisDeptName(resultSet.getString("出院科室"));
|
|
|
|
|
hisRateVo.setDisCountNum(resultSet.getInt("出院总数"));
|
|
|
|
|
hisRateVoList.add(hisRateVo);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("his查询失败: {}", e,e.getMessage());
|
|
|
|
|
return hisRateVoList;
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("his查询失败: {}", e,e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
return hisRateVoList;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|