|
|
@ -1,21 +1,33 @@
|
|
|
|
package com.example.duplicate.service.impl;
|
|
|
|
package com.example.duplicate.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import com.example.duplicate.controller.param.PageRequest;
|
|
|
|
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.param.SginBasicDto;
|
|
|
|
|
|
|
|
import com.example.duplicate.controller.vo.ExportBasic;
|
|
|
|
import com.example.duplicate.controller.vo.PageBasic;
|
|
|
|
import com.example.duplicate.controller.vo.PageBasic;
|
|
|
|
import com.example.duplicate.controller.vo.RcvBasic;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.example.duplicate.infrastructure.dao.BasicMapper;
|
|
|
|
import com.example.duplicate.infrastructure.dao.BasicMapper;
|
|
|
|
import com.example.duplicate.service.RcvBasicService;
|
|
|
|
import com.example.duplicate.service.RcvBasicService;
|
|
|
|
import com.example.utils.CommonResult;
|
|
|
|
import com.example.utils.CommonResult;
|
|
|
|
import com.example.utils.PageResult;
|
|
|
|
import com.example.utils.PageResult;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
|
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
|
|
|
import java.io.OutputStream;
|
|
|
|
|
|
|
|
import java.net.HttpURLConnection;
|
|
|
|
|
|
|
|
import java.net.URL;
|
|
|
|
import java.sql.*;
|
|
|
|
import java.sql.*;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.LocalDate;
|
|
|
|
import java.time.Period;
|
|
|
|
import java.time.Period;
|
|
|
@ -36,6 +48,30 @@ import java.util.List;
|
|
|
|
public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private BasicMapper basicMapper;
|
|
|
|
private BasicMapper basicMapper;
|
|
|
|
|
|
|
|
@Value("${lzUrl}")
|
|
|
|
|
|
|
|
private String lzUrl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${lzUserName}")
|
|
|
|
|
|
|
|
private String lzUserName;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${lzPassword}")
|
|
|
|
|
|
|
|
private String lzPassword;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${jsUrl}")
|
|
|
|
|
|
|
|
private String jsUrl;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${jsUserName}")
|
|
|
|
|
|
|
|
private String jsUserName;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${jsPassword}")
|
|
|
|
|
|
|
|
private String jsPassword;
|
|
|
|
|
|
|
|
@Value("${powerUer}")
|
|
|
|
|
|
|
|
private String powerUer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public CommonResult<?> Sign(String patientId) {
|
|
|
|
public CommonResult<?> Sign(String patientId) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
@ -47,15 +83,15 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
if (!CollectionUtils.isEmpty(idByPatientId)) {
|
|
|
|
if (!CollectionUtils.isEmpty(idByPatientId)) {
|
|
|
|
return CommonResult.failed("病案ID【" + patientId + "】已签收过,不能重复签收");
|
|
|
|
return CommonResult.failed("病案ID【" + patientId + "】已签收过,不能重复签收");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
String userName = getUserName();
|
|
|
|
|
|
|
|
if (StringUtils.isBlank(userName)){
|
|
|
|
|
|
|
|
return CommonResult.failed("获取用户姓名失败!");
|
|
|
|
|
|
|
|
}
|
|
|
|
SginBasicDto sginBasicDto=new SginBasicDto();
|
|
|
|
SginBasicDto sginBasicDto=new SginBasicDto();
|
|
|
|
// SQL Server连接信息
|
|
|
|
// SQL Server连接信息
|
|
|
|
String url = "jdbc:sqlserver://10.1.1.21:1433;databaseName=trasen;encrypt=false;useUnicode=true;characterEncoding=utf-8";
|
|
|
|
String url = lzUrl;
|
|
|
|
String username = "SZJK";
|
|
|
|
String username = lzUserName;
|
|
|
|
String password = "SZJK";
|
|
|
|
String password = lzPassword;
|
|
|
|
// String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=trasen;encrypt=false;useUnicode=true;characterEncoding=utf-8";
|
|
|
|
|
|
|
|
// String username = "sa";
|
|
|
|
|
|
|
|
// String password = "admin123";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SQL语句根据patientId查询患者基础信息
|
|
|
|
// SQL语句根据patientId查询患者基础信息
|
|
|
|
String selectQuery = "SELECT * FROM dbo.V_sz_cybrxx WHERE 病案号='" + patientId + "'";
|
|
|
|
String selectQuery = "SELECT * FROM dbo.V_sz_cybrxx WHERE 病案号='" + patientId + "'";
|
|
|
|
log.info("查询语句为:"+selectQuery);
|
|
|
|
log.info("查询语句为:"+selectQuery);
|
|
|
@ -74,6 +110,7 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
while (resultSet.next()) {
|
|
|
|
while (resultSet.next()) {
|
|
|
|
sginBasicDto.setPatientId(resultSet.getString("病案号"));
|
|
|
|
sginBasicDto.setPatientId(resultSet.getString("病案号"));
|
|
|
|
sginBasicDto.setAdmissTimes(resultSet.getInt("住院次数"));
|
|
|
|
sginBasicDto.setAdmissTimes(resultSet.getInt("住院次数"));
|
|
|
|
|
|
|
|
sginBasicDto.setAdmissDate(resultSet.getDate("入院日期"));
|
|
|
|
sginBasicDto.setDisDate(resultSet.getDate("出院日期"));
|
|
|
|
sginBasicDto.setDisDate(resultSet.getDate("出院日期"));
|
|
|
|
sginBasicDto.setName(resultSet.getString("姓名"));
|
|
|
|
sginBasicDto.setName(resultSet.getString("姓名"));
|
|
|
|
String sex = resultSet.getString("性别");
|
|
|
|
String sex = resultSet.getString("性别");
|
|
|
@ -88,7 +125,9 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sginBasicDto.setBedNumber(resultSet.getString("床位号"));
|
|
|
|
sginBasicDto.setBedNumber(resultSet.getString("床位号"));
|
|
|
|
sginBasicDto.setAttendingName(resultSet.getString("责任人"));
|
|
|
|
sginBasicDto.setAttendingName(resultSet.getString("责任人"));
|
|
|
|
|
|
|
|
sginBasicDto.setDisDeptName(resultSet.getString("出院科室"));
|
|
|
|
sginBasicDto.setRevoveryState("已签收");
|
|
|
|
sginBasicDto.setRevoveryState("已签收");
|
|
|
|
|
|
|
|
sginBasicDto.setRevoveryName(userName);
|
|
|
|
sginBasicDto.setRevoveryTime(new Timestamp(System.currentTimeMillis()));
|
|
|
|
sginBasicDto.setRevoveryTime(new Timestamp(System.currentTimeMillis()));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 6. 关闭资源
|
|
|
|
// 6. 关闭资源
|
|
|
@ -111,17 +150,76 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return CommonResult.success("签收完成");
|
|
|
|
return CommonResult.success("签收完成");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @description: 获取当前用户名
|
|
|
|
|
|
|
|
* @author linjj
|
|
|
|
|
|
|
|
* @date: 2025/6/27 11:12
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
private String getUserName() {
|
|
|
|
|
|
|
|
// 获取当前HttpServletRequest
|
|
|
|
|
|
|
|
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
|
|
|
|
|
|
|
HttpServletRequest request = requestAttributes.getRequest();
|
|
|
|
|
|
|
|
// 从请求头中获取token
|
|
|
|
|
|
|
|
String token = request.getHeader("token");
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
// 接口URL
|
|
|
|
|
|
|
|
String url = powerUer+"/front/sys/getUserInfoByToken";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建URL对象
|
|
|
|
|
|
|
|
URL obj = new URL(url);
|
|
|
|
|
|
|
|
// 打开连接
|
|
|
|
|
|
|
|
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置请求方法为POST
|
|
|
|
|
|
|
|
con.setRequestMethod("POST");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 设置请求头
|
|
|
|
|
|
|
|
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 启用输出流
|
|
|
|
|
|
|
|
con.setDoOutput(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 构建请求参数
|
|
|
|
|
|
|
|
String urlParameters = "token=" + token;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 发送请求
|
|
|
|
|
|
|
|
try (OutputStream os = con.getOutputStream()) {
|
|
|
|
|
|
|
|
os.write(urlParameters.getBytes());
|
|
|
|
|
|
|
|
os.flush();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取响应码
|
|
|
|
|
|
|
|
int responseCode = con.getResponseCode();
|
|
|
|
|
|
|
|
System.out.println("响应码: " + responseCode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 读取响应内容
|
|
|
|
|
|
|
|
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
|
|
|
|
|
|
|
|
String inputLine;
|
|
|
|
|
|
|
|
StringBuilder response = new StringBuilder();
|
|
|
|
|
|
|
|
while ((inputLine = in.readLine()) != null) {
|
|
|
|
|
|
|
|
response.append(inputLine);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// 使用Jackson解析JSON响应内容
|
|
|
|
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
|
|
|
|
JsonNode rootNode = mapper.readTree(response.toString());
|
|
|
|
|
|
|
|
JsonNode dataNode = rootNode.get("data");
|
|
|
|
|
|
|
|
String name = dataNode.get("userName").asText();
|
|
|
|
|
|
|
|
// 断开连接
|
|
|
|
|
|
|
|
con.disconnect();
|
|
|
|
|
|
|
|
return name;
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
log.error("获取用户失败: " + e,e.getMessage());
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private Boolean getObjectCommonResult(SginBasicDto sginBasicDto) {
|
|
|
|
private Boolean getObjectCommonResult(SginBasicDto sginBasicDto) {
|
|
|
|
// SQL Server连接信息
|
|
|
|
// SQL Server连接信息
|
|
|
|
// String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=gm_record;encrypt=false;useUnicode=true;characterEncoding=utf-8";
|
|
|
|
String url = jsUrl;
|
|
|
|
// String username = "sa";
|
|
|
|
String username = jsUserName;
|
|
|
|
// String password = "admin123";
|
|
|
|
String password = jsPassword;
|
|
|
|
String url = "jdbc:sqlserver://10.1.1.147:1433;databaseName=csssemrrcord;encrypt=false;useUnicode=true;characterEncoding=utf-8";
|
|
|
|
|
|
|
|
String username = "sa";
|
|
|
|
|
|
|
|
String password = "xjgs+docus911";
|
|
|
|
|
|
|
|
// 插入语句
|
|
|
|
// 插入语句
|
|
|
|
String insertQuery = "INSERT INTO commomtable (patient_id,admiss_times, inpatient_no, name, sex, dis_date, attending) VALUES (replace(newid(), '-', ''),?, ?, ?, ?, ?, ?);";
|
|
|
|
String insertQuery = "INSERT INTO lee_basic (patient_id, inpatient_no,admiss_times,name,admiss_date,dis_date) VALUES (replace(newid(), '-', ''),?, ?, ?, ?, ?);";
|
|
|
|
log.info("执行的SQL语句为: " + insertQuery);
|
|
|
|
log.info("执行的SQL语句为: " + insertQuery);
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 1. 加载SQL Server JDBC驱动
|
|
|
|
// 1. 加载SQL Server JDBC驱动
|
|
|
@ -134,13 +232,11 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
|
|
|
|
PreparedStatement preparedStatement = connection.prepareStatement(insertQuery);
|
|
|
|
|
|
|
|
|
|
|
|
// 4. 设置参数
|
|
|
|
// 4. 设置参数
|
|
|
|
preparedStatement.setInt(1, sginBasicDto.getAdmissTimes());
|
|
|
|
preparedStatement.setString(1, sginBasicDto.getPatientId());
|
|
|
|
preparedStatement.setString(2, sginBasicDto.getPatientId());
|
|
|
|
preparedStatement.setInt(2, sginBasicDto.getAdmissTimes());
|
|
|
|
preparedStatement.setString(3, sginBasicDto.getName());
|
|
|
|
preparedStatement.setString(3, sginBasicDto.getName());
|
|
|
|
preparedStatement.setString(4, sginBasicDto.getSex());
|
|
|
|
preparedStatement.setDate(4, new java.sql.Date(sginBasicDto.getAdmissDate().getTime()));
|
|
|
|
preparedStatement.setDate(5, new java.sql.Date(sginBasicDto.getDisDate().getTime()));
|
|
|
|
preparedStatement.setDate(5, new java.sql.Date(sginBasicDto.getDisDate().getTime()));
|
|
|
|
preparedStatement.setString(6, sginBasicDto.getAttendingName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 5. 执行插入操作
|
|
|
|
// 5. 执行插入操作
|
|
|
|
preparedStatement.executeUpdate();
|
|
|
|
preparedStatement.executeUpdate();
|
|
|
|
|
|
|
|
|
|
|
@ -172,14 +268,21 @@ public class RcvBasicServiceImpl implements RcvBasicService {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public CommonResult<?> UpdateSign(String patientId,String revoveryState) {
|
|
|
|
public CommonResult<?> UpdateSign(String patientId,String revoveryState) {
|
|
|
|
|
|
|
|
String userName = getUserName();
|
|
|
|
if (revoveryState.equals("已签收")){
|
|
|
|
if (revoveryState.equals("已签收")){
|
|
|
|
basicMapper.UpdateState(patientId,"未签收");
|
|
|
|
basicMapper.UpdateState(patientId,"未签收",userName);
|
|
|
|
return CommonResult.success("取消签收成功");
|
|
|
|
return CommonResult.success("取消签收成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (revoveryState.equals("未签收")){
|
|
|
|
if (revoveryState.equals("未签收")){
|
|
|
|
basicMapper.UpdateState(patientId,"已签收");
|
|
|
|
basicMapper.UpdateState(patientId,"已签收",userName);
|
|
|
|
return CommonResult.success("签收成功");
|
|
|
|
return CommonResult.success("签收成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<ExportBasic> pageExport(RcvPageRequest rcvPageRequest) {
|
|
|
|
|
|
|
|
List<ExportBasic> pageBasics = basicMapper.pageExport(rcvPageRequest);
|
|
|
|
|
|
|
|
return pageBasics;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|