签约管理

This commit is contained in:
haown 2024-02-29 11:40:18 +08:00
parent 95d06bbceb
commit 3f278c3cb4
46 changed files with 2412 additions and 448 deletions

View File

@ -10,6 +10,8 @@ xinelu:
demoEnabled: true demoEnabled: true
# 文件路径 示例( Windows配置D:/postdischarge/uploadPathLinux配置 /home/postdischarge/uploadPath # 文件路径 示例( Windows配置D:/postdischarge/uploadPathLinux配置 /home/postdischarge/uploadPath
profile: D:/postdischarge/uploadPath profile: D:/postdischarge/uploadPath
# 签约知情书上传
sign-informed-file-url: /signInformed
# 获取ip地址开关 # 获取ip地址开关
addressEnabled: false addressEnabled: false
# 验证码类型 math 数组计算 char 字符验证 # 验证码类型 math 数组计算 char 字符验证
@ -68,7 +70,7 @@ spring:
# 数据库索引 # 数据库索引
database: 6 database: 6
# 密码 # 密码
password: xinelu@6990 password:
# 连接超时时间 # 连接超时时间
timeout: 10s timeout: 10s
lettuce: lettuce:

View File

@ -46,6 +46,11 @@ public class SystemBusinessConfig {
*/ */
private static String captchaType; private static String captchaType;
/**
* 签约知情书地址
*/
private String signInformedFileUrl;
public String getName() { public String getName() {
return name; return name;
} }
@ -129,4 +134,8 @@ public class SystemBusinessConfig {
public static String getUploadPath() { public static String getUploadPath() {
return getProfile() + "/upload"; return getProfile() + "/upload";
} }
public String getSignInformedFileUrl() {
return signInformedFileUrl;
}
} }

View File

@ -133,4 +133,14 @@ public class Constants {
*/ */
public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", public static final String[] JOB_ERROR_STR = {"java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.xinelu.common.utils.file"}; "org.springframework", "org.apache", "com.xinelu.common.utils.file"};
/**
* 图片上传文件带.
*/
public static final String FILE_NAME_SPOT = ".";
/**
* 字符串空格标识
*/
public static final String EMPTY = " ";
} }

View File

@ -0,0 +1,18 @@
package com.xinelu.common.constant;
/**
* @description: 缴费状态
* @author: haown
* @create: 2024-02-29 09:59
**/
public class PaymentStatusConstants {
/**
* 已缴费
*/
public static final String PAID = "PAID";
/**
* 未交费
*/
public static final String UNPAID_FEES = "UNPAID_FEES";
}

View File

@ -0,0 +1,44 @@
package com.xinelu.common.constant;
/**
* @description: 签约记录服务状态
* @author: haown
* @create: 2024-02-29 09:56
**/
public class SignRecordServiceStatusConstants {
/**
* 意向签约
*/
public static final String INTENTIONAL_SIGNING = "INTENTIONAL_SIGNING";
/**
* 服务中
*/
public static final String SERVICE_CENTER = "SERVICE_CENTER";
/**
* 服务结束
*/
public static final String SERVICE_END = "SERVICE_END";
/**
* 在签
*/
public static final String IN_SIGN = "IN_SIGN";
/**
* 忽略
*/
public static final String IGNORE_SIGN = "IGNORE_SIGN";
/**
* 解约
*/
public static final String SEPARATE_SIGN = "SEPARATE_SIGN";
/**
* 续约
*/
public static final String CONTINUOUS_SIGN = "CONTINUOUS_SIGN";
}

View File

@ -2,19 +2,20 @@ package com.xinelu.common.utils.file;
import com.xinelu.common.config.SystemBusinessConfig; import com.xinelu.common.config.SystemBusinessConfig;
import com.xinelu.common.constant.Constants; import com.xinelu.common.constant.Constants;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.exception.file.FileNameLengthLimitExceededException; import com.xinelu.common.exception.file.FileNameLengthLimitExceededException;
import com.xinelu.common.exception.file.FileSizeLimitExceededException; import com.xinelu.common.exception.file.FileSizeLimitExceededException;
import com.xinelu.common.exception.file.InvalidExtensionException; import com.xinelu.common.exception.file.InvalidExtensionException;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
import com.xinelu.common.utils.StringUtils; import com.xinelu.common.utils.StringUtils;
import com.xinelu.common.utils.uuid.Seq; import com.xinelu.common.utils.uuid.Seq;
import org.apache.commons.io.FilenameUtils; import com.xinelu.common.utils.uuid.UUID;
import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Objects; import java.util.Objects;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 文件上传工具类 * 文件上传工具类
@ -195,4 +196,70 @@ public class FileUploadUtils {
} }
return extension; return extension;
} }
/**
* 文件上传
*
* @param baseDir 相对应用的基目录
* @param file 上传的文件
* @param allowedExtension 上传文件类型
* @return 返回上传成功的文件名
* @throws FileSizeLimitExceededException 如果超出最大大小
* @throws FileNameLengthLimitExceededException 文件名太长
* @throws IOException 比如读写文件出错时
* @throws InvalidExtensionException 文件校验异常
*/
public static String uploadSystemBusinessPath(String baseDir, MultipartFile file, String[] allowedExtension)
throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,
InvalidExtensionException {
int fileNameLength = Objects.requireNonNull(file.getOriginalFilename()).length();
if (fileNameLength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH) {
throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
}
//校验文件大小
assertAllowed(file, allowedExtension);
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String substring = uuid.substring(uuid.length() - 10);
//编码文件名
String fileName = extractFilenames(file);
if (StringUtils.isBlank(fileName)) {
throw new ServiceException("文件名称不能为空!");
}
//获取文件路径
String newFileName = "";
if (fileName.contains(Constants.FILE_NAME_SPOT)) {
String firstFileName = fileName.substring(0, fileName.indexOf(".")) + substring;
String lastFileName = fileName.substring(fileName.indexOf("."));
newFileName = firstFileName + lastFileName;
}
if (StringUtils.isBlank(newFileName)) {
throw new ServiceException("文件名称不能为空!");
}
String absPath = getAbsoluteFile(baseDir, newFileName).getAbsolutePath();
file.transferTo(Paths.get(absPath));
return getSystemPathFileName(baseDir, newFileName);
}
/**
* 编码文件名
*/
public static String extractFilenames(MultipartFile file) {
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String substring = uuid.substring(uuid.length() - 10);
return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(),
FilenameUtils.getBaseName(substring), Seq.getId(Seq.uploadSeqType), getExtension(file));
}
/**
* 获取文件名称
*
* @param uploadDir 上传路径
* @param fileName 文件名称
* @return 文件路径
*/
public static String getSystemPathFileName(String uploadDir, String fileName) {
int dirLastIndex = SystemBusinessConfig.getProfile().length() + 1;
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
}
} }

View File

@ -1,26 +1,27 @@
package com.xinelu.manage.controller; package com.xinelu.manage.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xinelu.common.annotation.Log; import com.xinelu.common.annotation.Log;
import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.BusinessType;
import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.service.IPatientBlacklistService;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.dto.PatientBlacklistDto;
import com.xinelu.manage.service.IPatientBlacklistService;
import com.xinelu.manage.vo.PatientBlacklistVo;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 患者-黑明单关系Controller * 患者-黑明单关系Controller
@ -39,9 +40,9 @@ public class PatientBlacklistController extends BaseController {
*/ */
@PreAuthorize("@ss.hasPermi('manage:blacklist:list')") @PreAuthorize("@ss.hasPermi('manage:blacklist:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(PatientBlacklist patientBlacklist) { public TableDataInfo list(PatientBlacklistDto patientBlacklist) {
startPage(); startPage();
List<PatientBlacklist> list = patientBlacklistService.selectPatientBlacklistList(patientBlacklist); List<PatientBlacklistVo> list = patientBlacklistService.selectPatientBlacklistList(patientBlacklist);
return getDataTable(list); return getDataTable(list);
} }
@ -51,9 +52,9 @@ public class PatientBlacklistController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:blacklist:export')") @PreAuthorize("@ss.hasPermi('manage:blacklist:export')")
@Log(title = "患者-黑明单关系", businessType = BusinessType.EXPORT) @Log(title = "患者-黑明单关系", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, PatientBlacklist patientBlacklist) { public void export(HttpServletResponse response, PatientBlacklistDto patientBlacklist) {
List<PatientBlacklist> list = patientBlacklistService.selectPatientBlacklistList(patientBlacklist); List<PatientBlacklistVo> list = patientBlacklistService.selectPatientBlacklistList(patientBlacklist);
ExcelUtil<PatientBlacklist> util = new ExcelUtil<PatientBlacklist>(PatientBlacklist. class); ExcelUtil<PatientBlacklistVo> util = new ExcelUtil<PatientBlacklistVo>(PatientBlacklistVo. class);
util.exportExcel(response, list, "患者-黑明单关系数据"); util.exportExcel(response, list, "患者-黑明单关系数据");
} }

View File

@ -1,27 +1,27 @@
package com.xinelu.manage.controller; package com.xinelu.manage.controller;
import io.swagger.annotations.Api;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xinelu.common.annotation.Log; import com.xinelu.common.annotation.Log;
import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.BusinessType;
import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.service.IPatientInfoService;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.dto.PatientInfoDto;
import com.xinelu.manage.service.IPatientInfoService;
import io.swagger.annotations.Api;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 患者信息Controller * 患者信息Controller
@ -41,7 +41,7 @@ public class PatientInfoController extends BaseController {
*/ */
@PreAuthorize("@ss.hasPermi('manage:patientInfo:list')") @PreAuthorize("@ss.hasPermi('manage:patientInfo:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(PatientInfo patientInfo) { public TableDataInfo list(PatientInfoDto patientInfo) {
startPage(); startPage();
List<PatientInfo> list = patientInfoService.selectPatientInfoList(patientInfo); List<PatientInfo> list = patientInfoService.selectPatientInfoList(patientInfo);
return getDataTable(list); return getDataTable(list);
@ -53,7 +53,7 @@ public class PatientInfoController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:patientInfo:export')") @PreAuthorize("@ss.hasPermi('manage:patientInfo:export')")
@Log(title = "患者信息", businessType = BusinessType.EXPORT) @Log(title = "患者信息", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, PatientInfo patientInfo) { public void export(HttpServletResponse response, PatientInfoDto patientInfo) {
List<PatientInfo> list = patientInfoService.selectPatientInfoList(patientInfo); List<PatientInfo> list = patientInfoService.selectPatientInfoList(patientInfo);
ExcelUtil<PatientInfo> util = new ExcelUtil<PatientInfo>(PatientInfo. class); ExcelUtil<PatientInfo> util = new ExcelUtil<PatientInfo>(PatientInfo. class);
util.exportExcel(response, list, "患者信息数据"); util.exportExcel(response, list, "患者信息数据");

View File

@ -1,26 +1,30 @@
package com.xinelu.manage.controller; package com.xinelu.manage.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xinelu.common.annotation.Log; import com.xinelu.common.annotation.Log;
import com.xinelu.common.constant.Constants;
import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType; import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.SignPatientInformed; import com.xinelu.manage.domain.SignPatientInformed;
import com.xinelu.manage.service.ISignPatientInformedService; import com.xinelu.manage.service.ISignPatientInformedService;
import com.xinelu.common.utils.poi.ExcelUtil; import java.util.List;
import com.xinelu.common.core.page.TableDataInfo; import java.util.Objects;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 签约知情同意书信息Controller * 签约知情同意书信息Controller
@ -95,4 +99,18 @@ public class SignPatientInformedController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(signPatientInformedService.deleteSignPatientInformedByIds(ids)); return toAjax(signPatientInformedService.deleteSignPatientInformedByIds(ids));
} }
/**
* 问诊聊天上传文件接口
*/
@PostMapping("/uploadFile")
public AjaxResult uploadFile(@RequestParam("file") MultipartFile multipartFile) throws Exception {
if (Objects.isNull(multipartFile) || StringUtils.isBlank(multipartFile.getOriginalFilename())) {
return AjaxResult.error("当前文件不存在,无法上传!");
}
if (multipartFile.getOriginalFilename().contains(Constants.EMPTY)) {
return AjaxResult.error("当前文件名含有空格,请先去除空格在上传!");
}
return signPatientInformedService.uploadFile(multipartFile);
}
} }

View File

