565555
This commit is contained in:
parent
348c08c495
commit
daabf3707f
@ -12,6 +12,7 @@ import net.lab1024.sa.admin.module.app.medicalrecord.service.MedicalRecordServic
|
|||||||
import net.lab1024.sa.common.common.domain.PageResult;
|
import net.lab1024.sa.common.common.domain.PageResult;
|
||||||
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
import net.lab1024.sa.common.common.domain.ResponseDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
@ -46,7 +47,7 @@ public class MedicalRecordController {
|
|||||||
|
|
||||||
@ApiOperation(value = "添加病历")
|
@ApiOperation(value = "添加病历")
|
||||||
@PostMapping("/medicalRecord/add")
|
@PostMapping("/medicalRecord/add")
|
||||||
public ResponseDTO<String> add(@RequestBody @Valid MedicalRecordAddForm addForm) {
|
public ResponseDTO<String> add(@RequestBody @Validated() MedicalRecordAddForm addForm) {
|
||||||
return medicalRecordService.add(addForm);
|
return medicalRecordService.add(addForm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,9 @@ import org.hibernate.validator.constraints.Range;
|
|||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -26,17 +28,18 @@ public class MedicalRecordAddForm {
|
|||||||
|
|
||||||
/*************************基本信息***************************/
|
/*************************基本信息***************************/
|
||||||
@ApiModelProperty(value = "患者姓名", required = true)
|
@ApiModelProperty(value = "患者姓名", required = true)
|
||||||
@NotNull(message = "患者姓名 不能为空")
|
@NotBlank(message = "患者姓名 不能为空")
|
||||||
@Length(min = 1, max = 20, message = "患者姓名 的长度为在1-20")
|
@Length(min = 1, max = 20, message = "患者姓名 的长度为在1-20")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@ApiModelProperty(value = "患者id", required = true)
|
@ApiModelProperty(value = "患者id", required = true)
|
||||||
@NotNull(message = "患者id 不能为空")
|
@NotBlank(message = "患者id 不能为空")
|
||||||
@Length(min = 1, max = 100, message = "患者id 的长度为在1-100")
|
@Length(min = 1, max = 100, message = "患者id 的长度为在1-100")
|
||||||
private String uid;
|
private String uid;
|
||||||
|
|
||||||
@ApiModelPropertyEnum(GenderEnum.class)
|
@ApiModelPropertyEnum(GenderEnum.class)
|
||||||
@CheckEnum(value = GenderEnum.class, message = "性别错误")
|
@CheckEnum(value = GenderEnum.class, message = "性别错误")
|
||||||
|
@NotBlank(message = "患者性别 不能为空")
|
||||||
private String sex;
|
private String sex;
|
||||||
|
|
||||||
@ApiModelProperty(value = "年龄", required = true)
|
@ApiModelProperty(value = "年龄", required = true)
|
||||||
@ -53,24 +56,23 @@ public class MedicalRecordAddForm {
|
|||||||
private String caseType;
|
private String caseType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "主要诊断", required = true)
|
@ApiModelProperty(value = "主要诊断", required = true)
|
||||||
@NotNull(message = "主要诊断 不能为空")
|
@NotBlank(message = "主要诊断 不能为空")
|
||||||
private String mainDiagnose;
|
private String mainDiagnose;
|
||||||
|
|
||||||
@ApiModelProperty(value = "患者病因", required = true)
|
@ApiModelProperty(value = "患者病因", required = true)
|
||||||
@NotNull(message = "患者病因 不能为空")
|
@NotBlank(message = "患者病因 不能为空")
|
||||||
private String diseaseCause;
|
private String diseaseCause;
|
||||||
|
|
||||||
@ApiModelProperty(value = "诱因", required = true)
|
@ApiModelProperty(value = "诱因", required = true)
|
||||||
@NotNull(message = "诱因 不能为空")
|
|
||||||
private String seductionReason;
|
private String seductionReason;
|
||||||
|
|
||||||
/*************************临床资料 病历摘要***************************/
|
/*************************临床资料 病历摘要***************************/
|
||||||
@ApiModelProperty(value = "临床资料 病历摘要 文字", required = true)
|
@ApiModelProperty(value = "临床资料 病历摘要 文字", required = true)
|
||||||
@NotNull(message = "主要诊断 文字 不能为空")
|
@NotBlank(message = "临床资料 病历摘要 不能为空")
|
||||||
private String abstractStr;
|
private String abstractStr;
|
||||||
|
|
||||||
/*************************DPMAS***************************/
|
/*************************DPMAS***************************/
|
||||||
@ApiModelProperty(value = "DPMAS", required = true)
|
@ApiModelProperty(value = "人工肝治疗", required = true)
|
||||||
@NotNull(message = "DPMAS 不能为空")
|
@NotNull(message = "DPMAS 不能为空")
|
||||||
@Valid
|
@Valid
|
||||||
private List<DpmsAddForm> dpmas;
|
private List<DpmsAddForm> dpmas;
|
||||||
@ -99,21 +101,21 @@ public class MedicalRecordAddForm {
|
|||||||
* 治疗前 总胆红素(umol/L)
|
* 治疗前 总胆红素(umol/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗前 总胆红素", required = true)
|
@ApiModelProperty(value = "治疗前 总胆红素", required = true)
|
||||||
@NotNull(message = "治疗前 总胆红素 不能为空")
|
@NotBlank(message = "治疗前 总胆红素 不能为空")
|
||||||
private String headTb;
|
private String headTb;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 治疗后 总胆红素(umol/L)
|
* 治疗后 总胆红素(umol/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗后 总胆红素 ", required = true)
|
@ApiModelProperty(value = "治疗后 总胆红素 ", required = true)
|
||||||
@NotNull(message = "治疗后 总胆红素 不能为空")
|
@NotBlank(message = "治疗后 总胆红素 不能为空")
|
||||||
private String afterTb;
|
private String afterTb;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最后一次治疗后 总胆红素(umol/L)
|
* 最后一次治疗后 总胆红素(umol/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "最后一次治疗后 总胆红素 ", required = true)
|
@ApiModelProperty(value = "最后一次治疗后 总胆红素 ", required = true)
|
||||||
@NotNull(message = "最后一次治疗后 总胆红素 不能为空")
|
@NotBlank(message = "最后一次治疗后 总胆红素 不能为空")
|
||||||
private String lastTb;
|
private String lastTb;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -156,42 +158,42 @@ public class MedicalRecordAddForm {
|
|||||||
* 治疗前 丙氨酸氨基转移酶(U/L)
|
* 治疗前 丙氨酸氨基转移酶(U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗前 丙氨酸氨基转移酶", required = true)
|
@ApiModelProperty(value = "治疗前 丙氨酸氨基转移酶", required = true)
|
||||||
@NotNull(message = "治疗前 丙氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "治疗前 丙氨酸氨基转移酶 不能为空")
|
||||||
private String headAlt;
|
private String headAlt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 治疗后 丙氨酸氨基转移酶 (U/L)
|
* 治疗后 丙氨酸氨基转移酶 (U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗后 丙氨酸氨基转移酶 ", required = true)
|
@ApiModelProperty(value = "治疗后 丙氨酸氨基转移酶 ", required = true)
|
||||||
@NotNull(message = "治疗后 丙氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "治疗后 丙氨酸氨基转移酶 不能为空")
|
||||||
private String afterAlt;
|
private String afterAlt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最后一次治疗后 丙氨酸氨基转移酶 (U/L)
|
* 最后一次治疗后 丙氨酸氨基转移酶 (U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "最后一次治疗后 丙氨酸氨基转移酶 ", required = true)
|
@ApiModelProperty(value = "最后一次治疗后 丙氨酸氨基转移酶 ", required = true)
|
||||||
@NotNull(message = "最后一次治疗后 丙氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "最后一次治疗后 丙氨酸氨基转移酶 不能为空")
|
||||||
private String lastAlt;
|
private String lastAlt;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 治疗前 天门冬氨酸氨基转移酶 (U/L)
|
* 治疗前 天门冬氨酸氨基转移酶 (U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗前 天门冬氨酸氨基转移酶", required = true)
|
@ApiModelProperty(value = "治疗前 天门冬氨酸氨基转移酶", required = true)
|
||||||
@NotNull(message = "治疗前 天门冬氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "治疗前 天门冬氨酸氨基转移酶 不能为空")
|
||||||
private String headAst;
|
private String headAst;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 治疗后 天门冬氨酸氨基转移酶 (U/L)
|
* 治疗后 天门冬氨酸氨基转移酶 (U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗后 天门冬氨酸氨基转移酶 ", required = true)
|
@ApiModelProperty(value = "治疗后 天门冬氨酸氨基转移酶 ", required = true)
|
||||||
@NotNull(message = "治疗后 天门冬氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "治疗后 天门冬氨酸氨基转移酶 不能为空")
|
||||||
private String afterAst;
|
private String afterAst;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最后一次治疗后 天门冬氨酸氨基转移酶 (U/L)
|
* 最后一次治疗后 天门冬氨酸氨基转移酶 (U/L)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "最后一次治疗后 天门冬氨酸氨基转移酶 ", required = true)
|
@ApiModelProperty(value = "最后一次治疗后 天门冬氨酸氨基转移酶 ", required = true)
|
||||||
@NotNull(message = "最后一次治疗后 天门冬氨酸氨基转移酶 不能为空")
|
@NotBlank(message = "最后一次治疗后 天门冬氨酸氨基转移酶 不能为空")
|
||||||
private String lastAst;
|
private String lastAst;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -234,21 +236,21 @@ public class MedicalRecordAddForm {
|
|||||||
* 治疗前 国际标准化比值 (INR)
|
* 治疗前 国际标准化比值 (INR)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗前 国际标准化比值", required = true)
|
@ApiModelProperty(value = "治疗前 国际标准化比值", required = true)
|
||||||
@NotNull(message = "治疗前 国际标准化比值 不能为空")
|
@NotBlank(message = "治疗前 国际标准化比值 不能为空")
|
||||||
private String headInr;
|
private String headInr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 治疗后 国际标准化比值 (INR)
|
* 治疗后 国际标准化比值 (INR)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "治疗后 国际标准化比值 ", required = true)
|
@ApiModelProperty(value = "治疗后 国际标准化比值 ", required = true)
|
||||||
@NotNull(message = "治疗后 国际标准化比值 不能为空")
|
@NotBlank(message = "治疗后 国际标准化比值 不能为空")
|
||||||
private String afterInr;
|
private String afterInr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 最后一次治疗后 国际标准化比值 (INR)
|
* 最后一次治疗后 国际标准化比值 (INR)
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "最后一次治疗后 国际标准化比值 ", required = true)
|
@ApiModelProperty(value = "最后一次治疗后 国际标准化比值 ", required = true)
|
||||||
@NotNull(message = "最后一次治疗后 国际标准化比值 不能为空")
|
@NotBlank(message = "最后一次治疗后 国际标准化比值 不能为空")
|
||||||
private String lastInr;
|
private String lastInr;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -306,23 +308,23 @@ public class MedicalRecordAddForm {
|
|||||||
private String lastTnf;
|
private String lastTnf;
|
||||||
|
|
||||||
@ApiModelProperty(value = "报告单 图片", required = true)
|
@ApiModelProperty(value = "报告单 图片", required = true)
|
||||||
@NotNull(message = "报告单 图片 不能为空")
|
@NotBlank(message = "报告单 图片 不能为空")
|
||||||
private String checkImg;
|
private String checkImg;
|
||||||
|
|
||||||
/*************************疾病转归***************************/
|
/*************************疾病转归***************************/
|
||||||
@ApiModelProperty(value = "疾病转归 出院时间", required = true)
|
@ApiModelProperty(value = "疾病转归 出院时间", required = true)
|
||||||
@NotNull(message = "疾病转归 出院时间 不能为空")
|
@NotNull(message = "疾病转归 出院时间 不能为空")
|
||||||
private LocalDateTime dischargeTime;
|
private LocalDate dischargeTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "住院天数", required = true)
|
@ApiModelProperty(value = "住院天数", required = true)
|
||||||
@NotNull(message = "住院天数 不能为空")
|
@NotBlank(message = "住院天数 不能为空")
|
||||||
private Integer day;
|
private String day;
|
||||||
|
|
||||||
@ApiModelPropertyEnum(DischargeStatusEnum.class)
|
@ApiModelPropertyEnum(DischargeStatusEnum.class)
|
||||||
@CheckEnum(value = DischargeStatusEnum.class, message = "出院状态 错误")
|
@CheckEnum(value = DischargeStatusEnum.class, message = "出院状态 错误")
|
||||||
private Integer dischargeStatus;
|
private Integer dischargeStatus;
|
||||||
|
|
||||||
@ApiModelProperty(value = "疾病转归 出院情况", required = true)
|
@ApiModelProperty(value = "疾病转归 出院情况", required = true)
|
||||||
@NotNull(message = "疾病转归 出院情况 不能为空")
|
@NotBlank(message = "疾病转归 出院情况 不能为空")
|
||||||
private String dischargeSituation;
|
private String dischargeSituation;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,10 +39,6 @@ public class MedicalRecordDetailVO {
|
|||||||
@NotNull(message = "入院时间 不能为空")
|
@NotNull(message = "入院时间 不能为空")
|
||||||
private LocalDateTime admissionTime;
|
private LocalDateTime admissionTime;
|
||||||
|
|
||||||
@ApiModelPropertyEnum(value = CasetypeEnum.class, desc = "治疗类型")
|
|
||||||
@CheckEnum(value = CasetypeEnum.class, message = "治疗类型 错误", required = true)
|
|
||||||
private List<Integer> caseTypeList;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "治疗类型", required = true)
|
@ApiModelProperty(value = "治疗类型", required = true)
|
||||||
@NotNull(message = "治疗类型 不能为空")
|
@NotNull(message = "治疗类型 不能为空")
|
||||||
private String caseType;
|
private String caseType;
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.chrono.ChronoLocalDate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -81,150 +82,151 @@ public class MedicalRecordService {
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public ResponseDTO<String> add(MedicalRecordAddForm addForm){
|
public ResponseDTO<String> add(MedicalRecordAddForm addForm){
|
||||||
ConfigVO caseNum = configService.getConfig(ConfigKeyEnum.CaseNum);
|
|
||||||
int total = medicalRecorDao.getTotal();
|
|
||||||
if(Integer.parseInt(caseNum.getConfigValue()) <= total){
|
|
||||||
return ResponseDTO.error(PROJECT_CLOSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
Long expertId = SmartRequestUtil.getRequestUserId();
|
|
||||||
|
|
||||||
ExpertSignVO expertSign = expertSignService.getExpertSign();
|
|
||||||
if(expertSign == null){
|
|
||||||
return ResponseDTO.userErrorParam("请先签署项目协议!");
|
|
||||||
}
|
|
||||||
/*************************前置 检查*****************************/
|
|
||||||
|
|
||||||
ResponseDTO check = check(SmartBeanUtil.copy(addForm, MedicalRecordUpdateForm.class), expertId);
|
|
||||||
if(!check.getOk()){
|
|
||||||
return check;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 病历-用户
|
|
||||||
MedicalRecordUserEntity medicalRecordUser = new MedicalRecordUserEntity();
|
|
||||||
medicalRecordUser.setName(addForm.getName());
|
|
||||||
medicalRecordUser.setUid(addForm.getUid());
|
|
||||||
medicalRecordUser.setSex(Integer.valueOf(addForm.getSex()));
|
|
||||||
medicalRecordUser.setAge(addForm.getAge());
|
|
||||||
medicalRecordUser.setExpertId(expertId);
|
|
||||||
medicalRecordUser.setCreateTime(LocalDateTime.now());
|
|
||||||
int res = medicalRecorUserDao.insert(medicalRecordUser);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 病例
|
|
||||||
MedicalRecordEntity medicalRecord = new MedicalRecordEntity();
|
|
||||||
medicalRecord.setUserId(medicalRecordUser.getId());
|
|
||||||
medicalRecord.setAdmissionTime(addForm.getAdmissionTime());
|
|
||||||
medicalRecord.setCaseType(addForm.getCaseType());
|
|
||||||
|
|
||||||
DateTime nowDate = DateUtil.date();
|
|
||||||
String statistics_date = DateUtil.format(nowDate, "yyyyMMdd");
|
|
||||||
String statistics_month = DateUtil.format(nowDate, "yyyyMM");
|
|
||||||
String statistics_year = DateUtil.format(nowDate, "yyyy");
|
|
||||||
int quarter = DateUtil.quarter(nowDate);
|
|
||||||
String statistics_quarter = statistics_year + quarter;
|
|
||||||
|
|
||||||
medicalRecord.setStatisticsDay(Integer.valueOf(statistics_date));
|
|
||||||
medicalRecord.setStatisticsMonth(Integer.valueOf(statistics_month));
|
|
||||||
medicalRecord.setStatisticsQuarter(Integer.valueOf(statistics_quarter));
|
|
||||||
medicalRecord.setStatisticsYear(Integer.valueOf(statistics_year));
|
|
||||||
medicalRecord.setExpertId(expertId);
|
|
||||||
medicalRecord.setCreateTime(LocalDateTime.now());
|
|
||||||
medicalRecord.setStatus(0);
|
|
||||||
medicalRecord.setMainDiagnose(addForm.getMainDiagnose());
|
|
||||||
medicalRecord.setDiseaseCause(addForm.getDiseaseCause());
|
|
||||||
medicalRecord.setSeductionReason(addForm.getSeductionReason());
|
|
||||||
res = medicalRecorDao.insert(medicalRecord);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 病例-病历摘要
|
|
||||||
MedicalRecordAbstracEntity abstracEntity = new MedicalRecordAbstracEntity();
|
|
||||||
abstracEntity.setCaseId(medicalRecord.getId());
|
|
||||||
abstracEntity.setAbstractStr(addForm.getAbstractStr());
|
|
||||||
abstracEntity.setCreateTime(LocalDateTime.now());
|
|
||||||
res = medicalRecorAbstracDao.insert(abstracEntity);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 人工肝治疗
|
|
||||||
for(DpmsAddForm item: addForm.getDpmas()){
|
|
||||||
MedicalRecordDpmsEntity dp = new MedicalRecordDpmsEntity();
|
|
||||||
dp.setDpmasImg(item.getDpmasImg());
|
|
||||||
dp.setCaseId(medicalRecord.getId());
|
|
||||||
dp.setTreatTime(item.getTreatTime());
|
|
||||||
res = medicalRecorDpmasDao.insert(dp);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 实验室检测
|
|
||||||
MedicalRecordCheckdataEntity medicalRecordCheckdata = new MedicalRecordCheckdataEntity();
|
|
||||||
medicalRecordCheckdata.setCaseId(medicalRecord.getId());
|
|
||||||
medicalRecordCheckdata.setHeadTime(addForm.getHeadTime());
|
|
||||||
medicalRecordCheckdata.setAfterTime(addForm.getAfterTime());
|
|
||||||
medicalRecordCheckdata.setLastTime(addForm.getLastTime());
|
|
||||||
medicalRecordCheckdata.setHeadTb(addForm.getHeadTb());
|
|
||||||
medicalRecordCheckdata.setAfterTb(addForm.getAfterTb());
|
|
||||||
medicalRecordCheckdata.setLastTb(addForm.getLastTb());
|
|
||||||
medicalRecordCheckdata.setHeadAlb(addForm.getHeadAlb());
|
|
||||||
medicalRecordCheckdata.setAfterAlb(addForm.getAfterAlb());
|
|
||||||
medicalRecordCheckdata.setLastAlb(addForm.getLastAlb());
|
|
||||||
medicalRecordCheckdata.setHeadDb(addForm.getHeadDb());
|
|
||||||
medicalRecordCheckdata.setAfterDb(addForm.getAfterDb());
|
|
||||||
medicalRecordCheckdata.setLastDb(addForm.getLastDb());
|
|
||||||
medicalRecordCheckdata.setHeadPta(addForm.getHeadPta());
|
|
||||||
medicalRecordCheckdata.setAfterPta(addForm.getAfterPta());
|
|
||||||
medicalRecordCheckdata.setLastPta(addForm.getLastPta());
|
|
||||||
medicalRecordCheckdata.setHeadIb(addForm.getHeadIb());
|
|
||||||
medicalRecordCheckdata.setAfterIb(addForm.getAfterIb());
|
|
||||||
medicalRecordCheckdata.setLastIb(addForm.getLastIb());
|
|
||||||
medicalRecordCheckdata.setHeadInr(addForm.getHeadInr());
|
|
||||||
medicalRecordCheckdata.setAfterInr(addForm.getAfterInr());
|
|
||||||
medicalRecordCheckdata.setLastInr(addForm.getLastInr());
|
|
||||||
medicalRecordCheckdata.setHeadAlt(addForm.getHeadAlt());
|
|
||||||
medicalRecordCheckdata.setAfterAlt(addForm.getAfterAlt());
|
|
||||||
medicalRecordCheckdata.setLastAlt(addForm.getLastAlt());
|
|
||||||
medicalRecordCheckdata.setHeadIl6(addForm.getHeadIl6());
|
|
||||||
medicalRecordCheckdata.setAfterIl6(addForm.getAfterIl6());
|
|
||||||
medicalRecordCheckdata.setLastIl6(addForm.getLastIl6());
|
|
||||||
medicalRecordCheckdata.setHeadAst(addForm.getHeadAst());
|
|
||||||
medicalRecordCheckdata.setAfterAst(addForm.getAfterAst());
|
|
||||||
medicalRecordCheckdata.setLastAst(addForm.getLastAst());
|
|
||||||
medicalRecordCheckdata.setHeadTnf(addForm.getHeadTnf());
|
|
||||||
medicalRecordCheckdata.setAfterTnf(addForm.getAfterTnf());
|
|
||||||
medicalRecordCheckdata.setLastTnf(addForm.getLastTnf());
|
|
||||||
medicalRecordCheckdata.setCheckImg(addForm.getCheckImg());
|
|
||||||
medicalRecordCheckdata.setCreateTime(LocalDateTime.now());
|
|
||||||
res = medicalRecorCheckDataDao.insert(medicalRecordCheckdata);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 疾病转归
|
|
||||||
MedicalRecordPrognosisEntity medicalRecordPrognosis = new MedicalRecordPrognosisEntity();
|
|
||||||
medicalRecordPrognosis.setCaseId(medicalRecord.getId());
|
|
||||||
medicalRecordPrognosis.setDischargeTime(addForm.getDischargeTime());
|
|
||||||
medicalRecordPrognosis.setDay(addForm.getDay());
|
|
||||||
medicalRecordPrognosis.setDischargeStatus(addForm.getDischargeStatus());
|
|
||||||
medicalRecordPrognosis.setDischargeSituation(addForm.getDischargeSituation());
|
|
||||||
res = medicalRecorPrognosisDao.insert(medicalRecordPrognosis);
|
|
||||||
if (res <= 0){
|
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
||||||
return ResponseDTO.userErrorParam("操作失败");
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResponseDTO.app_ok();
|
return ResponseDTO.app_ok();
|
||||||
|
// ConfigVO caseNum = configService.getConfig(ConfigKeyEnum.CaseNum);
|
||||||
|
// int total = medicalRecorDao.getTotal();
|
||||||
|
// if(Integer.parseInt(caseNum.getConfigValue()) <= total){
|
||||||
|
// return ResponseDTO.error(PROJECT_CLOSE);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// Long expertId = SmartRequestUtil.getRequestUserId();
|
||||||
|
//
|
||||||
|
// ExpertSignVO expertSign = expertSignService.getExpertSign();
|
||||||
|
// if(expertSign == null){
|
||||||
|
// return ResponseDTO.userErrorParam("请先签署项目协议!");
|
||||||
|
// }
|
||||||
|
// /*************************前置 检查*****************************/
|
||||||
|
//
|
||||||
|
// ResponseDTO check = check(SmartBeanUtil.copy(addForm, MedicalRecordUpdateForm.class), expertId);
|
||||||
|
// if(!check.getOk()){
|
||||||
|
// return check;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 病历-用户
|
||||||
|
// MedicalRecordUserEntity medicalRecordUser = new MedicalRecordUserEntity();
|
||||||
|
// medicalRecordUser.setName(addForm.getName());
|
||||||
|
// medicalRecordUser.setUid(addForm.getUid());
|
||||||
|
// medicalRecordUser.setSex(Integer.valueOf(addForm.getSex()));
|
||||||
|
// medicalRecordUser.setAge(addForm.getAge());
|
||||||
|
// medicalRecordUser.setExpertId(expertId);
|
||||||
|
// medicalRecordUser.setCreateTime(LocalDateTime.now());
|
||||||
|
// int res = medicalRecorUserDao.insert(medicalRecordUser);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 病例
|
||||||
|
// MedicalRecordEntity medicalRecord = new MedicalRecordEntity();
|
||||||
|
// medicalRecord.setUserId(medicalRecordUser.getId());
|
||||||
|
// medicalRecord.setAdmissionTime(addForm.getAdmissionTime());
|
||||||
|
// medicalRecord.setCaseType(addForm.getCaseType());
|
||||||
|
//
|
||||||
|
// DateTime nowDate = DateUtil.date();
|
||||||
|
// String statistics_date = DateUtil.format(nowDate, "yyyyMMdd");
|
||||||
|
// String statistics_month = DateUtil.format(nowDate, "yyyyMM");
|
||||||
|
// String statistics_year = DateUtil.format(nowDate, "yyyy");
|
||||||
|
// int quarter = DateUtil.quarter(nowDate);
|
||||||
|
// String statistics_quarter = statistics_year + quarter;
|
||||||
|
//
|
||||||
|
// medicalRecord.setStatisticsDay(Integer.valueOf(statistics_date));
|
||||||
|
// medicalRecord.setStatisticsMonth(Integer.valueOf(statistics_month));
|
||||||
|
// medicalRecord.setStatisticsQuarter(Integer.valueOf(statistics_quarter));
|
||||||
|
// medicalRecord.setStatisticsYear(Integer.valueOf(statistics_year));
|
||||||
|
// medicalRecord.setExpertId(expertId);
|
||||||
|
// medicalRecord.setCreateTime(LocalDateTime.now());
|
||||||
|
// medicalRecord.setStatus(0);
|
||||||
|
// medicalRecord.setMainDiagnose(addForm.getMainDiagnose());
|
||||||
|
// medicalRecord.setDiseaseCause(addForm.getDiseaseCause());
|
||||||
|
// medicalRecord.setSeductionReason(addForm.getSeductionReason());
|
||||||
|
// res = medicalRecorDao.insert(medicalRecord);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 病例-病历摘要
|
||||||
|
// MedicalRecordAbstracEntity abstracEntity = new MedicalRecordAbstracEntity();
|
||||||
|
// abstracEntity.setCaseId(medicalRecord.getId());
|
||||||
|
// abstracEntity.setAbstractStr(addForm.getAbstractStr());
|
||||||
|
// abstracEntity.setCreateTime(LocalDateTime.now());
|
||||||
|
// res = medicalRecorAbstracDao.insert(abstracEntity);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 人工肝治疗
|
||||||
|
// for(DpmsAddForm item: addForm.getDpmas()){
|
||||||
|
// MedicalRecordDpmsEntity dp = new MedicalRecordDpmsEntity();
|
||||||
|
// dp.setDpmasImg(item.getDpmasImg());
|
||||||
|
// dp.setCaseId(medicalRecord.getId());
|
||||||
|
// dp.setTreatTime(item.getTreatTime());
|
||||||
|
// res = medicalRecorDpmasDao.insert(dp);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 实验室检测
|
||||||
|
// MedicalRecordCheckdataEntity medicalRecordCheckdata = new MedicalRecordCheckdataEntity();
|
||||||
|
// medicalRecordCheckdata.setCaseId(medicalRecord.getId());
|
||||||
|
// medicalRecordCheckdata.setHeadTime(addForm.getHeadTime());
|
||||||
|
// medicalRecordCheckdata.setAfterTime(addForm.getAfterTime());
|
||||||
|
// medicalRecordCheckdata.setLastTime(addForm.getLastTime());
|
||||||
|
// medicalRecordCheckdata.setHeadTb(addForm.getHeadTb());
|
||||||
|
// medicalRecordCheckdata.setAfterTb(addForm.getAfterTb());
|
||||||
|
// medicalRecordCheckdata.setLastTb(addForm.getLastTb());
|
||||||
|
// medicalRecordCheckdata.setHeadAlb(addForm.getHeadAlb());
|
||||||
|
// medicalRecordCheckdata.setAfterAlb(addForm.getAfterAlb());
|
||||||
|
// medicalRecordCheckdata.setLastAlb(addForm.getLastAlb());
|
||||||
|
// medicalRecordCheckdata.setHeadDb(addForm.getHeadDb());
|
||||||
|
// medicalRecordCheckdata.setAfterDb(addForm.getAfterDb());
|
||||||
|
// medicalRecordCheckdata.setLastDb(addForm.getLastDb());
|
||||||
|
// medicalRecordCheckdata.setHeadPta(addForm.getHeadPta());
|
||||||
|
// medicalRecordCheckdata.setAfterPta(addForm.getAfterPta());
|
||||||
|
// medicalRecordCheckdata.setLastPta(addForm.getLastPta());
|
||||||
|
// medicalRecordCheckdata.setHeadIb(addForm.getHeadIb());
|
||||||
|
// medicalRecordCheckdata.setAfterIb(addForm.getAfterIb());
|
||||||
|
// medicalRecordCheckdata.setLastIb(addForm.getLastIb());
|
||||||
|
// medicalRecordCheckdata.setHeadInr(addForm.getHeadInr());
|
||||||
|
// medicalRecordCheckdata.setAfterInr(addForm.getAfterInr());
|
||||||
|
// medicalRecordCheckdata.setLastInr(addForm.getLastInr());
|
||||||
|
// medicalRecordCheckdata.setHeadAlt(addForm.getHeadAlt());
|
||||||
|
// medicalRecordCheckdata.setAfterAlt(addForm.getAfterAlt());
|
||||||
|
// medicalRecordCheckdata.setLastAlt(addForm.getLastAlt());
|
||||||
|
// medicalRecordCheckdata.setHeadIl6(addForm.getHeadIl6());
|
||||||
|
// medicalRecordCheckdata.setAfterIl6(addForm.getAfterIl6());
|
||||||
|
// medicalRecordCheckdata.setLastIl6(addForm.getLastIl6());
|
||||||
|
// medicalRecordCheckdata.setHeadAst(addForm.getHeadAst());
|
||||||
|
// medicalRecordCheckdata.setAfterAst(addForm.getAfterAst());
|
||||||
|
// medicalRecordCheckdata.setLastAst(addForm.getLastAst());
|
||||||
|
// medicalRecordCheckdata.setHeadTnf(addForm.getHeadTnf());
|
||||||
|
// medicalRecordCheckdata.setAfterTnf(addForm.getAfterTnf());
|
||||||
|
// medicalRecordCheckdata.setLastTnf(addForm.getLastTnf());
|
||||||
|
// medicalRecordCheckdata.setCheckImg(addForm.getCheckImg());
|
||||||
|
// medicalRecordCheckdata.setCreateTime(LocalDateTime.now());
|
||||||
|
// res = medicalRecorCheckDataDao.insert(medicalRecordCheckdata);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 疾病转归
|
||||||
|
// MedicalRecordPrognosisEntity medicalRecordPrognosis = new MedicalRecordPrognosisEntity();
|
||||||
|
// medicalRecordPrognosis.setCaseId(medicalRecord.getId());
|
||||||
|
// medicalRecordPrognosis.setDischargeTime(addForm.getDischargeTime());
|
||||||
|
// medicalRecordPrognosis.setDay(Integer.valueOf(addForm.getDay()));
|
||||||
|
// medicalRecordPrognosis.setDischargeStatus(addForm.getDischargeStatus());
|
||||||
|
// medicalRecordPrognosis.setDischargeSituation(addForm.getDischargeSituation());
|
||||||
|
// res = medicalRecorPrognosisDao.insert(medicalRecordPrognosis);
|
||||||
|
// if (res <= 0){
|
||||||
|
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
// return ResponseDTO.userErrorParam("操作失败");
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// return ResponseDTO.app_ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@ -356,8 +358,8 @@ public class MedicalRecordService {
|
|||||||
return ResponseDTO.userErrorParam("操作失败");
|
return ResponseDTO.userErrorParam("操作失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
medicalRecordPrognosis.setDischargeTime(updateForm.getDischargeTime());
|
medicalRecordPrognosis.setDischargeTime(updateForm.getDischargeTime().atStartOfDay());
|
||||||
medicalRecordPrognosis.setDay(updateForm.getDay());
|
medicalRecordPrognosis.setDay(Integer.valueOf(updateForm.getDay()));
|
||||||
medicalRecordPrognosis.setDischargeStatus(updateForm.getDischargeStatus());
|
medicalRecordPrognosis.setDischargeStatus(updateForm.getDischargeStatus());
|
||||||
medicalRecordPrognosis.setDischargeSituation(updateForm.getDischargeSituation());
|
medicalRecordPrognosis.setDischargeSituation(updateForm.getDischargeSituation());
|
||||||
medicalRecorPrognosisDao.updateById(medicalRecordPrognosis);
|
medicalRecorPrognosisDao.updateById(medicalRecordPrognosis);
|
||||||
@ -499,7 +501,7 @@ public class MedicalRecordService {
|
|||||||
// 疾病转归
|
// 疾病转归
|
||||||
public ResponseDTO checkPrognosis(MedicalRecordUpdateForm form, Long expertId){
|
public ResponseDTO checkPrognosis(MedicalRecordUpdateForm form, Long expertId){
|
||||||
LocalDateTime admissionTime = form.getAdmissionTime();
|
LocalDateTime admissionTime = form.getAdmissionTime();
|
||||||
LocalDateTime dischargeTime = form.getDischargeTime();
|
LocalDate dischargeTime = form.getDischargeTime();
|
||||||
List<DpmsAddForm> dpmas = form.getDpmas();
|
List<DpmsAddForm> dpmas = form.getDpmas();
|
||||||
|
|
||||||
if (admissionTime == null || dischargeTime == null) {
|
if (admissionTime == null || dischargeTime == null) {
|
||||||
@ -507,7 +509,7 @@ public class MedicalRecordService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 出院时间大于住院时间
|
// 出院时间大于住院时间
|
||||||
boolean isAfter = dischargeTime.isAfter(admissionTime);
|
boolean isAfter = dischargeTime.isAfter(ChronoLocalDate.from(admissionTime));
|
||||||
if (!isAfter){
|
if (!isAfter){
|
||||||
return ResponseDTO.userErrorParam("疾病转归:出院时间需大于住院时间");
|
return ResponseDTO.userErrorParam("疾病转归:出院时间需大于住院时间");
|
||||||
}
|
}
|
||||||
@ -519,7 +521,7 @@ public class MedicalRecordService {
|
|||||||
return ResponseDTO.userErrorParam("人工肝治疗:" + "第 " + (i + 1) + " 次治疗时间不能为空");
|
return ResponseDTO.userErrorParam("人工肝治疗:" + "第 " + (i + 1) + " 次治疗时间不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (treatTime.isBefore(admissionTime) || treatTime.isAfter(dischargeTime)) {
|
if (treatTime.isBefore(admissionTime) || treatTime.isAfter(dischargeTime.atStartOfDay())) {
|
||||||
return ResponseDTO.userErrorParam("人工肝治疗:" + "第 " + (i + 1) + " 次治疗时间不在入院和出院时间之间");
|
return ResponseDTO.userErrorParam("人工肝治疗:" + "第 " + (i + 1) + " 次治疗时间不在入院和出院时间之间");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user