diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/externalimport/ExternalImportController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/externalimport/ExternalImportController.java index ee7a2b1e..16f6acd1 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/externalimport/ExternalImportController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/externalimport/ExternalImportController.java @@ -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 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 list = externalImportService.selectExternalImportList(externalImport); ExcelUtil util = new ExcelUtil<>(ExternalImport.class); util.exportExcel(response, list, "外部数据导入数据"); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/externalimport/ExternalImportInfoDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/externalimport/ExternalImportInfoDto.java new file mode 100644 index 00000000..57d75fa5 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/externalimport/ExternalImportInfoDto.java @@ -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 = "性别,男:MALE,女:FEMALE") + 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; +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/externalimport/ExternalImportMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/externalimport/ExternalImportMapper.java index 80526840..2d9536f5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/externalimport/ExternalImportMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/externalimport/ExternalImportMapper.java @@ -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 selectExternalByPhone(List phones); + List selectExternalByVisitCodes(@Param("list") List visitCodes); /** * 查询外部数据导入列表、不分页、sn不为空 @@ -100,4 +101,6 @@ public interface ExternalImportMapper { * @return int */ int updateExternalImportSn(@Param("ids") List ids, @Param("sn") String sn); + + List selectExternalImports(ExternalImportInfoDto externalImport); } \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/IExternalImportService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/IExternalImportService.java index 7c445b59..fd9fb64a 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/IExternalImportService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/IExternalImportService.java @@ -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 selectExternalImportList(ExternalImport externalImport); + List selectExternalImportList(ExternalImportInfoDto externalImport); /** * 新增外部数据导入 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/impl/ExternalImportServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/impl/ExternalImportServiceImpl.java index ea702dfa..d366b830 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/impl/ExternalImportServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/externalimport/impl/ExternalImportServiceImpl.java @@ -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 selectExternalImportList(ExternalImport externalImport) { - return externalImportMapper.selectExternalImportList(externalImport); + public List selectExternalImportList(ExternalImportInfoDto externalImport) { + return externalImportMapper.selectExternalImports(externalImport); } /** diff --git a/postdischarge-manage/src/main/resources/mapper/manage/externalImport/ExternalImportMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/externalImport/ExternalImportMapper.xml index 71772240..e4db8802 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/externalImport/ExternalImportMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/externalImport/ExternalImportMapper.xml @@ -310,12 +310,16 @@ - - where phone in - - #{phones} - + + + visit_code in + + #{visitCode} + + + + + + + and patient_name like concat('%', #{patientName}, '%') + + + and phone = #{phone} + + + and age = #{age} + + + and card_no = #{cardNo} + + + and sex = #{sex} + + + and department_name like concat('%', #{departmentName}, '%') + + + and visit_code = #{visitCode} + + + and visit_method = #{visitMethod} + + + and date_format(visit_date, '%y%m%d') = date_format(#{visitDate}, '%y%m%d') + + + and date_format(admission_time, '%y%m%d') = date_format(#{admissionTime}, '%y%m%d') + + + and date_format(discharge_time, '%y%m%d') = date_format(#{dischargeTime}, '%y%m%d') + + + and push_time = #{pushTime} + + + and plan_follow_up = #{planFollowUp} + + + and follow_up_template = #{followUpTemplate} + + + and main_diagnosis = #{mainDiagnosis} + + + and data_source = #{dataSource} + + + and discharge_method = #{dischargeMethod} + + + and health_state = #{healthState} + + + and date_format(data_get_time, '%y%m%d') = date_format(#{dataGetTime}, '%y%m%d') + + + ORDER BY push_time DESC + \ No newline at end of file diff --git a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java index ec92df54..7cbcc660 100644 --- a/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java +++ b/postdischarge-quartz/src/main/java/com/xinelu/quartz/task/MedicalConsortiumPlatformTask.java @@ -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 dataExternalImports = externalImportMapper.selectExternalByPhone(collect); + List dataExternalImports = externalImportMapper.selectExternalByVisitCodes(collect); List 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() + "条"); } } \ No newline at end of file