This commit is contained in:
wucongxing8150 2025-06-26 15:47:39 +08:00
parent 9febf92836
commit ee3f62bd70

View File

@ -82,151 +82,150 @@ 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(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(); 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