@ -0,0 +1,90 @@
package com.xinelu.manage.controller;
import com.xinelu.common.core.controller.BaseController;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.manage.dto.PatientSignStatusDto;
import com.xinelu.manage.dto.PatientSignAddDto;
import com.xinelu.manage.dto.SignPatientListDto;
import com.xinelu.manage.service.ISignPatientRecordService;
import com.xinelu.manage.vo.PatientSignInfoVo;
import com.xinelu.manage.vo.PatientSignRecordVo;
import com.xinelu.manage.vo.SignPatientListVo;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 患者签约记录Controller
* @author: haown
* @create: 2024-02-28 16:03
**/
@RestController
@RequestMapping("/manage/signRecord")
public class SignPatientRecordController extends BaseController {
@Resource
private ISignPatientRecordService signPatientRecordService;
/**
* 查询签约患者列表
*/
@ApiOperation("查询签约患者列表")
@PreAuthorize("@ss.hasPermi('manage:signRecord:list')")
@GetMapping("/list")
public TableDataInfo list(SignPatientListDto signPatientRecord) {
startPage();
List<SignPatientListVo> list = signPatientRecordService.selectList(signPatientRecord);
return getDataTable(list);
}
/**
* 签约
*/
@ApiOperation("签约")
@PreAuthorize("@ss.hasPermi('manage:signRecord:add')")
@PostMapping("/sign")
public AjaxResult sign(@RequestBody PatientSignAddDto body) {
return toAjax(signPatientRecordService.add(body));
}
/**
* 根据患者主键查询签约记录
*/
@ApiOperation("根据患者主键查询签约记录")
@PreAuthorize("@ss.hasPermi('manage:signRecord:list')")
@GetMapping("/getByPatient/{patientId}")
public AjaxResult getByPatient(@PathVariable("patientId") Long patientId) {
List<PatientSignRecordVo> list = signPatientRecordService.getByPatient(patientId);
return AjaxResult.success(list);
}
/**
* 根据签约记录表主键查询签约详情
*/
@ApiOperation("根据签约记录表主键查询签约详情")
@PreAuthorize("@ss.hasPermi('manage:signRecord:list')")
@GetMapping("/getByRecordId/{patientSignRecordId}")
public AjaxResult getByRecordId(@PathVariable("patientSignRecordId") Long patientSignRecordId) {
PatientSignInfoVo signInfo = signPatientRecordService.getByRecordId(patientSignRecordId);
return AjaxResult.success(signInfo);
}
/**
* 解约
*/
@ApiOperation("解约")
@PreAuthorize("@ss.hasPermi('manage:signRecord:edit')")
@PostMapping("/updateSignStatus")
public AjaxResult updateSignStatus(@RequestBody PatientSignStatusDto updateSignStatus) {
int flag = signPatientRecordService.updateSignStatus(updateSignStatus);
return flag < 0 ? AjaxResult.error() : AjaxResult.success();
}
}

View File

@ -55,4 +55,8 @@ public class PatientBlacklist extends BaseEntity {
@ApiModelProperty(value = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)") @ApiModelProperty(value = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)")
@Excel(name = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)") @Excel(name = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)")
private String blacklistSource; private String blacklistSource;
/** 删除标识0未删除1已删除 */
@ApiModelProperty(value = "删除标识0未删除1已删除")
private Integer delFlag;
} }

View File

