医共体患者修改

This commit is contained in:
zhangheng 2026-05-19 11:19:18 +08:00
parent 89f819e65f
commit 203a33778d
7 changed files with 178 additions and 19 deletions

View File

@ -8,6 +8,7 @@ import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import com.xinelu.manage.service.externalimport.IExternalImportService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -34,7 +35,7 @@ public class ExternalImportController extends BaseController {
*/
@PreAuthorize("@ss.hasPermi('system:externalImport:list')")
@GetMapping("/list")
public TableDataInfo list(ExternalImport externalImport) {
public TableDataInfo list(ExternalImportInfoDto externalImport) {
startPage();
List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport);
return getDataTable(list);
@ -46,7 +47,7 @@ public class ExternalImportController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:externalImport:export')")
@Log(title = "外部数据导入", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ExternalImport externalImport) {
public void export(HttpServletResponse response, ExternalImportInfoDto externalImport) {
List<ExternalImport> list = externalImportService.selectExternalImportList(externalImport);
ExcelUtil<ExternalImport> util = new ExcelUtil<>(ExternalImport.class);
util.exportExcel(response, list, "外部数据导入数据");

View File

@ -0,0 +1,87 @@
package com.xinelu.manage.dto.externalimport;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class ExternalImportInfoDto {
private Long id;
@ApiModelProperty(value = "患者姓名")
private String patientName;
@ApiModelProperty(value = "患者电话")
private String phone;
@ApiModelProperty(value = "年龄")
private String age;
@ApiModelProperty(value = "身份证号")
private String cardNo;
@ApiModelProperty(value = "性别MALEFEMALE")
private String sex;
@ApiModelProperty(value = "所属科室名称")
private String departmentName;
@ApiModelProperty(value = "就诊编号")
private String visitCode;
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
@ApiModelProperty(value = "就诊时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate visitDate;
@ApiModelProperty(value = "入院时间时间格式yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate admissionTime;
@ApiModelProperty(value = "出院时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dischargeTime;
@ApiModelProperty(value = "推送时间时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private String pushTime;
@ApiModelProperty(value = "计划随访时间时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "计划随访时间时间格式yyyy-MM-dd HH:mm:ss", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime planFollowUp;
@ApiModelProperty(value = "随访模板编号")
@Excel(name = "随访模板编号")
private Long followUpTemplate;
@ApiModelProperty(value = "主要诊断")
@Excel(name = "主要诊断")
private String mainDiagnosis;
@ApiModelProperty(value = "数据来源,医共体平台")
@Excel(name = "数据来源,医共体平台")
private String dataSource;
@ApiModelProperty(value = "出院方式")
@Excel(name = "出院方式", readConverterExp = "出院患者")
private String dischargeMethod;
@ApiModelProperty(value = "患者健康状况")
@Excel(name = "患者健康状况")
private String healthState;
@ApiModelProperty(value = "数据获取时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate dataGetTime;
private String sn;
}

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.mapper.externalimport;
import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -72,10 +73,10 @@ public interface ExternalImportMapper {
/**
* 根据手机号查询数据
*
* @param phones
* @param visitCodes
* @return ExternalImport
*/
List<ExternalImport> selectExternalByPhone(List<String> phones);
List<ExternalImport> selectExternalByVisitCodes(@Param("list") List<String> visitCodes);
/**
* 查询外部数据导入列表不分页sn不为空
@ -100,4 +101,6 @@ public interface ExternalImportMapper {
* @return int
*/
int updateExternalImportSn(@Param("ids") List<Long> ids, @Param("sn") String sn);
List<ExternalImport> selectExternalImports(ExternalImportInfoDto externalImport);
}

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.service.externalimport;
import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import java.util.List;
@ -26,7 +27,7 @@ public interface IExternalImportService {
* @param externalImport 外部数据导入
* @return 外部数据导入集合
*/
List<ExternalImport> selectExternalImportList(ExternalImport externalImport);
List<ExternalImport> selectExternalImportList(ExternalImportInfoDto externalImport);
/**
* 新增外部数据导入

View File

@ -2,6 +2,7 @@ package com.xinelu.manage.service.externalimport.impl;
import com.xinelu.manage.domain.externalimport.ExternalImport;
import com.xinelu.manage.dto.externalimport.ExternalImportDto;
import com.xinelu.manage.dto.externalimport.ExternalImportInfoDto;
import com.xinelu.manage.mapper.externalimport.ExternalImportMapper;
import com.xinelu.manage.service.externalimport.IExternalImportService;
import org.springframework.stereotype.Service;
@ -40,8 +41,8 @@ public class ExternalImportServiceImpl implements IExternalImportService {
* @return 外部数据导入
*/
@Override
public List<ExternalImport> selectExternalImportList(ExternalImport externalImport) {
return externalImportMapper.selectExternalImportList(externalImport);
public List<ExternalImport> selectExternalImportList(ExternalImportInfoDto externalImport) {
return externalImportMapper.selectExternalImports(externalImport);
}
/**

View File

@ -310,12 +310,16 @@
</foreach>
</delete>
<select id="selectExternalByPhone" resultType="com.xinelu.manage.domain.externalimport.ExternalImport">
<select id="selectExternalByVisitCodes" resultType="com.xinelu.manage.domain.externalimport.ExternalImport">
<include refid="selectExternalImportVo"/>
where phone in
<foreach item="phones" collection="list" open="(" separator="," close=")">
#{phones}
</foreach>
<where>
<if test="list != null and list.size() > 0">
visit_code in
<foreach collection="list" item="visitCode" open="(" separator="," close=")">
#{visitCode}
</foreach>
</if>
</where>
</select>
<select id="getExternalImports" resultType="com.xinelu.manage.dto.externalimport.ExternalImportDto">
@ -357,4 +361,68 @@
#{id}
</foreach>
</update>
<select id="selectExternalImports" resultType="com.xinelu.manage.domain.externalimport.ExternalImport">
<include refid="selectExternalImportVo"/>
<where>
<if test="patientName != null and patientName != ''">
and patient_name like concat('%', #{patientName}, '%')
</if>
<if test="phone != null and phone != ''">
and phone = #{phone}
</if>
<if test="age != null and age != ''">
and age = #{age}
</if>
<if test="cardNo != null and cardNo != ''">
and card_no = #{cardNo}
</if>
<if test="sex != null and sex != ''">
and sex = #{sex}
</if>
<if test="departmentName != null and departmentName != ''">
and department_name like concat('%', #{departmentName}, '%')
</if>
<if test="visitCode != null and visitCode != ''">
and visit_code = #{visitCode}
</if>
<if test="visitMethod != null and visitMethod != ''">
and visit_method = #{visitMethod}
</if>
<if test="visitDate != null ">
and date_format(visit_date, '%y%m%d') = date_format(#{visitDate}, '%y%m%d')
</if>
<if test="admissionTime != null ">
and date_format(admission_time, '%y%m%d') = date_format(#{admissionTime}, '%y%m%d')
</if>
<if test="dischargeTime != null ">
and date_format(discharge_time, '%y%m%d') = date_format(#{dischargeTime}, '%y%m%d')
</if>
<if test="pushTime != null ">
and push_time = #{pushTime}
</if>
<if test="planFollowUp != null ">
and plan_follow_up = #{planFollowUp}
</if>
<if test="followUpTemplate != null ">
and follow_up_template = #{followUpTemplate}
</if>
<if test="mainDiagnosis != null and mainDiagnosis != ''">
and main_diagnosis = #{mainDiagnosis}
</if>
<if test="dataSource != null and dataSource != ''">
and data_source = #{dataSource}
</if>
<if test="dischargeMethod != null and dischargeMethod != ''">
and discharge_method = #{dischargeMethod}
</if>
<if test="healthState != null and healthState != ''">
and health_state = #{healthState}
</if>
<if test="dataGetTime != null ">
and date_format(data_get_time, '%y%m%d') = date_format(#{dataGetTime}, '%y%m%d')
</if>
</where>
ORDER BY push_time DESC
</select>
</mapper>

View File

@ -67,11 +67,7 @@ public class MedicalConsortiumPlatformTask {
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@//172.19.116.212:1521/ORCL", "HK_ZJK", "DYWJWhkzjk5169");
// 3.创建Statement对象可以执行sql的对象
PreparedStatement preparedStatement;
if (externalImportCount > 0) {
preparedStatement = connection.prepareStatement(sql_date);
} else {
preparedStatement = connection.prepareStatement(sql);
}
preparedStatement = connection.prepareStatement(sql);
// 4.获取结果集
ResultSet resultSet = preparedStatement.executeQuery();
// 5.对数据进行处理
@ -143,7 +139,7 @@ public class MedicalConsortiumPlatformTask {
departmentMapper.insertPartDepartmentList(departments);
}
//筛选就诊号并根据就诊号查询数据库
List<ExternalImport> dataExternalImports = externalImportMapper.selectExternalByPhone(collect);
List<ExternalImport> dataExternalImports = externalImportMapper.selectExternalByVisitCodes(collect);
List<ExternalImport> externalImports = new ArrayList<>();
//遍历塞数据
for (TbFollowUp tbFollowUp : list) {
@ -190,7 +186,9 @@ public class MedicalConsortiumPlatformTask {
externalImport.setDataGetTime(LocalDateTime.now());
externalImports.add(externalImport);
}
externalImportMapper.insertExternalImportList(externalImports);
if (CollectionUtils.isNotEmpty(externalImports)){
externalImportMapper.insertExternalImportList(externalImports);
}
log.info("获取医共体数据完成,共" + externalImports.size() + "");
}
}