增加了医生管理分页查询
This commit is contained in:
parent
7d91e804a2
commit
5909c9682e
@ -1,13 +1,19 @@
|
||||
package net.lab1024.sa.admin.module.app.expert.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.lab1024.sa.admin.module.app.expert.admin.ExpertEntity;
|
||||
import net.lab1024.sa.admin.module.app.expert.admin.ExpertWhiteEntity;
|
||||
import net.lab1024.sa.admin.module.business.area.domain.vo.ProvVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.CaseplatformExpertWhiteQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.GetCaseplatformExpertWhitePageVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
@Component
|
||||
public interface ExpertWhiteEntityDao extends BaseMapper<ExpertWhiteEntity> {
|
||||
@ -16,4 +22,13 @@ public interface ExpertWhiteEntityDao extends BaseMapper<ExpertWhiteEntity> {
|
||||
|
||||
@Select("SELECT * FROM t_caseplatform_expert_white WHERE name = #{name} AND hospital_name = #{hospitalName}")
|
||||
ExpertWhiteEntity getExpertWhiteByNameAndHospital(@Param("name")String name, @Param("hospitalName")String hospitalName);
|
||||
|
||||
/**
|
||||
* 分页 查询
|
||||
*
|
||||
* @param page
|
||||
* @param queryForm
|
||||
* @return
|
||||
*/
|
||||
List<GetCaseplatformExpertWhitePageVo> queryPage(Page page, @Param("queryForm") CaseplatformExpertWhiteQueryForm queryForm);
|
||||
}
|
||||
|
||||
@ -3,8 +3,11 @@ package net.lab1024.sa.admin.module.business.caseplatformcase.controller;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.CaseplatformCaseQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.CaseplatformExpertWhiteQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.CaseplatformCaseVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.GetCaseplatformExpertWhitePageVo;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.service.CaseplatformCaseService;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.service.CaseplatformExpertWhiteService;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcaseabstrac.service.CaseplatformCaseAbstracService;
|
||||
import net.lab1024.sa.common.common.domain.PageResult;
|
||||
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
||||
@ -28,14 +31,13 @@ import javax.validation.Valid;
|
||||
public class CaseplatformExpertWhiteController {
|
||||
|
||||
@Autowired
|
||||
private CaseplatformCaseService caseplatformCaseService;
|
||||
|
||||
private CaseplatformExpertWhiteService caseplatformExpertWhiteService;
|
||||
|
||||
@ApiOperation("医生管理导入")
|
||||
@PostMapping("/caseplatformExpertWhite/import")
|
||||
public ResponseDTO<T> caseplatformExpertWhiteImport(@RequestParam("file") MultipartFile file) {
|
||||
try {
|
||||
caseplatformCaseService.importExperts(file);
|
||||
caseplatformExpertWhiteService.importExperts(file);
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException(e.getMessage());
|
||||
}
|
||||
@ -43,4 +45,9 @@ public class CaseplatformExpertWhiteController {
|
||||
return ResponseDTO.app_ok();
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询")
|
||||
@PostMapping("/caseplatformExpertWhite/queryPage")
|
||||
public ResponseDTO<PageResult<GetCaseplatformExpertWhitePageVo>> getCaseplatformExpertWhitePage(@RequestBody @Valid CaseplatformExpertWhiteQueryForm queryForm) {
|
||||
return caseplatformExpertWhiteService.queryPage(queryForm);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.domain.form;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseSettlementEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CaseStatusEnum;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.constant.CasetypeEnum;
|
||||
import net.lab1024.sa.common.common.domain.PageParam;
|
||||
import net.lab1024.sa.common.common.swagger.ApiModelPropertyEnum;
|
||||
import net.lab1024.sa.common.common.validator.enumeration.CheckEnum;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 病历表 分页查询表单
|
||||
*
|
||||
* @Author HMM
|
||||
* @Date 2024-01-11 15:18:32
|
||||
* @Copyright gdxz
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class CaseplatformExpertWhiteQueryForm extends PageParam{
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "医院名称")
|
||||
private String hospitalName;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
public class GetCaseplatformExpertWhitePageVo {
|
||||
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty(value = "姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "医院名称")
|
||||
private String hospitalName;
|
||||
|
||||
@ApiModelProperty(value = "省")
|
||||
private String prov;
|
||||
|
||||
@ApiModelProperty(value = "科室")
|
||||
private String department;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "职称")
|
||||
private String title;
|
||||
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
@ -233,72 +233,6 @@ public class CaseplatformCaseService {
|
||||
}
|
||||
}
|
||||
|
||||
public void importExperts(MultipartFile file) throws Exception {
|
||||
try (InputStream is = file.getInputStream();
|
||||
Workbook workbook = WorkbookFactory.create(is)) { // 自动识别 .xls 或 .xlsx
|
||||
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
// 从第 1 行开始读取(跳过标题行)
|
||||
int rowNum = 0;
|
||||
for (Iterator<Row> it = sheet.rowIterator(); it.hasNext();) {
|
||||
Row row = it.next();
|
||||
|
||||
// 跳过第一行标题
|
||||
if (rowNum++ == 0) continue;
|
||||
|
||||
// 判断整行是否为空
|
||||
boolean isEmptyRow = true;
|
||||
for (Cell cell : row) {
|
||||
if (cell != null && cell.getCellType() != CellType.BLANK) {
|
||||
isEmptyRow = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isEmptyRow) {
|
||||
continue; // 跳过空行
|
||||
}
|
||||
|
||||
String name = "";
|
||||
String prov = "";
|
||||
String hospitalName = "";
|
||||
String department = "";
|
||||
String title = "";
|
||||
String mobile = "";
|
||||
|
||||
DataFormatter dataFormatter = new DataFormatter();
|
||||
|
||||
Cell cell0 = row.getCell(0); if (cell0 != null) name = cell0.toString().trim();
|
||||
Cell cell1 = row.getCell(1); if (cell1 != null) prov = cell1.toString().trim();
|
||||
Cell cell2 = row.getCell(2); if (cell2 != null) hospitalName = cell2.toString().trim();
|
||||
Cell cell3 = row.getCell(3); if (cell3 != null) department = cell3.toString().trim();
|
||||
Cell cell4 = row.getCell(4); if (cell4 != null) title = cell4.toString().trim();
|
||||
Cell cell5 = row.getCell(5); if (cell5 != null) mobile = dataFormatter.formatCellValue(cell5).trim();
|
||||
|
||||
// 检测是否导入重复
|
||||
LambdaQueryWrapper<ExpertWhiteEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ExpertWhiteEntity::getMobile, mobile);
|
||||
ExpertWhiteEntity expertWhite = expertWhiteDao.selectOne(queryWrapper);
|
||||
if (expertWhite != null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
expertWhite = new ExpertWhiteEntity();
|
||||
expertWhite.setName(name);
|
||||
expertWhite.setProvince(prov);
|
||||
expertWhite.setHospitalName(hospitalName);
|
||||
expertWhite.setDepartment(department);
|
||||
expertWhite.setTitle(title);
|
||||
expertWhite.setMobile(mobile);
|
||||
expertWhite.setCreateTime(LocalDateTime.now());
|
||||
expertWhiteDao.insert(expertWhite);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException("文件读取失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 白名单专家导入
|
||||
|
||||
@ -0,0 +1,119 @@
|
||||
package net.lab1024.sa.admin.module.business.caseplatformcase.service;
|
||||
|
||||
// import com.alibaba.fastjson.JSON;
|
||||
// import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import net.lab1024.sa.admin.module.app.expert.admin.ExpertWhiteEntity;
|
||||
import net.lab1024.sa.admin.module.app.expert.dao.ExpertWhiteEntityDao;
|
||||
import net.lab1024.sa.admin.module.business.area.domain.vo.ProvVO;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.form.*;
|
||||
import net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.GetCaseplatformExpertWhitePageVo;
|
||||
import net.lab1024.sa.admin.module.system.login.domain.LoginEmployeeDetail;
|
||||
import net.lab1024.sa.common.common.domain.PageResult;
|
||||
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
||||
import net.lab1024.sa.common.common.exception.BusinessException;
|
||||
import net.lab1024.sa.common.common.util.SmartBeanUtil;
|
||||
import net.lab1024.sa.common.common.util.SmartPageUtil;
|
||||
import net.lab1024.sa.common.common.util.SmartRequestUtil;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
@Service
|
||||
public class CaseplatformExpertWhiteService {
|
||||
@Autowired
|
||||
private ExpertWhiteEntityDao expertWhiteEntityDao;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param queryForm
|
||||
* @return
|
||||
*/
|
||||
public ResponseDTO<PageResult<GetCaseplatformExpertWhitePageVo>> queryPage(CaseplatformExpertWhiteQueryForm queryForm) {
|
||||
Page<?> page = SmartPageUtil.convert2PageQuery(queryForm);
|
||||
|
||||
List<GetCaseplatformExpertWhitePageVo> list = expertWhiteEntityDao.queryPage(page, queryForm);
|
||||
PageResult<GetCaseplatformExpertWhitePageVo> pageResult = SmartPageUtil.convert2PageResult(page, list);
|
||||
return ResponseDTO.ok(pageResult);
|
||||
}
|
||||
|
||||
// 医生管理导入
|
||||
public void importExperts(MultipartFile file) throws Exception {
|
||||
try (InputStream is = file.getInputStream();
|
||||
Workbook workbook = WorkbookFactory.create(is)) { // 自动识别 .xls 或 .xlsx
|
||||
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
// 从第 1 行开始读取(跳过标题行)
|
||||
int rowNum = 0;
|
||||
for (Iterator<Row> it = sheet.rowIterator(); it.hasNext();) {
|
||||
Row row = it.next();
|
||||
|
||||
// 跳过第一行标题
|
||||
if (rowNum++ == 0) continue;
|
||||
|
||||
// 判断整行是否为空
|
||||
boolean isEmptyRow = true;
|
||||
for (Cell cell : row) {
|
||||
if (cell != null && cell.getCellType() != CellType.BLANK) {
|
||||
isEmptyRow = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isEmptyRow) {
|
||||
continue; // 跳过空行
|
||||
}
|
||||
|
||||
String name = "";
|
||||
String prov = "";
|
||||
String hospitalName = "";
|
||||
String department = "";
|
||||
String title = "";
|
||||
String mobile = "";
|
||||
|
||||
DataFormatter dataFormatter = new DataFormatter();
|
||||
|
||||
Cell cell0 = row.getCell(0); if (cell0 != null) name = cell0.toString().trim();
|
||||
Cell cell1 = row.getCell(1); if (cell1 != null) prov = cell1.toString().trim();
|
||||
Cell cell2 = row.getCell(2); if (cell2 != null) hospitalName = cell2.toString().trim();
|
||||
Cell cell3 = row.getCell(3); if (cell3 != null) department = cell3.toString().trim();
|
||||
Cell cell4 = row.getCell(4); if (cell4 != null) title = cell4.toString().trim();
|
||||
Cell cell5 = row.getCell(5); if (cell5 != null) mobile = dataFormatter.formatCellValue(cell5).trim();
|
||||
|
||||
// 检测是否导入重复
|
||||
LambdaQueryWrapper<ExpertWhiteEntity> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ExpertWhiteEntity::getMobile, mobile);
|
||||
ExpertWhiteEntity expertWhite = expertWhiteEntityDao.selectOne(queryWrapper);
|
||||
if (expertWhite != null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
expertWhite = new ExpertWhiteEntity();
|
||||
expertWhite.setName(name);
|
||||
expertWhite.setProvince(prov);
|
||||
expertWhite.setHospitalName(hospitalName);
|
||||
expertWhite.setDepartment(department);
|
||||
expertWhite.setTitle(title);
|
||||
expertWhite.setMobile(mobile);
|
||||
expertWhite.setCreateTime(LocalDateTime.now());
|
||||
expertWhiteEntityDao.insert(expertWhite);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException("文件读取失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="net.lab1024.sa.admin.module.app.expert.dao.ExpertWhiteEntityDao">
|
||||
|
||||
<!-- 分页查询 -->
|
||||
<select id="queryPage" resultType="net.lab1024.sa.admin.module.business.caseplatformcase.domain.vo.GetCaseplatformExpertWhitePageVo">
|
||||
SELECT *
|
||||
FROM t_caseplatform_expert_white
|
||||
<where>
|
||||
<!--name-->
|
||||
<if test="queryForm.name != null and queryForm.name != ''">
|
||||
AND t_caseplatform_expert_white.name LIKE CONCAT('%', #{queryForm.name}, '%')
|
||||
</if>
|
||||
|
||||
<if test="queryForm.mobile != null and queryForm.mobile != ''">
|
||||
AND t_caseplatform_expert_white.mobile = #{mobile}
|
||||
</if>
|
||||
|
||||
<if test="queryForm.hospitalName != null and queryForm.hospitalName != ''">
|
||||
AND t_caseplatform_expert_white.hospital_name LIKE CONCAT('%', #{hospitalName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
order by t_caseplatform_expert_white.create_time desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
x
Reference in New Issue
Block a user