@ -40,13 +40,16 @@ public class PatientInfo extends BaseEntity {
private String patientPhone; private String patientPhone;
/** 家属电话 */ /** 家属电话 */
@ApiModelProperty(value = "家属电话")
private String familyMemberPhone; private String familyMemberPhone;
/** 出生日期格式yyyy-MM-dd */ /** 出生日期格式yyyy-MM-dd */
@ApiModelProperty(value = "出生日期格式yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date birthDate; private Date birthDate;
/** 身份证号 */ /** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo; private String cardNo;
/** 性别MALEFEMALE */ /** 性别MALEFEMALE */
@ -61,6 +64,7 @@ public class PatientInfo extends BaseEntity {
/** 患者类型预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT /** 患者类型预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT
签约患者CONTRACTED_PATIENT */ 签约患者CONTRACTED_PATIENT */
@ApiModelProperty(value = "患者类型预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT签约患者CONTRACTED_PATIENT")
private String patientType; private String patientType;
/** 签约状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END解约SEPARATE_SIGN续约CONTINUOUS_SIGN */ /** 签约状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END解约SEPARATE_SIGN续约CONTINUOUS_SIGN */
@ -85,6 +89,7 @@ public class PatientInfo extends BaseEntity {
private String visitMethod; private String visitMethod;
/** 主要诊断 */ /** 主要诊断 */
@ApiModelProperty(value = "主要诊断")
private String mainDiagnosis; private String mainDiagnosis;
/** 主治医生 */ /** 主治医生 */
@ -93,6 +98,7 @@ public class PatientInfo extends BaseEntity {
private String attendingPhysician; private String attendingPhysician;
/** 所属医院id */ /** 所属医院id */
@ApiModelProperty(value = "所属医院id")
private Long hospitalAgencyId; private Long hospitalAgencyId;
/** 所属医院名称 */ /** 所属医院名称 */
@ -101,6 +107,7 @@ public class PatientInfo extends BaseEntity {
private String hospitalAgencyName; private String hospitalAgencyName;
/** 所属院区id */ /** 所属院区id */
@ApiModelProperty(value = "所属院区id")
private Long campusAgencyId; private Long campusAgencyId;
/** 所属院区名称 */ /** 所属院区名称 */
@ -109,6 +116,7 @@ public class PatientInfo extends BaseEntity {
private String campusAgencyName; private String campusAgencyName;
/** 所属科室id */ /** 所属科室id */
@ApiModelProperty(value = "所属科室id")
private Long departmentId; private Long departmentId;
/** 所属科室名称 */ /** 所属科室名称 */
@ -117,6 +125,7 @@ public class PatientInfo extends BaseEntity {
private String departmentName; private String departmentName;
/** 所属病区id */ /** 所属病区id */
@ApiModelProperty(value = "所属病区id")
private Long wardId; private Long wardId;
/** 所属病区名称 */ /** 所属病区名称 */
@ -130,33 +139,43 @@ public class PatientInfo extends BaseEntity {
private String admissionNumber; private String admissionNumber;
/** 责任护士 */ /** 责任护士 */
@ApiModelProperty(value = "责任护士")
private String responsibleNurse; private String responsibleNurse;
/** 就诊流水号 */ /** 就诊流水号 */
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber; private String visitSerialNumber;
/** 手术名称 */ /** 手术名称 */
@ApiModelProperty(value = "手术名称")
private String surgicalName; private String surgicalName;
/** 入院时间时间格式yyyy-MM-dd */ /** 入院时间时间格式yyyy-MM-dd */
@ApiModelProperty(value = "入院时间")
private Date admissionDate; private Date admissionDate;
/** 出院时间出院患者时间格式yyyy-MM-dd */ /** 出院时间出院患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "出院时间(出院患者)")
private Date dischargeDate; private Date dischargeDate;
/** 病历内容 */ /** 病历内容 */
@ApiModelProperty(value = "病历内容")
private String medicalRecordContent; private String medicalRecordContent;
/** 预约资料组(取值以及枚举未知?) */ /** 预约治疗组(取值以及枚举未知?) */
@ApiModelProperty(value = "预约治疗组(取值以及枚举未知?)")
private String appointmentTreatmentGroup; private String appointmentTreatmentGroup;
/** 登记号(预住院患者) */ /** 登记号(预住院患者) */
@ApiModelProperty(value = "登记号(预住院患者)")
private String registrationNo; private String registrationNo;
/** 登记日期预住院患者时间格式yyyy-MM-dd */ /** 登记日期预住院患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "登记日期预住院患者时间格式yyyy-MM-dd")
private Date registrationDate; private Date registrationDate;
/** 预约时间预住院患者时间格式yyyy-MM-dd */ /** 预约时间预住院患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "预约时间预住院患者时间格式yyyy-MM-dd")
private Date appointmentDate; private Date appointmentDate;
/** 门诊号(门诊患者) */ /** 门诊号(门诊患者) */
@ -175,9 +194,11 @@ public class PatientInfo extends BaseEntity {
private String dischargeMethod; private String dischargeMethod;
/** 微信openid微信小程序唯一标识 */ /** 微信openid微信小程序唯一标识 */
@ApiModelProperty(value = "微信openid微信小程序唯一标识")
private String openId; private String openId;
/** 微信unionid微信小程序和微信公众号统一标识 */ /** 微信unionid微信小程序和微信公众号统一标识 */
@ApiModelProperty(value = "微信unionid微信小程序和微信公众号统一标识 ")
private String unionId; private String unionId;
/** 患者来源微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END */ /** 患者来源微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END */

View File

@ -0,0 +1,48 @@
package com.xinelu.manage.domain;
import com.xinelu.common.annotation.Excel;
import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 签约知情同意书信息对象 sign_patient_informed
*
* @author haown
* @date 2024-02-27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "签约知情同意书信息对象", description = "sign_patient_informed")
public class SignPatientInformed extends BaseEntity {
private static final long serialVersionUID=1L;
/** 主键id */
private Long id;
/** 患者签约记录表id */
@ApiModelProperty(value = "患者签约记录表id")
@Excel(name = "患者签约记录表id")
private Long signPatientRecordId;
/** 患者id */
@ApiModelProperty(value = "患者id")
private Long patientId;
/** 知情书文件名称 */
@ApiModelProperty(value = "知情书文件名称")
private String informedFileName;
/** 知情书文件存放路径 */
@ApiModelProperty(value = "知情书文件存放路径")
private String informedFilePath;
}

View File

@ -35,6 +35,11 @@ public class SignPatientPackage extends BaseEntity {
@Excel(name = "患者信息表id") @Excel(name = "患者信息表id")
private Long patientId; private Long patientId;
/** 患者签约记录表id */
@ApiModelProperty(value = "患者签约记录表id")
@Excel(name = "患者签约记录表id")
private Long signPatientRecordId;
/** 服务包表id */ /** 服务包表id */
@ApiModelProperty(value = "服务包表id") @ApiModelProperty(value = "服务包表id")
@Excel(name = "服务包表id") @Excel(name = "服务包表id")

View File

@ -9,8 +9,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/** /**
* 签约患者服务包硬件信息对象 sign_patient_package_hardware * 签约患者服务包硬件信息对象 sign_patient_package_hardware
@ -23,13 +21,18 @@ import org.apache.commons.lang3.builder.ToStringStyle;
@NoArgsConstructor @NoArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "签约患者服务包硬件信息对象", description = "sign_patient_package_hardware") @ApiModel(value = "签约患者服务包硬件信息对象", description = "sign_patient_package_hardware")
public class SignPatientPackageHardware extends BaseEntity public class SignPatientPackageHardware extends BaseEntity {
{
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
/** 主键id */ /** 主键id */
private Long id; private Long id;
/** 患者签约记录表id */
@ApiModelProperty(value = "患者签约记录表id")
@Excel(name = "患者签约记录表id")
private Long signPatientRecordId;
/** 签约患者服务包表id */ /** 签约患者服务包表id */
@ApiModelProperty(value = "签约患者服务包表id") @ApiModelProperty(value = "签约患者服务包表id")
@Excel(name = "签约患者服务包表id") @Excel(name = "签约患者服务包表id")
@ -66,21 +69,4 @@ private static final long serialVersionUID=1L;
private String hardwareIntroduce; private String hardwareIntroduce;
@Override
public String toString(){
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id",getId())
.append("signPatientPackageId",getSignPatientPackageId())
.append("hardwareType",getHardwareType())
.append("snCode",getSnCode())
.append("hardwarePrice",getHardwarePrice())
.append("hardwareStatus",getHardwareStatus())
.append("hardwareManufacturer",getHardwareManufacturer())
.append("hardwareIntroduce",getHardwareIntroduce())
.append("createBy",getCreateBy())
.append("createTime",getCreateTime())
.append("updateBy",getUpdateBy())
.append("updateTime",getUpdateTime())
.toString();
}
} }

View File

@ -0,0 +1,185 @@
package com.xinelu.manage.domain;
import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 患者签约记录表
* @TableName sign_patient_record
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "患者签约记录表", description = "sign_patient_record")
public class SignPatientRecord extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键id
*/
@ApiModelProperty(value = "主键id")
private Long id;
/**
* 患者信息表id
*/
@ApiModelProperty(value = "患者信息表id")
private Long patientId;
/**
* 患者姓名
*/
@ApiModelProperty(value = "患者姓名")
private String patientName;
/**
* 患者电话
*/
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo;
/**
* 签约时间格式yyyy-MM-dd HH:mm:ss
*/
@ApiModelProperty(value = "签约时间格式yyyy-MM-dd HH:mm:ss")
private Date signTime;
/**
* 签约时所属医院id
*/
@ApiModelProperty(value = "签约时所属医院id")
private Long hospitalAgencyId;
/**
* 签约时所属医院名称
*/
@ApiModelProperty(value = "签约时所属医院名称")
private String hospitalAgencyName;
/**
* 签约时所属院区id
*/
@ApiModelProperty(value = "签约时所属院区id")
private Long campusAgencyId;
/**
* 签约时所属院区名称
*/
@ApiModelProperty(value = "签约时所属院区名称")
private String campusAgencyName;
/**
* 签约时所属科室id
*/
@ApiModelProperty(value = "签约时所属科室id")
private Long departmentId;
/**
* 签约时所属科室名称
*/
@ApiModelProperty(value = "签约时所属科室名称")
private String departmentName;
/**
* 签约时所属病区id
*/
@ApiModelProperty(value = "签约时所属病区id")
private Long wardId;
/**
* 签约时所属病区名称
*/
@ApiModelProperty(value = "签约时所属病区名称")
private String wardName;
/**
* 就诊流水号
*/
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;
/**
* 就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL
*/
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
/**
* 签约时诊断
*/
@ApiModelProperty(value = "签约时诊断")
private String signDiagnosis;
/**
* 审核后诊断
*/
@ApiModelProperty(value = "审核后诊断")
private String reviewDiagnosis;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
/**
* 签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN
*/
@ApiModelProperty(value = "签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN")
private String signStatus;
/**
* 意向来源意向签约字典枚举
*/
@ApiModelProperty(value = "意向来源(意向签约,字典枚举)")
private String intentionalSource;
/**
* 加入意向时间意向签约
*/
@ApiModelProperty(value = "加入意向时间(意向签约)")
private Date intentionalTime;
/**
* 开单医生id意向签约
*/
@ApiModelProperty(value = "开单医生id意向签约")
private Long billingDoctorId;
/**
* 开单医生姓名意向签约
*/
@ApiModelProperty(value = "开单医生姓名(意向签约)")
private String billingDoctorName;
/**
* 金额
*/
@ApiModelProperty(value = "金额")
private BigDecimal price;
/**
* 缴费状态已缴费PAID未交费UNPAID_FEES
*/
@ApiModelProperty(value = "缴费状态已缴费PAID未交费UNPAID_FEES")
private String paymentStatus;
/**
* 删除标识0未删除1已删除
*/
@ApiModelProperty(value = "删除标识0未删除1已删除")
private Integer delFlag;
}

View File

@ -1,14 +0,0 @@
package com.xinelu.manage.dto;
import lombok.Data;
/**
* @Description 测试
* @Author 纪寒
* @Date 2024-02-18 16:31:10
* @Version 1.0
*/
@Data
public class ManageTestDTO {
private Long id;
}

View File

@ -0,0 +1,46 @@
package com.xinelu.manage.dto;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 黑名单列表传输对象
* @author: haown
* @create: 2024-02-28 13:15
**/
@Data
public class PatientBlacklistDto {
/** 患者姓名 */
@ApiModelProperty(value = "患者姓名")
@Excel(name = "患者姓名")
private String patientName;
/** 患者电话 */
@ApiModelProperty(value = "患者电话")
@Excel(name = "患者电话")
private String patientPhone;
/** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo;
/** 所属医院id */
@ApiModelProperty(value = "所属医院id")
private Long hospitalAgencyId;
/** 所属科室id */
@ApiModelProperty(value = "所属科室id")
private Long departmentId;
/** 异常原因字典表id */
@ApiModelProperty(value = "异常原因字典表id")
private Long abnormalCauseId;
/** 异常原因字典表值 */
@ApiModelProperty(value = "异常原因字典表值")
private String abnormalCauseValue;
@ApiModelProperty(value = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)")
private String blacklistSource;
}

View File

@ -0,0 +1,111 @@
package com.xinelu.manage.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
/**
* @description: 患者列表查询传输对象
* @author: haown
* @create: 2024-02-27 16:20
**/
@ApiModel("患者列表查询传输对象")
@Data
public class PatientInfoDto {
@ApiModelProperty(value = "患者姓名")
private String patientName;
/** 患者电话 */
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/** 主要诊断 */
@ApiModelProperty(value = "主要诊断")
private String mainDiagnosis;
/** 所属医院id */
@ApiModelProperty(value = "所属医院id")
private Long hospitalAgencyId;
/** 所属院区id */
@ApiModelProperty(value = "所属院区id")
private Long campusAgencyId;
/** 所属科室id */
@ApiModelProperty(value = "所属科室id")
private Long departmentId;
/** 所属病区id */
@ApiModelProperty(value = "所属病区id")
private Long wardId;
/** 患者类型预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT
签约患者CONTRACTED_PATIENT */
@ApiModelProperty(value = "患者类型预住院患者PRE_HOSPITALIZED_PATIENT在院患者IN_HOSPITAL_PATIENT门诊患者OUTPATIENT出院患者DISCHARGED_PATIENT签约患者CONTRACTED_PATIENT")
private String patientType;
/** 主治医生 */
@ApiModelProperty(value = "主治医生")
private String attendingPhysician;
/** 患者来源微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END */
@ApiModelProperty(value = "患者来源微信小程序WE_CHAT_APPLET微信公众号WE_CHAT_OFFICIAL_ACCOUNT管理端MANAGE_END")
private String patientSource;
/** 就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL */
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
/** 就诊时间开始门诊患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "就诊时间开始")
private Date visitTimeStart;
/** 就诊时间结束门诊患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "就诊时间结束")
private Date visitTimeEnd;
/** 入院时间开始时间格式yyyy-MM-dd */
@ApiModelProperty(value = "入院时间开始")
private Date admissionDateStart;
/** 入院时间结束时间格式yyyy-MM-dd */
@ApiModelProperty(value = "入院时间结束")
private Date admissionDateEnd;
/** 预约时间开始预住院患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "预约时间开始预住院患者时间格式yyyy-MM-dd")
private Date appointmentDateStart;
/** 预约时间开始预住院患者时间格式yyyy-MM-dd */
@ApiModelProperty(value = "预约时间结束预住院患者时间格式yyyy-MM-dd")
private Date appointmentDateEnd;
/** 预约治疗组(取值以及枚举未知?) */
@ApiModelProperty(value = "预约治疗组(取值以及枚举未知?)")
private String appointmentTreatmentGroup;
/** 开证医生(预住院患者) */
@ApiModelProperty(value = "开证医生")
private String certificateIssuingDoctor;
/** 登记号(预住院患者) */
@ApiModelProperty(value = "登记号(预住院患者)")
private String registrationNo;
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;
/** 责任护士 */
@ApiModelProperty(value = "责任护士")
private String responsibleNurse;
/** 手术名称 */
@ApiModelProperty(value = "手术名称")
private String surgicalName;
/** 年龄 */
@ApiModelProperty(value = "年龄")
private Integer age;
}

View File

@ -0,0 +1,28 @@
package com.xinelu.manage.dto;
import com.xinelu.manage.domain.SignPatientInformed;
import com.xinelu.manage.domain.SignPatientPackage;
import com.xinelu.manage.domain.SignPatientPackageHardware;
import com.xinelu.manage.domain.SignPatientRecord;
import io.swagger.annotations.ApiModel;
import java.util.List;
import lombok.Data;
/**
* @description: 患者签约传输对象
* @author: haown
* @create: 2024-02-29 09:26
**/
@ApiModel("患者签约传输对象")
@Data
public class PatientSignAddDto {
private SignPatientRecord record;
private SignPatientPackage signPackage;
private List<SignPatientPackageHardware> devices;
private SignPatientInformed signPatientInformed;
}

View File

@ -0,0 +1,27 @@
package com.xinelu.manage.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 修改签约记录状态传输对象
* @author: haown
* @create: 2024-02-29 10:29
**/
@Data
public class PatientSignStatusDto {
private Long id;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
/**
* 签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN
*/
@ApiModelProperty(value = "签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN")
private String signStatus;
}

View File

@ -0,0 +1,101 @@
package com.xinelu.manage.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
/**
* @description: 签约患者查询传输对象
* @author: haown
* @create: 2024-02-28 17:16
**/
@ApiModel("签约患者查询传输对象")
@Data
public class SignPatientListDto {
/**
* 患者姓名
*/
@ApiModelProperty(value = "患者姓名")
private String patientName;
/**
* 患者电话
*/
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/**
* 就诊流水号
*/
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;
/**
* 就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL
*/
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
/**
* 加入意向时间意向签约
*/
@ApiModelProperty(value = "加入意向时间开始(意向签约)")
private Date intentionalTimeStart;
/**
* 加入意向时间意向签约
*/
@ApiModelProperty(value = "加入意向时间结束(意向签约)")
private Date intentionalTimeEnd;
/**
* 意向来源意向签约字典枚举
*/
@ApiModelProperty(value = "意向来源(意向签约,字典枚举)")
private String intentionalSource;
/**
* 签约时间格式yyyy-MM-dd
*/
@ApiModelProperty(value = "签约时间开始格式yyyy-MM-dd")
private Date signTimeStart;
@ApiModelProperty(value = "签约时间结束格式yyyy-MM-dd")
private Date signTimeEnd;
/**
* 签约时所属医院id
*/
@ApiModelProperty(value = "签约时所属医院id")
private Long hospitalAgencyId;
/**
* 签约时所属院区id
*/
@ApiModelProperty(value = "签约时所属院区id")
private Long campusAgencyId;
/**
* 签约时所属科室id
*/
@ApiModelProperty(value = "签约时所属科室id")
private Long departmentId;
/**
* 签约时所属病区id
*/
@ApiModelProperty(value = "签约时所属病区id")
private Long wardId;
/**
* 签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN
*/
@ApiModelProperty(value = "签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN")
private String signStatus;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
}

View File

@ -1,8 +1,9 @@
package com.xinelu.manage.mapper; package com.xinelu.manage.mapper;
import java.util.List;
import com.xinelu.manage.domain.PatientBlacklist; import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.dto.PatientBlacklistDto;
import com.xinelu.manage.vo.PatientBlacklistVo;
import java.util.List;
/** /**
* 患者-黑明单关系Mapper接口 * 患者-黑明单关系Mapper接口
@ -25,7 +26,7 @@ public interface PatientBlacklistMapper {
* @param patientBlacklist 患者-黑明单关系 * @param patientBlacklist 患者-黑明单关系
* @return 患者-黑明单关系集合 * @return 患者-黑明单关系集合
*/ */
public List<PatientBlacklist> selectPatientBlacklistList(PatientBlacklist patientBlacklist); public List<PatientBlacklistVo> selectPatientBlacklistList(PatientBlacklistDto patientBlacklist);
/** /**
* 新增患者-黑明单关系 * 新增患者-黑明单关系

View File

@ -1,8 +1,8 @@
package com.xinelu.manage.mapper; package com.xinelu.manage.mapper;
import java.util.List;
import com.xinelu.manage.domain.PatientInfo; import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.dto.PatientInfoDto;
import java.util.List;
/** /**
* 患者信息Mapper接口 * 患者信息Mapper接口
@ -25,7 +25,7 @@ public interface PatientInfoMapper {
* @param patientInfo 患者信息 * @param patientInfo 患者信息
* @return 患者信息集合 * @return 患者信息集合
*/ */
List<PatientInfo> selectPatientInfoList(PatientInfo patientInfo); List<PatientInfo> selectPatientInfoList(PatientInfoDto patientInfo);
/** /**
* 新增患者信息 * 新增患者信息

View File

@ -7,7 +7,7 @@ import com.xinelu.manage.domain.SignPatientInformed;
/** /**
* 签约知情同意书信息Mapper接口 * 签约知情同意书信息Mapper接口
* *
* @author haown * @author xinelu
* @date 2024-02-27 * @date 2024-02-27
*/ */
public interface SignPatientInformedMapper { public interface SignPatientInformedMapper {

View File

@ -7,7 +7,7 @@ import com.xinelu.manage.domain.SignPatientPackageHardware;
/** /**
* 签约患者服务包硬件信息Mapper接口 * 签约患者服务包硬件信息Mapper接口
* *
* @author xinelu * @author haown
* @date 2024-02-27 * @date 2024-02-27
*/ */
public interface SignPatientPackageHardwareMapper { public interface SignPatientPackageHardwareMapper {

View File

@ -0,0 +1,36 @@
package com.xinelu.manage.mapper;
import com.xinelu.manage.domain.SignPatientRecord;
import com.xinelu.manage.dto.SignPatientListDto;
import com.xinelu.manage.vo.PatientSignInfoVo;
import com.xinelu.manage.vo.PatientSignRecordVo;
import com.xinelu.manage.vo.SignPatientListVo;
import java.util.List;
/**
* @author haown
* @description 针对表sign_patient_record(签约记录表)的数据库操作Mapper
* @createDate 2024-02-28 15:05:17
* @Entity com.xinelu.manage.domain.SignPatientRecord
*/
public interface SignPatientRecordMapper {
int deleteByPrimaryKey(Long id);
int insert(SignPatientRecord record);
int insertSelective(SignPatientRecord record);
SignPatientRecord selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(SignPatientRecord record);
int updateByPrimaryKey(SignPatientRecord record);
List<SignPatientListVo> selectList(SignPatientListDto signPatientRecord);
PatientSignInfoVo getByRecordId(Long patientSignRecordId);
List<PatientSignRecordVo> getByPatient(Long patientId);
}

View File

@ -1,8 +1,9 @@
package com.xinelu.manage.service; package com.xinelu.manage.service;
import java.util.List;
import com.xinelu.manage.domain.PatientBlacklist; import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.dto.PatientBlacklistDto;
import com.xinelu.manage.vo.PatientBlacklistVo;
import java.util.List;
/** /**
* 患者-黑明单关系Service接口 * 患者-黑明单关系Service接口
@ -25,7 +26,7 @@ public interface IPatientBlacklistService {
* @param patientBlacklist 患者-黑明单关系 * @param patientBlacklist 患者-黑明单关系
* @return 患者-黑明单关系集合 * @return 患者-黑明单关系集合
*/ */
public List<PatientBlacklist> selectPatientBlacklistList(PatientBlacklist patientBlacklist); public List<PatientBlacklistVo> selectPatientBlacklistList(PatientBlacklistDto patientBlacklist);
/** /**
* 新增患者-黑明单关系 * 新增患者-黑明单关系

View File

@ -1,8 +1,8 @@
package com.xinelu.manage.service; package com.xinelu.manage.service;
import java.util.List;
import com.xinelu.manage.domain.PatientInfo; import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.dto.PatientInfoDto;
import java.util.List;
/** /**
* 患者信息Service接口 * 患者信息Service接口
@ -25,7 +25,7 @@ public interface IPatientInfoService {
* @param patientInfo 患者信息 * @param patientInfo 患者信息
* @return 患者信息集合 * @return 患者信息集合
*/ */
public List<PatientInfo> selectPatientInfoList(PatientInfo patientInfo); public List<PatientInfo> selectPatientInfoList(PatientInfoDto patientInfo);
/** /**
* 新增患者信息 * 新增患者信息

View File

@ -1,13 +1,16 @@
package com.xinelu.manage.service; package com.xinelu.manage.service;
import java.util.List; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.exception.file.InvalidExtensionException;
import com.xinelu.manage.domain.SignPatientInformed; import com.xinelu.manage.domain.SignPatientInformed;
import java.io.IOException;
import java.util.List;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 签约知情同意书信息Service接口 * 签约知情同意书信息Service接口
* *
* @author haown * @author xinelu
* @date 2024-02-27 * @date 2024-02-27
*/ */
public interface ISignPatientInformedService { public interface ISignPatientInformedService {
@ -58,4 +61,7 @@ public interface ISignPatientInformedService {
* @return 结果 * @return 结果
*/ */
public int deleteSignPatientInformedById(Long id); public int deleteSignPatientInformedById(Long id);
AjaxResult uploadFile(MultipartFile multipartFile) throws IOException, InvalidExtensionException;
} }

View File

@ -0,0 +1,37 @@
package com.xinelu.manage.service;
import com.xinelu.manage.dto.PatientSignStatusDto;
import com.xinelu.manage.dto.PatientSignAddDto;
import com.xinelu.manage.dto.SignPatientListDto;
import com.xinelu.manage.vo.PatientSignInfoVo;
import com.xinelu.manage.vo.PatientSignRecordVo;
import com.xinelu.manage.vo.SignPatientListVo;
import java.util.List;
/**
* @author haown
* @description 针对表sign_patient_record(签约记录表)的数据库操作Service
* @createDate 2024-02-28 15:05:02
*/
public interface ISignPatientRecordService {
List<SignPatientListVo> selectList(SignPatientListDto signPatientRecord);
/**
* 根据签约编号查询居民签约信息
* @param patientSignRecordId
* @return
*/
PatientSignInfoVo getByRecordId(Long patientSignRecordId);
/**
* 根据患者主键查询患者签约记录列表
* @param patientId
* @return
*/
List<PatientSignRecordVo> getByPatient(Long patientId);
int add(PatientSignAddDto body);
int updateSignStatus(PatientSignStatusDto patientCancelSignDto);
}

View File

@ -1,12 +1,15 @@
package com.xinelu.manage.service.impl; package com.xinelu.manage.service.impl;
import java.util.List;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.dto.PatientBlacklistDto;
import com.xinelu.manage.mapper.PatientBlacklistMapper;
import com.xinelu.manage.service.IPatientBlacklistService;
import com.xinelu.manage.vo.PatientBlacklistVo;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xinelu.manage.mapper.PatientBlacklistMapper;
import com.xinelu.manage.domain.PatientBlacklist;
import com.xinelu.manage.service.IPatientBlacklistService;
/** /**
* 患者-黑明单关系Service业务层处理 * 患者-黑明单关系Service业务层处理
@ -37,7 +40,7 @@ public class PatientBlacklistServiceImpl implements IPatientBlacklistService {
* @return 患者-黑明单关系 * @return 患者-黑明单关系
*/ */
@Override @Override
public List<PatientBlacklist> selectPatientBlacklistList(PatientBlacklist patientBlacklist) { public List<PatientBlacklistVo> selectPatientBlacklistList(PatientBlacklistDto patientBlacklist) {
return patientBlacklistMapper.selectPatientBlacklistList(patientBlacklist); return patientBlacklistMapper.selectPatientBlacklistList(patientBlacklist);
} }
@ -49,6 +52,7 @@ public class PatientBlacklistServiceImpl implements IPatientBlacklistService {
*/ */
@Override @Override
public int insertPatientBlacklist(PatientBlacklist patientBlacklist) { public int insertPatientBlacklist(PatientBlacklist patientBlacklist) {
patientBlacklist.setDelFlag(0);
patientBlacklist.setCreateTime(DateUtils.getNowDate()); patientBlacklist.setCreateTime(DateUtils.getNowDate());
return patientBlacklistMapper.insertPatientBlacklist(patientBlacklist); return patientBlacklistMapper.insertPatientBlacklist(patientBlacklist);
} }
@ -84,6 +88,10 @@ public class PatientBlacklistServiceImpl implements IPatientBlacklistService {
*/ */
@Override @Override
public int deletePatientBlacklistById(Long id) { public int deletePatientBlacklistById(Long id) {
return patientBlacklistMapper.deletePatientBlacklistById(id); PatientBlacklist patientBlacklist = new PatientBlacklist();
patientBlacklist.setId(id);
patientBlacklist.setDelFlag(1);
patientBlacklist.setUpdateTime(new Date());
return patientBlacklistMapper.updatePatientBlacklist(patientBlacklist);
} }
} }

View File

@ -1,12 +1,13 @@
package com.xinelu.manage.service.impl; package com.xinelu.manage.service.impl;
import java.util.List;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.dto.PatientInfoDto;
import com.xinelu.manage.mapper.PatientInfoMapper;
import com.xinelu.manage.service.IPatientInfoService;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xinelu.manage.mapper.PatientInfoMapper;
import com.xinelu.manage.domain.PatientInfo;
import com.xinelu.manage.service.IPatientInfoService;
/** /**
* 患者信息Service业务层处理 * 患者信息Service业务层处理
@ -38,7 +39,7 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
* @return 患者信息 * @return 患者信息
*/ */
@Override @Override
public List<PatientInfo> selectPatientInfoList(PatientInfo patientInfo) { public List<PatientInfo> selectPatientInfoList(PatientInfoDto patientInfo) {
return patientInfoMapper.selectPatientInfoList(patientInfo); return patientInfoMapper.selectPatientInfoList(patientInfo);
} }
@ -51,6 +52,7 @@ public class PatientInfoServiceImpl implements IPatientInfoService {
@Override @Override
public int insertPatientInfo(PatientInfo patientInfo) { public int insertPatientInfo(PatientInfo patientInfo) {
patientInfo.setCreateTime(DateUtils.getNowDate()); patientInfo.setCreateTime(DateUtils.getNowDate());
patientInfo.setDelFlag(0);
return patientInfoMapper.insertPatientInfo(patientInfo); return patientInfoMapper.insertPatientInfo(patientInfo);
} }

View File

@ -1,23 +1,34 @@
package com.xinelu.manage.service.impl; package com.xinelu.manage.service.impl;
import java.util.List; import com.xinelu.common.config.SystemBusinessConfig;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.exception.file.InvalidExtensionException;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
import javax.annotation.Resource; import com.xinelu.common.utils.file.FileUploadUtils;
import org.springframework.stereotype.Service; import com.xinelu.common.utils.file.MimeTypeUtils;
import com.xinelu.manage.mapper.SignPatientInformedMapper;
import com.xinelu.manage.domain.SignPatientInformed; import com.xinelu.manage.domain.SignPatientInformed;
import com.xinelu.manage.mapper.SignPatientInformedMapper;
import com.xinelu.manage.service.ISignPatientInformedService; import com.xinelu.manage.service.ISignPatientInformedService;
import java.io.IOException;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
/** /**
* 签约知情同意书信息Service业务层处理 * 签约知情同意书信息Service业务层处理
* *
* @author haown * @author xinelu
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Service @Service
public class SignPatientInformedServiceImpl implements ISignPatientInformedService { public class SignPatientInformedServiceImpl implements ISignPatientInformedService {
@Resource @Resource
private SignPatientInformedMapper signPatientInformedMapper; private SignPatientInformedMapper signPatientInformedMapper;
@Resource
private SystemBusinessConfig systemBusinessConfig;
/** /**
* 查询签约知情同意书信息 * 查询签约知情同意书信息
@ -86,4 +97,20 @@ public class SignPatientInformedServiceImpl implements ISignPatientInformedServi
public int deleteSignPatientInformedById(Long id) { public int deleteSignPatientInformedById(Long id) {
return signPatientInformedMapper.deleteSignPatientInformedById(id); return signPatientInformedMapper.deleteSignPatientInformedById(id);
} }
@Override public AjaxResult uploadFile(MultipartFile multipartFile) throws IOException, InvalidExtensionException {
//获取不同的文件路径
String uploadPathUrl = SystemBusinessConfig.getProfile() + systemBusinessConfig.getSignInformedFileUrl();
if (StringUtils.isBlank(uploadPathUrl)) {
return AjaxResult.success();
}
//上传
String pictureName = FileUploadUtils.uploadSystemBusinessPath(uploadPathUrl, multipartFile, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
if (StringUtils.isBlank(pictureName)) {
throw new ServiceException("文件上传失败,请联系管理员!");
}
AjaxResult ajax = AjaxResult.success("上传成功!");
ajax.put("fileUrl", pictureName);
return ajax;
}
} }

View File

@ -0,0 +1,117 @@
package com.xinelu.manage.service.impl;
import com.xinelu.common.constant.PaymentStatusConstants;
import com.xinelu.common.constant.SignRecordServiceStatusConstants;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.DateUtils;
import com.xinelu.manage.domain.SignPatientInformed;
import com.xinelu.manage.domain.SignPatientPackage;
import com.xinelu.manage.domain.SignPatientPackageHardware;
import com.xinelu.manage.domain.SignPatientRecord;
import com.xinelu.manage.dto.PatientSignStatusDto;
import com.xinelu.manage.dto.PatientSignAddDto;
import com.xinelu.manage.dto.SignPatientListDto;
import com.xinelu.manage.mapper.SignPatientInformedMapper;
import com.xinelu.manage.mapper.SignPatientPackageHardwareMapper;
import com.xinelu.manage.mapper.SignPatientPackageMapper;
import com.xinelu.manage.mapper.SignPatientRecordMapper;
import com.xinelu.manage.service.ISignPatientRecordService;
import com.xinelu.manage.vo.PatientSignInfoVo;
import com.xinelu.manage.vo.PatientSignRecordVo;
import com.xinelu.manage.vo.SignPatientListVo;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
/**
* @author haown
* @description 针对表sign_patient_record(签约记录表)的数据库操作Service实现
* @createDate 2024-02-28 15:05:02
*/
@Service
public class SignPatientRecordServiceImpl implements ISignPatientRecordService {
@Resource
private SignPatientRecordMapper signPatientRecordMapper;
@Resource
private SignPatientPackageMapper signPatientPackageMapper;
@Resource
private SignPatientPackageHardwareMapper hardwareMapper;
@Resource
private SignPatientInformedMapper informedMapper;
@Override public List<SignPatientListVo> selectList(SignPatientListDto signPatientRecord) {
return signPatientRecordMapper.selectList(signPatientRecord);
}
@Override public PatientSignInfoVo getByRecordId(Long patientSignRecordId) {
return signPatientRecordMapper.getByRecordId(patientSignRecordId);
}
@Override public List<PatientSignRecordVo> getByPatient(Long patientId) {
return signPatientRecordMapper.getByPatient(patientId);
}
@Override public int add(PatientSignAddDto body) {
SignPatientPackage signPatientPackage = body.getSignPackage();
if (ObjectUtils.isNotEmpty(body.getRecord())) {
SignPatientRecord signPatientRecord = body.getRecord();
if (signPatientRecord.getPatientId() == null) {
throw new ServiceException("数据错误");
}
signPatientRecord.setServiceStatus(SignRecordServiceStatusConstants.SERVICE_CENTER);
signPatientRecord.setDelFlag(0);
signPatientRecord.setPaymentStatus(PaymentStatusConstants.UNPAID_FEES);
signPatientRecord.setSignStatus(SignRecordServiceStatusConstants.IN_SIGN);
if (signPatientPackage != null) {
signPatientRecord.setPrice(signPatientPackage.getPackagePrice());
} else {
throw new ServiceException("请选择服务包");
}
// 保存签约记录
int flag = signPatientRecordMapper.insert(signPatientRecord);
if (flag > 0) {
// 保存签约服务包信息
if (signPatientPackage != null) {
signPatientPackage.setSignPatientRecordId(signPatientRecord.getId());
signPatientPackage.setPatientId(signPatientRecord.getPatientId());
signPatientPackage.setPackagePaymentStatus(PaymentStatusConstants.UNPAID_FEES);
signPatientPackageMapper.insertSignPatientPackage(signPatientPackage);
// 保存硬件
if (!CollectionUtils.isEmpty(body.getDevices())) {
for(SignPatientPackageHardware hardware : body.getDevices()) {
hardware.setSignPatientRecordId(signPatientRecord.getId());
hardwareMapper.insertSignPatientPackageHardware(hardware);
}
}
}
// 保存告知书
if (body.getSignPatientInformed() != null) {
SignPatientInformed informed = new SignPatientInformed();
informed.setSignPatientRecordId(signPatientRecord.getId());
informed.setPatientId(signPatientRecord.getPatientId());
informedMapper.insertSignPatientInformed(informed);
}
}
return flag;
}
return 0;
}
@Override public int updateSignStatus(PatientSignStatusDto patientCancelSignDto) {
// 修改签约记录状态
SignPatientRecord signRecord = new SignPatientRecord();
signRecord.setId(patientCancelSignDto.getId());
signRecord.setSignStatus(patientCancelSignDto.getSignStatus());
signRecord.setServiceStatus(patientCancelSignDto.getServiceStatus());
signRecord.setUpdateTime(DateUtils.getNowDate());
int flag = signPatientRecordMapper.updateByPrimaryKeySelective(signRecord);
return flag;
}
}

View File

@ -0,0 +1,81 @@
package com.xinelu.manage.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
/**
* @description: 黑名单列表查询返回视图类
* @author: haown
* @create: 2024-02-28 13:44
**/
@Data
@ApiModel("黑名单列表查询返回视图类")
public class PatientBlacklistVo {
/** 主键id */
@ApiModelProperty(value = "黑名单列表主键")
private Long id;
/** 患者姓名 */
@ApiModelProperty(value = "患者姓名")
private String patientName;
/** 患者电话 */
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo;
/** 所属医院id */
@ApiModelProperty(value = "所属医院id")
private Long hospitalAgencyId;
/** 所属医院名称 */
@ApiModelProperty(value = "所属医院名称")
private String hospitalAgencyName;
/** 所属院区id */
@ApiModelProperty(value = "所属院区id")
private Long campusAgencyId;
/** 所属院区名称 */
@ApiModelProperty(value = "所属院区名称")
private String campusAgencyName;
/** 所属科室id */
@ApiModelProperty(value = "所属科室id")
private Long departmentId;
/** 所属科室名称 */
@ApiModelProperty(value = "所属科室名称")
private String departmentName;
/** 患者id */
@ApiModelProperty(value = "患者表主键")
private Long patientId;
/** 异常原因字典表id */
@ApiModelProperty(value = "异常原因字典表id")
private Long abnormalCauseId;
/** 异常原因字典表值 */
@ApiModelProperty(value = "异常原因字典表值")
private String abnormalCauseValue;
/**
* 来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑, MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)
*/
@ApiModelProperty(value = "来源(CALL_DETECTION通话检测MANUAL_BLACKOUT手动拉黑,MANUAL_ADDITION手动添加HIS_CONNECTHIS对接)")
private String blacklistSource;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
}

View File

@ -0,0 +1,152 @@
package com.xinelu.manage.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.annotation.Excel;
import com.xinelu.manage.domain.SignPatientPackageHardware;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;
/**
* @description: 患者签约信息查询返回视图类
* @author: haown
* @create: 2024-02-28 16:17
**/
@ApiModel("患者签约信息查询返回视图类")
@Data
public class PatientSignInfoVo {
/**
* 主键id
*/
@ApiModelProperty(value = "签约记录主键id")
private Long id;
/**
* 患者信息表id
*/
@ApiModelProperty(value = "患者信息表id")
private Long patientId;
/**
* 患者姓名
*/
@ApiModelProperty(value = "患者姓名")
private String patientName;
/**
* 患者电话
*/
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo;
/**
* 签约时间格式yyyy-MM-dd HH:mm:ss
*/
@ApiModelProperty(value = "签约时间格式yyyy-MM-dd HH:mm:ss")
private Date signTime;
/**
* 签约时所属医院名称
*/
@ApiModelProperty(value = "签约时所属医院名称")
private String hospitalAgencyName;
/**
* 签约时所属院区名称
*/
@ApiModelProperty(value = "签约时所属院区名称")
private String campusAgencyName;
/**
* 签约时所属科室名称
*/
@ApiModelProperty(value = "签约时所属科室名称")
private String departmentName;
/**
* 签约时所属病区名称
*/
@ApiModelProperty(value = "签约时所属病区名称")
private String wardName;
/**
* 就诊流水号
*/
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;
/**
* 就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL
*/
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
/**
* 签约时诊断
*/
@ApiModelProperty(value = "签约时诊断")
private String signDiagnosis;
/**
* 审核后诊断
*/
@ApiModelProperty(value = "审核后诊断")
private String reviewDiagnosis;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
/**
* 签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN
*/
@ApiModelProperty(value = "签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN过期EXPIRE_SIGN")
private String signStatus;
@ApiModelProperty(value = "患者签约记录表id")
@Excel(name = "患者签约记录表id")
private Long signPatientRecordId;
/** 服务包表id */
@ApiModelProperty(value = "服务包表id")
private Long servicePackageId;
/** 服务包名称 */
@ApiModelProperty(value = "服务包名称")
private String packageName;
/** 服务包缴费状态已缴费PAID未交费UNPAID_FEES */
@ApiModelProperty(value = "服务包缴费状态已缴费PAID未交费UNPAID_FEES")
private String packagePaymentStatus;
/** 服务包价格,小数点后两位 */
@ApiModelProperty(value = "服务包价格,小数点后两位")
private BigDecimal packagePrice;
/** 服务开始时间格式yyyy-MM-dd HH:mm:ss */
@ApiModelProperty(value = "服务开始时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date serviceStartTime;
/** 服务结束时间格式yyyy-MM-dd HH:mm:ss */
@ApiModelProperty(value = "服务结束时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date serviceEndTime;
/** 服务周期,单位是月 */
@ApiModelProperty(value = "服务周期,单位是月")
private Integer serviceCycle;
@ApiModelProperty(value = "签约硬件设备列表")
private List<SignPatientPackageHardware> signDevices;
}

View File

@ -0,0 +1,49 @@
package com.xinelu.manage.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
/**
* @description: 查询患者签约记录返回视图类
* @author: haown
* @create: 2024-02-29 09:09
**/
@ApiModel("查询患者签约记录返回视图类")
@Data
public class PatientSignRecordVo {
/**
* 主键id
*/
@ApiModelProperty(value = "签约记录主键id")
private Long id;
/**
* 患者信息表id
*/
@ApiModelProperty(value = "患者信息表id")
private Long patientId;
/**
* 患者姓名
*/
@ApiModelProperty(value = "患者姓名")
private String patientName;
@ApiModelProperty(value = "签约时间格式yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date signTime;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
/** 服务包名称 */
@ApiModelProperty(value = "服务包名称")
private String packageName;
}

View File

@ -0,0 +1,137 @@
package com.xinelu.manage.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
* @description: 签约患者列表查询返回视图类
* @author: haown
* @create: 2024-02-28 17:10
**/
@ApiModel("签约患者列表查询返回视图类")
@Data
public class SignPatientListVo {
/**
* 主键id
*/
@ApiModelProperty(value = "主键id")
private Long id;
/**
* 患者信息表id
*/
@ApiModelProperty(value = "患者信息表id")
private Long patientId;
/**
* 患者姓名
*/
@ApiModelProperty(value = "患者姓名")
private String patientName;
/**
* 患者电话
*/
@ApiModelProperty(value = "患者电话")
private String patientPhone;
/** 身份证号 */
@ApiModelProperty(value = "身份证号")
private String cardNo;
/**
* 签约时间格式yyyy-MM-dd HH:mm:ss
*/
@ApiModelProperty(value = "签约时间格式yyyy-MM-dd HH:mm:ss")
private Date signTime;
/**
* 签约时所属医院名称
*/
@ApiModelProperty(value = "签约时所属医院名称")
private String hospitalAgencyName;
/**
* 签约时所属院区名称
*/
@ApiModelProperty(value = "签约时所属院区名称")
private String campusAgencyName;
/**
* 签约时所属科室名称
*/
@ApiModelProperty(value = "签约时所属科室名称")
private String departmentName;
/**
* 签约时所属病区名称
*/
@ApiModelProperty(value = "签约时所属病区名称")
private String wardName;
/**
* 就诊流水号
*/
@ApiModelProperty(value = "就诊流水号")
private String visitSerialNumber;
/**
* 就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL
*/
@ApiModelProperty(value = "就诊方式门诊OUTPATIENT_SERVICE住院BE_IN_HOSPITAL")
private String visitMethod;
/**
* 服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END
*/
@ApiModelProperty(value = "服务状态意向签约INTENTIONAL_SIGNING服务中SERVICE_CENTER服务结束SERVICE_END")
private String serviceStatus;
/**
* 签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN
*/
@ApiModelProperty(value = "签约状态在签IN_SIGN忽略IGNORE_SIGN解约SEPARATE_SIGN续约CONTINUOUS_SIGN")
private String signStatus;
/**
* 意向来源意向签约字典枚举
*/
@ApiModelProperty(value = "意向来源(意向签约,字典枚举)")
private String intentionalSource;
/**
* 加入意向时间意向签约
*/
@ApiModelProperty(value = "加入意向时间(意向签约)")
private Date intentionalTime;
/**
* 开单医生姓名意向签约
*/
@ApiModelProperty(value = "开单医生姓名(意向签约)")
private String billingDoctorName;
/**
* 金额
*/
@ApiModelProperty(value = "金额")
private BigDecimal price;
/**
* 缴费状态已缴费PAID未交费UNPAID_FEES
*/
@ApiModelProperty(value = "缴费状态已缴费PAID未交费UNPAID_FEES")
private String paymentStatus;
/** 服务包名称 */
@ApiModelProperty(value = "服务包名称")
private String packageName;
/** 服务周期,单位是月 */
@ApiModelProperty(value = "服务周期,单位是月")
private Integer serviceCycle;
}

View File

@ -13,6 +13,7 @@
<result property="supplementIllustrateValue" column="supplement_illustrate_value"/> <result property="supplementIllustrateValue" column="supplement_illustrate_value"/>
<result property="functionLimitation" column="function_limitation"/> <result property="functionLimitation" column="function_limitation"/>
<result property="blacklistSource" column="blacklist_source"/> <result property="blacklistSource" column="blacklist_source"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/> <result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
@ -20,20 +21,35 @@
</resultMap> </resultMap>
<sql id="selectPatientBlacklistVo"> <sql id="selectPatientBlacklistVo">
select id, patient_id, abnormal_cause_id, abnormal_cause_value, supplement_illustrate_id, supplement_illustrate_value, function_limitation, blacklist_source, create_by, create_time, update_by, update_time from patient_blacklist select id, patient_id, abnormal_cause_id, abnormal_cause_value, supplement_illustrate_id, supplement_illustrate_value,
function_limitation, blacklist_source, del_flag, create_by, create_time, update_by, update_time from patient_blacklist
</sql> </sql>
<select id="selectPatientBlacklistList" parameterType="PatientBlacklist" resultMap="PatientBlacklistResult"> <select id="selectPatientBlacklistList" parameterType="com.xinelu.manage.dto.PatientBlacklistDto" resultMap="PatientBlacklistResult">
<include refid="selectPatientBlacklistVo"/> select b.id, b.patient_id, b.abnormal_cause_id, b.abnormal_cause_value, b.supplement_illustrate_id,
b.supplement_illustrate_value, b.function_limitation, b.blacklist_source,
b.create_time, p.patient_name,
p.patient_phone, p.card_no, p.hospital_agency_id, p.hospital_agency_name, p.campus_agency_id, p.campus_agency_name,
p.department_id, p.department_name from patient_blacklist b left join patient_info p on b.patient_id = p.id
<where> <where>
<if test="abnormalCauseId != null "> b.del_flag = 0
and abnormal_cause_id = #{abnormalCauseId} <if test="patientName != null and patientName != ''">
and p.patient_name like concat('%', #{patientName}, '%')
</if>
<if test="patientPhone != null and patientPhone != ''">
and p.patient_phone like concat('%', #{patientPhone}, '%')
</if>
<if test="hospitalAgencyId != null ">
and p.hospital_agency_id = #{hospitalAgencyId}
</if>
<if test="departmentId != null ">
and p.department_id = #{departmentId}
</if> </if>
<if test="abnormalCauseValue != null and abnormalCauseValue != ''"> <if test="abnormalCauseValue != null and abnormalCauseValue != ''">
and abnormal_cause_value = #{abnormalCauseValue} and b.abnormal_cause_value like concat('%', #{abnormalCauseValue}, '%')
</if> </if>
<if test="blacklistSource != null and blacklistSource != ''"> <if test="blacklistSource != null and blacklistSource != ''">
and blacklist_source = #{blacklistSource} and b.blacklist_source = #{blacklistSource}
</if> </if>
</where> </where>
</select> </select>
@ -61,6 +77,9 @@
<if test="functionLimitation != null">function_limitation, <if test="functionLimitation != null">function_limitation,
</if> </if>
<if test="blacklistSource != null">blacklist_source, <if test="blacklistSource != null">blacklist_source,
</if>
<if test="delFlag != null">
del_flag,
</if> </if>
<if test="createBy != null">create_by, <if test="createBy != null">create_by,
</if> </if>
@ -86,6 +105,9 @@
</if> </if>
<if test="blacklistSource != null">#{blacklistSource}, <if test="blacklistSource != null">#{blacklistSource},
</if> </if>
<if test="delFlag != null">
#{delFlag},
</if>
<if test="createBy != null">#{createBy}, <if test="createBy != null">#{createBy},
</if> </if>
<if test="createTime != null">#{createTime}, <if test="createTime != null">#{createTime},
@ -121,6 +143,9 @@
<if test="blacklistSource != null">blacklist_source = <if test="blacklistSource != null">blacklist_source =
#{blacklistSource}, #{blacklistSource},
</if> </if>
<if test="delFlag != null">del_flag =
#{delFlag},
</if>
<if test="createBy != null">create_by = <if test="createBy != null">create_by =
#{createBy}, #{createBy},
</if> </if>
@ -142,7 +167,7 @@
</delete> </delete>
<delete id="deletePatientBlacklistByIds" parameterType="String"> <delete id="deletePatientBlacklistByIds" parameterType="String">
delete from patient_blacklist where id in update patient_blacklist set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>

View File

@ -72,29 +72,28 @@
from patient_info from patient_info
</sql> </sql>
<select id="selectPatientInfoList" parameterType="com.xinelu.manage.domain.PatientInfo" resultMap="PatientInfoResult"> <select id="selectPatientInfoList" parameterType="com.xinelu.manage.dto.PatientInfoDto" resultMap="PatientInfoResult">
<include refid="selectPatientInfoVo" /> <include refid="selectPatientInfoVo" />
<where> <where>
del_flag = 0
<if test="patientName != null and patientName != ''"> <if test="patientName != null and patientName != ''">
and patient_name like concat('%', #{patientName}, '%') and patient_name like concat('%', #{patientName}, '%')
</if> </if>
<if test="patientPhone != null and patientPhone != ''"> <if test="patientPhone != null and patientPhone != ''">
and patient_phone like concat('%', #{patientPhone}, '%') and patient_phone like concat('%', #{patientPhone}, '%')
</if> </if>
<if test="birthDate != null ">
and birth_date = #{birthDate}
</if>
<if test="patientType != null and patientType != ''"> <if test="patientType != null and patientType != ''">
<choose>
<when test="patientType == 'OUTPATIENT_DISCHARGE'.toString()">
and (patient_type = 'OUTPATIENT' or patient_type = 'DISCHARGED_PATIENT')
</when>
<otherwise>
and patient_type = #{patientType} and patient_type = #{patientType}
</if> </otherwise>
<if test="visitMethod != null and visitMethod != ''"> </choose>
and visit_method = #{visitMethod}
</if> </if>
<if test="mainDiagnosis != null and mainDiagnosis != ''"> <if test="mainDiagnosis != null and mainDiagnosis != ''">
and main_diagnosis = #{mainDiagnosis} and main_diagnosis like concat('%', #{mainDiagnosis}, '%')
</if>
<if test="attendingPhysician != null and attendingPhysician != ''">
and attending_physician = #{attendingPhysician}
</if> </if>
<if test="hospitalAgencyId != null "> <if test="hospitalAgencyId != null ">
and hospital_agency_id = #{hospitalAgencyId} and hospital_agency_id = #{hospitalAgencyId}
@ -108,20 +107,48 @@
<if test="wardId != null "> <if test="wardId != null ">
and ward_id = #{wardId} and ward_id = #{wardId}
</if> </if>
<if test="attendingPhysician != null and attendingPhysician != ''">
and attending_physician = #{attendingPhysician}
</if>
<if test="visitMethod != null and visitMethod != ''">
and visit_method = #{visitMethod}
</if>
<if test="surgicalName != null and surgicalName != ''"> <if test="surgicalName != null and surgicalName != ''">
and surgical_name like concat('%', #{surgicalName}, '%') and surgical_name like concat('%', #{surgicalName}, '%')
</if> </if>
<!--<if test="params.beginadmissionDate != null and params.beginadmissionDate != '' and params.endadmissionDate != null and params.endadmissionDate != ''"> <if test="visitTimeStart != null ">
and admission_date between #{params.beginadmissionDate} and #{params.endadmissionDate} and visit_time >= #{visitTimeStart}
</if>-->
<if test="outpatientNumber != null and outpatientNumber != ''">
and outpatient_number = #{outpatientNumber}
</if> </if>
<if test="visitTime != null "> <if test="visitTimeEnd != null ">
and visit_time = #{visitTime} and visit_time &lt;= #{visitTimeEnd}
</if> </if>
<if test="dischargeMethod != null and dischargeMethod != ''"> <if test="admissionDateStart != null ">
and discharge_method = #{dischargeMethod} and admission_date >= #{admissionDateStart}
</if>
<if test="admissionDateEnd != null ">
and admission_date &lt;= #{admissionDateEnd}
</if>
<if test="appointmentDateStart != null ">
and appointment_date >= #{appointmentDateStart}
</if>
<if test="appointmentDateEnd != null ">
and appointment_date &lt;= #{appointmentDateEnd}
</if>
<if test="appointmentTreatmentGroup != null and appointmentTreatmentGroup != ''">
and appointment_treatment_group = #{appointmentTreatmentGroup}
</if>
<if test="certificateIssuingDoctor != null and certificateIssuingDoctor != ''">
and certificate_issuing_doctor = #{certificateIssuingDoctor}
</if>
<if test="registrationNo != null and registrationNo != ''">
and registration_no = #{registrationNo}
</if>
<if test="visitSerialNumber != null and visitSerialNumber != ''">
and visit_serial_number = #{visitSerialNumber}
</if>
<if test="responsibleNurse != null and responsibleNurse != ''">
and responsible_nurse = #{responsibleNurse}
</if> </if>
<if test="patientSource != null and patientSource != ''"> <if test="patientSource != null and patientSource != ''">
and patient_source = #{patientSource} and patient_source = #{patientSource}
@ -464,16 +491,15 @@
where id = #{id} where id = #{id}
</update> </update>
<delete id="deletePatientInfoById" parameterType="Long"> <update id="deletePatientInfoById" parameterType="Long">
delete update patient_info set del_flag = 1
from patient_info
where id = #{id} where id = #{id}
</delete> </update>
<delete id="deletePatientInfoByIds" parameterType="String"> <update id="deletePatientInfoByIds" parameterType="String">
delete from patient_info where id in update patient_info set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")"> <foreach item="id" collection="array" open="(" separator="," close=")">
#{id} #{id}
</foreach> </foreach>
</delete> </update>
</mapper> </mapper>

View File

@ -6,6 +6,7 @@
<resultMap type="SignPatientInformed" id="SignPatientInformedResult"> <resultMap type="SignPatientInformed" id="SignPatientInformedResult">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="signPatientRecordId" column="sign_patient_record_id"/>
<result property="patientId" column="patient_id"/> <result property="patientId" column="patient_id"/>
<result property="informedFileName" column="informed_file_name"/> <result property="informedFileName" column="informed_file_name"/>
<result property="informedFilePath" column="informed_file_path"/> <result property="informedFilePath" column="informed_file_path"/>
@ -16,12 +17,15 @@
</resultMap> </resultMap>
<sql id="selectSignPatientInformedVo"> <sql id="selectSignPatientInformedVo">
select id, patient_id, informed_file_name, informed_file_path, create_by, create_time, update_by, update_time from sign_patient_informed select id, sign_patient_record_id, patient_id, informed_file_name, informed_file_path, create_by, create_time, update_by, update_time from sign_patient_informed
</sql> </sql>
<select id="selectSignPatientInformedList" parameterType="SignPatientInformed" resultMap="SignPatientInformedResult"> <select id="selectSignPatientInformedList" parameterType="SignPatientInformed" resultMap="SignPatientInformedResult">
<include refid="selectSignPatientInformedVo"/> <include refid="selectSignPatientInformedVo"/>
<where> <where>
<if test="signPatientRecordId != null ">
and sign_patient_record_id = #{signPatientRecordId}
</if>
<if test="patientId != null "> <if test="patientId != null ">
and patient_id = #{patientId} and patient_id = #{patientId}
</if> </if>
@ -38,6 +42,9 @@
keyProperty="id"> keyProperty="id">
insert into sign_patient_informed insert into sign_patient_informed
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="signPatientRecordId != null ">
sign_patient_record_id,
</if>
<if test="patientId != null">patient_id, <if test="patientId != null">patient_id,
</if> </if>
<if test="informedFileName != null">informed_file_name, <if test="informedFileName != null">informed_file_name,
@ -54,6 +61,9 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="signPatientRecordId != null ">
#{signPatientRecordId},
</if>
<if test="patientId != null">#{patientId}, <if test="patientId != null">#{patientId},
</if> </if>
<if test="informedFileName != null">#{informedFileName}, <if test="informedFileName != null">#{informedFileName},
@ -74,6 +84,9 @@
<update id="updateSignPatientInformed" parameterType="SignPatientInformed"> <update id="updateSignPatientInformed" parameterType="SignPatientInformed">
update sign_patient_informed update sign_patient_informed
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="signPatientRecordId != null ">
sign_patient_record_id = #{signPatientRecordId},
</if>
<if test="patientId != null">patient_id = <if test="patientId != null">patient_id =
#{patientId}, #{patientId},
</if> </if>

View File

@ -6,6 +6,7 @@
<resultMap type="SignPatientPackageHardware" id="SignPatientPackageHardwareResult"> <resultMap type="SignPatientPackageHardware" id="SignPatientPackageHardwareResult">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="signPatientRecordId" column="sign_patient_record_id"/>
<result property="signPatientPackageId" column="sign_patient_package_id"/> <result property="signPatientPackageId" column="sign_patient_package_id"/>
<result property="hardwareType" column="hardware_type"/> <result property="hardwareType" column="hardware_type"/>
<result property="snCode" column="sn_code"/> <result property="snCode" column="sn_code"/>
@ -20,12 +21,15 @@
</resultMap> </resultMap>
<sql id="selectSignPatientPackageHardwareVo"> <sql id="selectSignPatientPackageHardwareVo">
select id, sign_patient_package_id, hardware_type, sn_code, hardware_price, hardware_status, hardware_manufacturer, hardware_introduce, create_by, create_time, update_by, update_time from sign_patient_package_hardware select id, sign_patient_record_id, sign_patient_package_id, hardware_type, sn_code, hardware_price, hardware_status, hardware_manufacturer, hardware_introduce, create_by, create_time, update_by, update_time from sign_patient_package_hardware
</sql> </sql>
<select id="selectSignPatientPackageHardwareList" parameterType="SignPatientPackageHardware" resultMap="SignPatientPackageHardwareResult"> <select id="selectSignPatientPackageHardwareList" parameterType="SignPatientPackageHardware" resultMap="SignPatientPackageHardwareResult">
<include refid="selectSignPatientPackageHardwareVo"/> <include refid="selectSignPatientPackageHardwareVo"/>
<where> <where>
<if test="signPatientRecordId != null ">
and sign_patient_record_id = #{signPatientRecordId}
</if>
<if test="signPatientPackageId != null "> <if test="signPatientPackageId != null ">
and sign_patient_package_id = #{signPatientPackageId} and sign_patient_package_id = #{signPatientPackageId}
</if> </if>
@ -50,16 +54,16 @@
</where> </where>
</select> </select>
<select id="selectSignPatientPackageHardwareById" parameterType="Long" <select id="selectSignPatientPackageHardwareById" parameterType="Long" resultMap="SignPatientPackageHardwareResult">
resultMap="SignPatientPackageHardwareResult">
<include refid="selectSignPatientPackageHardwareVo"/> <include refid="selectSignPatientPackageHardwareVo"/>
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertSignPatientPackageHardware" parameterType="SignPatientPackageHardware" useGeneratedKeys="true" <insert id="insertSignPatientPackageHardware" parameterType="SignPatientPackageHardware" useGeneratedKeys="true" keyProperty="id">
keyProperty="id">
insert into sign_patient_package_hardware insert into sign_patient_package_hardware
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="signPatientRecordId != null">sign_patient_record_id,
</if>
<if test="signPatientPackageId != null">sign_patient_package_id, <if test="signPatientPackageId != null">sign_patient_package_id,
</if> </if>
<if test="hardwareType != null">hardware_type, <if test="hardwareType != null">hardware_type,
@ -84,6 +88,8 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="signPatientRecordId != null">#{signPatientRecordId},
</if>
<if test="signPatientPackageId != null">#{signPatientPackageId}, <if test="signPatientPackageId != null">#{signPatientPackageId},
</if> </if>
<if test="hardwareType != null">#{hardwareType}, <if test="hardwareType != null">#{hardwareType},
@ -112,6 +118,9 @@
<update id="updateSignPatientPackageHardware" parameterType="SignPatientPackageHardware"> <update id="updateSignPatientPackageHardware" parameterType="SignPatientPackageHardware">
update sign_patient_package_hardware update sign_patient_package_hardware
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="signPatientRecordId != null">
sign_patient_record_id = #{signPatientRecordId},
</if>
<if test="signPatientPackageId != null">sign_patient_package_id = <if test="signPatientPackageId != null">sign_patient_package_id =
#{signPatientPackageId}, #{signPatientPackageId},
</if> </if>

View File

@ -7,6 +7,7 @@
<resultMap type="SignPatientPackage" id="SignPatientPackageResult"> <resultMap type="SignPatientPackage" id="SignPatientPackageResult">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="patientId" column="patient_id"/> <result property="patientId" column="patient_id"/>
<result property="signPatientRecordId" column="sign_patient_record_id"/>
<result property="servicePackageId" column="service_package_id"/> <result property="servicePackageId" column="service_package_id"/>
<result property="packageName" column="package_name"/> <result property="packageName" column="package_name"/>
<result property="packagePaymentStatus" column="package_payment_status"/> <result property="packagePaymentStatus" column="package_payment_status"/>
@ -21,7 +22,7 @@
</resultMap> </resultMap>
<sql id="selectSignPatientPackageVo"> <sql id="selectSignPatientPackageVo">
select id, patient_id, service_package_id, package_name, package_payment_status, package_price, service_start_time, service_end_time, service_cycle, create_by, create_time, update_by, update_time from sign_patient_package select id, patient_id, sign_patient_record_id, service_package_id, package_name, package_payment_status, package_price, service_start_time, service_end_time, service_cycle, create_by, create_time, update_by, update_time from sign_patient_package
</sql> </sql>
<select id="selectSignPatientPackageList" parameterType="SignPatientPackage" resultMap="SignPatientPackageResult"> <select id="selectSignPatientPackageList" parameterType="SignPatientPackage" resultMap="SignPatientPackageResult">
@ -30,6 +31,9 @@
<if test="patientId != null "> <if test="patientId != null ">
and patient_id = #{patientId} and patient_id = #{patientId}
</if> </if>
<if test="signPatientRecordId != null ">
and sign_patient_record_id = #{signPatientRecordId}
</if>
<if test="servicePackageId != null "> <if test="servicePackageId != null ">
and service_package_id = #{servicePackageId} and service_package_id = #{servicePackageId}
</if> </if>
@ -54,8 +58,7 @@
</where> </where>
</select> </select>
<select id="selectSignPatientPackageById" parameterType="Long" <select id="selectSignPatientPackageById" parameterType="Long" resultMap="SignPatientPackageResult">
resultMap="SignPatientPackageResult">
<include refid="selectSignPatientPackageVo"/> <include refid="selectSignPatientPackageVo"/>
where id = #{id} where id = #{id}
</select> </select>
@ -66,6 +69,9 @@
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="patientId != null">patient_id, <if test="patientId != null">patient_id,
</if> </if>
<if test="signPatientRecordId != null ">
sign_patient_record_id,
</if>
<if test="servicePackageId != null">service_package_id, <if test="servicePackageId != null">service_package_id,
</if> </if>
<if test="packageName != null">package_name, <if test="packageName != null">package_name,
@ -92,6 +98,9 @@
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="patientId != null">#{patientId}, <if test="patientId != null">#{patientId},
</if> </if>
<if test="signPatientRecordId != null ">
#{signPatientRecordId},
</if>
<if test="servicePackageId != null">#{servicePackageId}, <if test="servicePackageId != null">#{servicePackageId},
</if> </if>
<if test="packageName != null">#{packageName}, <if test="packageName != null">#{packageName},
@ -123,6 +132,9 @@
<if test="patientId != null">patient_id = <if test="patientId != null">patient_id =
#{patientId}, #{patientId},
</if> </if>
<if test="signPatientRecordId != null">sign_patient_record_id =
#{signPatientRecordId},
</if>
<if test="servicePackageId != null">service_package_id = <if test="servicePackageId != null">service_package_id =
#{servicePackageId}, #{servicePackageId},
</if> </if>

View File

@ -0,0 +1,418 @@
<?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="com.xinelu.manage.mapper.SignPatientRecordMapper">
<resultMap id="BaseResultMap" type="com.xinelu.manage.domain.SignPatientRecord">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="patientId" column="patient_id" jdbcType="BIGINT"/>
<result property="patientName" column="patient_name" jdbcType="VARCHAR"/>
<result property="patientPhone" column="patient_phone" jdbcType="VARCHAR"/>
<result property="cardNo" column="card_no" jdbcType="VARCHAR"/>
<result property="signTime" column="sign_time" jdbcType="TIMESTAMP"/>
<result property="hospitalAgencyId" column="hospital_agency_id" jdbcType="BIGINT"/>
<result property="hospitalAgencyName" column="hospital_agency_name" jdbcType="VARCHAR"/>
<result property="campusAgencyId" column="campus_agency_id" jdbcType="BIGINT"/>
<result property="campusAgencyName" column="campus_agency_name" jdbcType="VARCHAR"/>
<result property="departmentId" column="department_id" jdbcType="BIGINT"/>
<result property="departmentName" column="department_name" jdbcType="VARCHAR"/>
<result property="wardId" column="ward_id" jdbcType="BIGINT"/>
<result property="wardName" column="ward_name" jdbcType="VARCHAR"/>
<result property="visitSerialNumber" column="visit_serial_number" jdbcType="VARCHAR"/>
<result property="visitMethod" column="visit_method" jdbcType="VARCHAR"/>
<result property="signDiagnosis" column="sign_diagnosis" jdbcType="VARCHAR"/>
<result property="reviewDiagnosis" column="review_diagnosis" jdbcType="VARCHAR"/>
<result property="serviceStatus" column="service_status" jdbcType="VARCHAR"/>
<result property="signStatus" column="sign_status" jdbcType="VARCHAR"/>
<result property="intentionalSource" column="intentional_source" jdbcType="VARCHAR"/>
<result property="intentionalTime" column="intentional_time" jdbcType="TIMESTAMP"/>
<result property="billingDoctorId" column="billing_doctor_id" jdbcType="BIGINT"/>
<result property="billingDoctorName" column="billing_doctor_name" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="DECIMAL"/>
<result property="paymentStatus" column="payment_status" jdbcType="VARCHAR"/>
<result property="delFlag" column="del_flag" jdbcType="TINYINT"/>
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<resultMap id="SignInfoResultMap" type="com.xinelu.manage.vo.PatientSignInfoVo">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="patientId" column="patient_id" jdbcType="BIGINT"/>
<result property="patientName" column="patient_name" jdbcType="VARCHAR"/>
<result property="patientPhone" column="patient_phone" jdbcType="VARCHAR"/>
<result property="cardNo" column="card_no" jdbcType="VARCHAR"/>
<result property="signTime" column="sign_time" jdbcType="TIMESTAMP"/>
<result property="hospitalAgencyName" column="hospital_agency_name" jdbcType="VARCHAR"/>
<result property="campusAgencyName" column="campus_agency_name" jdbcType="VARCHAR"/>
<result property="departmentName" column="department_name" jdbcType="VARCHAR"/>
<result property="wardName" column="ward_name" jdbcType="VARCHAR"/>
<result property="visitSerialNumber" column="visit_serial_number" jdbcType="VARCHAR"/>
<result property="visitMethod" column="visit_method" jdbcType="VARCHAR"/>
<result property="signDiagnosis" column="sign_diagnosis" jdbcType="VARCHAR"/>
<result property="reviewDiagnosis" column="review_diagnosis" jdbcType="VARCHAR"/>
<result property="serviceStatus" column="service_status" jdbcType="VARCHAR"/>
<result property="signStatus" column="sign_status" jdbcType="VARCHAR"/>
<result property="servicePackageId" column="service_package_id"/>
<result property="packageName" column="package_name"/>
<result property="packagePaymentStatus" column="package_payment_status"/>
<result property="packagePrice" column="package_price"/>
<result property="serviceStartTime" column="service_start_time"/>
<result property="serviceEndTime" column="service_end_time"/>
<result property="serviceCycle" column="service_cycle"/>
<collection property="signDevices" ofType="com.xinelu.manage.domain.SignPatientPackageHardware">
<result property="id" column="id"/>
<result property="hardwareType" column="hardware_type"/>
<result property="snCode" column="sn_code"/>
<result property="hardwarePrice" column="hardware_price"/>
<result property="hardwareStatus" column="hardware_status"/>
<result property="hardwareManufacturer" column="hardware_manufacturer"/>
<result property="hardwareIntroduce" column="hardware_introduce"/>
</collection>
</resultMap>
<sql id="Base_Column_List">
id,patient_id,patient_name,
patient_phone,card_no,sign_time,
hospital_agency_id,hospital_agency_name,campus_agency_id,
campus_agency_name,department_id,department_name,
ward_id,ward_name,visit_serial_number,
visit_method,sign_diagnosis,review_diagnosis,
service_status,sign_status,intentional_source,
intentional_time,billing_doctor_id,billing_doctor_name,
price,payment_status,del_flag,
create_by,create_time,update_by,
update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from sign_patient_record
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from sign_patient_record
where id = #{id,jdbcType=BIGINT}
</delete>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.xinelu.manage.domain.SignPatientRecord" useGeneratedKeys="true">
insert into sign_patient_record
( id,patient_id,patient_name
,patient_phone,card_no,sign_time
,hospital_agency_id,hospital_agency_name,campus_agency_id
,campus_agency_name,department_id,department_name
,ward_id,ward_name,visit_serial_number
,visit_method,sign_diagnosis,review_diagnosis
,service_status,sign_status,intentional_source
,intentional_time,billing_doctor_id,billing_doctor_name
,price,payment_status,del_flag
,create_by,create_time,update_by
,update_time)
values (#{id,jdbcType=BIGINT},#{patientId,jdbcType=BIGINT},#{patientName,jdbcType=VARCHAR}
,#{patientPhone,jdbcType=VARCHAR},#{cardNo,jdbcType=VARCHAR},#{signTime,jdbcType=TIMESTAMP}
,#{hospitalAgencyId,jdbcType=BIGINT},#{hospitalAgencyName,jdbcType=VARCHAR},#{campusAgencyId,jdbcType=BIGINT}
,#{campusAgencyName,jdbcType=VARCHAR},#{departmentId,jdbcType=BIGINT},#{departmentName,jdbcType=VARCHAR}
,#{wardId,jdbcType=BIGINT},#{wardName,jdbcType=VARCHAR},#{visitSerialNumber,jdbcType=VARCHAR}
,#{visitMethod,jdbcType=VARCHAR},#{signDiagnosis,jdbcType=VARCHAR},#{reviewDiagnosis,jdbcType=VARCHAR}
,#{serviceStatus,jdbcType=VARCHAR},#{signStatus,jdbcType=VARCHAR},#{intentionalSource,jdbcType=VARCHAR}
,#{intentionalTime,jdbcType=TIMESTAMP},#{billingDoctorId,jdbcType=BIGINT},#{billingDoctorName,jdbcType=VARCHAR}
,#{price,jdbcType=DECIMAL},#{paymentStatus,jdbcType=VARCHAR},#{delFlag,jdbcType=TINYINT}
,#{createBy,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP},#{updateBy,jdbcType=VARCHAR}
,#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.xinelu.manage.domain.SignPatientRecord" useGeneratedKeys="true">
insert into sign_patient_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="patientId != null">patient_id,</if>
<if test="patientName != null">patient_name,</if>
<if test="patientPhone != null">patient_phone,</if>
<if test="cardNo != null">card_no,</if>
<if test="signTime != null">sign_time,</if>
<if test="hospitalAgencyId != null">hospital_agency_id,</if>
<if test="hospitalAgencyName != null">hospital_agency_name,</if>
<if test="campusAgencyId != null">campus_agency_id,</if>
<if test="campusAgencyName != null">campus_agency_name,</if>
<if test="departmentId != null">department_id,</if>
<if test="departmentName != null">department_name,</if>
<if test="wardId != null">ward_id,</if>
<if test="wardName != null">ward_name,</if>
<if test="visitSerialNumber != null">visit_serial_number,</if>
<if test="visitMethod != null">visit_method,</if>
<if test="signDiagnosis != null">sign_diagnosis,</if>
<if test="reviewDiagnosis != null">review_diagnosis,</if>
<if test="serviceStatus != null">service_status,</if>
<if test="signStatus != null">sign_status,</if>
<if test="intentionalSource != null">intentional_source,</if>
<if test="intentionalTime != null">intentional_time,</if>
<if test="billingDoctorId != null">billing_doctor_id,</if>
<if test="billingDoctorName != null">billing_doctor_name,</if>
<if test="price != null">price,</if>
<if test="paymentStatus != null">payment_status,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id,jdbcType=BIGINT},</if>
<if test="patientId != null">#{patientId,jdbcType=BIGINT},</if>
<if test="patientName != null">#{patientName,jdbcType=VARCHAR},</if>
<if test="patientPhone != null">#{patientPhone,jdbcType=VARCHAR},</if>
<if test="cardNo != null">#{cardNo,jdbcType=VARCHAR},</if>
<if test="signTime != null">#{signTime,jdbcType=TIMESTAMP},</if>
<if test="hospitalAgencyId != null">#{hospitalAgencyId,jdbcType=BIGINT},</if>
<if test="hospitalAgencyName != null">#{hospitalAgencyName,jdbcType=VARCHAR},</if>
<if test="campusAgencyId != null">#{campusAgencyId,jdbcType=BIGINT},</if>
<if test="campusAgencyName != null">#{campusAgencyName,jdbcType=VARCHAR},</if>
<if test="departmentId != null">#{departmentId,jdbcType=BIGINT},</if>
<if test="departmentName != null">#{departmentName,jdbcType=VARCHAR},</if>
<if test="wardId != null">#{wardId,jdbcType=BIGINT},</if>
<if test="wardName != null">#{wardName,jdbcType=VARCHAR},</if>
<if test="visitSerialNumber != null">#{visitSerialNumber,jdbcType=VARCHAR},</if>
<if test="visitMethod != null">#{visitMethod,jdbcType=VARCHAR},</if>
<if test="signDiagnosis != null">#{signDiagnosis,jdbcType=VARCHAR},</if>
<if test="reviewDiagnosis != null">#{reviewDiagnosis,jdbcType=VARCHAR},</if>
<if test="serviceStatus != null">#{serviceStatus,jdbcType=VARCHAR},</if>
<if test="signStatus != null">#{signStatus,jdbcType=VARCHAR},</if>
<if test="intentionalSource != null">#{intentionalSource,jdbcType=VARCHAR},</if>
<if test="intentionalTime != null">#{intentionalTime,jdbcType=TIMESTAMP},</if>
<if test="billingDoctorId != null">#{billingDoctorId,jdbcType=BIGINT},</if>
<if test="billingDoctorName != null">#{billingDoctorName,jdbcType=VARCHAR},</if>
<if test="price != null">#{price,jdbcType=DECIMAL},</if>
<if test="paymentStatus != null">#{paymentStatus,jdbcType=VARCHAR},</if>
<if test="delFlag != null">#{delFlag,jdbcType=TINYINT},</if>
<if test="createBy != null">#{createBy,jdbcType=VARCHAR},</if>
<if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if>
<if test="updateBy != null">#{updateBy,jdbcType=VARCHAR},</if>
<if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.xinelu.manage.domain.SignPatientRecord">
update sign_patient_record
<set>
<if test="patientId != null">
patient_id = #{patientId,jdbcType=BIGINT},
</if>
<if test="patientName != null">
patient_name = #{patientName,jdbcType=VARCHAR},
</if>
<if test="patientPhone != null">
patient_phone = #{patientPhone,jdbcType=VARCHAR},
</if>
<if test="cardNo != null">
card_no = #{cardNo,jdbcType=VARCHAR},
</if>
<if test="signTime != null">
sign_time = #{signTime,jdbcType=TIMESTAMP},
</if>
<if test="hospitalAgencyId != null">
hospital_agency_id = #{hospitalAgencyId,jdbcType=BIGINT},
</if>
<if test="hospitalAgencyName != null">
hospital_agency_name = #{hospitalAgencyName,jdbcType=VARCHAR},
</if>
<if test="campusAgencyId != null">
campus_agency_id = #{campusAgencyId,jdbcType=BIGINT},
</if>
<if test="campusAgencyName != null">
campus_agency_name = #{campusAgencyName,jdbcType=VARCHAR},
</if>
<if test="departmentId != null">
department_id = #{departmentId,jdbcType=BIGINT},
</if>
<if test="departmentName != null">
department_name = #{departmentName,jdbcType=VARCHAR},
</if>
<if test="wardId != null">
ward_id = #{wardId,jdbcType=BIGINT},
</if>
<if test="wardName != null">
ward_name = #{wardName,jdbcType=VARCHAR},
</if>
<if test="visitSerialNumber != null">
visit_serial_number = #{visitSerialNumber,jdbcType=VARCHAR},
</if>
<if test="visitMethod != null">
visit_method = #{visitMethod,jdbcType=VARCHAR},
</if>
<if test="signDiagnosis != null">
sign_diagnosis = #{signDiagnosis,jdbcType=VARCHAR},
</if>
<if test="reviewDiagnosis != null">
review_diagnosis = #{reviewDiagnosis,jdbcType=VARCHAR},
</if>
<if test="serviceStatus != null">
service_status = #{serviceStatus,jdbcType=VARCHAR},
</if>
<if test="signStatus != null">
sign_status = #{signStatus,jdbcType=VARCHAR},
</if>
<if test="intentionalSource != null">
intentional_source = #{intentionalSource,jdbcType=VARCHAR},
</if>
<if test="intentionalTime != null">
intentional_time = #{intentionalTime,jdbcType=TIMESTAMP},
</if>
<if test="billingDoctorId != null">
billing_doctor_id = #{billingDoctorId,jdbcType=BIGINT},
</if>
<if test="billingDoctorName != null">
billing_doctor_name = #{billingDoctorName,jdbcType=VARCHAR},
</if>
<if test="price != null">
price = #{price,jdbcType=DECIMAL},
</if>
<if test="paymentStatus != null">
payment_status = #{paymentStatus,jdbcType=VARCHAR},
</if>
<if test="delFlag != null">
del_flag = #{delFlag,jdbcType=TINYINT},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
update_by = #{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.xinelu.manage.domain.SignPatientRecord">
update sign_patient_record
set
patient_id = #{patientId,jdbcType=BIGINT},
patient_name = #{patientName,jdbcType=VARCHAR},
patient_phone = #{patientPhone,jdbcType=VARCHAR},
card_no = #{cardNo,jdbcType=VARCHAR},
sign_time = #{signTime,jdbcType=TIMESTAMP},
hospital_agency_id = #{hospitalAgencyId,jdbcType=BIGINT},
hospital_agency_name = #{hospitalAgencyName,jdbcType=VARCHAR},
campus_agency_id = #{campusAgencyId,jdbcType=BIGINT},
campus_agency_name = #{campusAgencyName,jdbcType=VARCHAR},
department_id = #{departmentId,jdbcType=BIGINT},
department_name = #{departmentName,jdbcType=VARCHAR},
ward_id = #{wardId,jdbcType=BIGINT},
ward_name = #{wardName,jdbcType=VARCHAR},
visit_serial_number = #{visitSerialNumber,jdbcType=VARCHAR},
visit_method = #{visitMethod,jdbcType=VARCHAR},
sign_diagnosis = #{signDiagnosis,jdbcType=VARCHAR},
review_diagnosis = #{reviewDiagnosis,jdbcType=VARCHAR},
service_status = #{serviceStatus,jdbcType=VARCHAR},
sign_status = #{signStatus,jdbcType=VARCHAR},
intentional_source = #{intentionalSource,jdbcType=VARCHAR},
intentional_time = #{intentionalTime,jdbcType=TIMESTAMP},
billing_doctor_id = #{billingDoctorId,jdbcType=BIGINT},
billing_doctor_name = #{billingDoctorName,jdbcType=VARCHAR},
price = #{price,jdbcType=DECIMAL},
payment_status = #{paymentStatus,jdbcType=VARCHAR},
del_flag = #{delFlag,jdbcType=TINYINT},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
<select id="selectList" parameterType="com.xinelu.manage.domain.SignPatientRecord" resultType="com.xinelu.manage.vo.SignPatientListVo">
select
sign.id,sign.patient_id,sign.patient_name,
sign.patient_phone,sign.card_no, sign.sign_time,
sign.hospital_agency_id,sign.hospital_agency_name,
sign.campus_agency_name,sign.department_name,
sign.ward_name,sign.visit_serial_number,
sign.visit_method,sign.sign_diagnosis,sign.review_diagnosis,
sign.service_status,sign.sign_status,sign.intentional_source,
sign.intentional_time,sign.billing_doctor_name,sign.payment_status,sign.price
p.package_name, p.serviceEndTime, p.serviceCycle
from sign_patient_record sign left join sign_patient_package p on sign.patient_id = p.id
<where>
sign.del_flag = 0
<if test="patientName != null">
and sign.patient_name like concat('%', #{patientName}, '%')
</if>
<if test="visitSerialNumber != null">
and sign.visit_serial_number like concat('%', #{visitSerialNumber}, '%')
</if>
<if test="patientPhone != null">
and sign.patient_phone like concat('%', #{patientPhone}, '%')
</if>
<if test="intentionalTimeStart != null">
and sign.intentional_time >= #{intentionalTimeStart}
</if>
<if test="intentionalTimeEnd != null">
and sign.intentional_time &lt;= #{intentionalTimeEnd}
</if>
<if test="intentionalSource != null">
and sign.intentional_source = #{intentionalSource}
</if>
<if test="signTimeStart != null">
and sign.sign_time >= #{signTimeStart}
</if>
<if test="signTimeEnd != null">
and sign.sign_time &lt;= #{signTimeEnd}
</if>
<if test="hospitalAgencyId != null ">
and sign.hospital_agency_id = #{hospitalAgencyId}
</if>
<if test="campusAgencyId != null ">
and sign.campus_agency_id = #{campusAgencyId}
</if>
<if test="departmentId != null ">
and sign.department_id = #{departmentId}
</if>
<if test="wardId != null ">
and sign.ward_id = #{wardId}
</if>
<if test="visitMethod != null ">
and sign.visit_method = #{visitMethod}
</if>
<if test="signStatus != null ">
and sign.sign_status = #{signStatus}
</if>
<if test="serviceStatus != null">
and sign.service_status = #{serviceStatus}
</if>
</where>
</select>
<select id="getByRecordId" parameterType="java.lang.Long" resultType="com.xinelu.manage.vo.PatientSignInfoVo">
select
sign.id,sign.patient_id,sign.patient_name,
sign.patient_phone,sign.card_no, sign.sign_time,
sign.hospital_agency_id,sign.hospital_agency_name,
sign.campus_agency_name,sign.department_name,
sign.ward_name,sign.visit_serial_number,
sign.visit_method,sign.sign_diagnosis,sign.review_diagnosis,
sign.service_status,sign.sign_status,sign.payment_status,sign.price
p.package_name, p.package_payment_status, p.package_price, p.service_start_time, p.service_end_time, p.service_cycle,
device.hardware_type, device.sn_code, device.hardware_price, device.hardware_status, device.hardware_manufacturer, device.hardware_introduce,
informed.informed_file_name, informed.informed_file_path
from sign_patient_record sign
left join sign_patient_package p on p.sign_patient_record_id = sign.id
left join sign_patient_package_hardware device on device.sign_patient_record_id = sign.id
left join sign_patient_informed informed on informed.sign_patient_record_id = sign.id
<where>
sign.del_flag = 0 and sign.id = #{patientSignRecordId}
</where>
</select>
<select id="getByPatient" parameterType="java.lang.Long" resultType="com.xinelu.manage.vo.PatientSignRecordVo">
select
sign.id,sign.patient_id,sign.patient_name,
sign.service_status, p.package_name
from sign_patient_record sign
left join sign_patient_package p on p.sign_patient_record_id = sign.id
<where>
sign.del_flag = 0 and sign.patient_id = #{patientId}
</where>
</select>
</mapper>