From ee3f62bd70a72d05f220ce8f5f452ada5faa623b Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 26 Jun 2025 15:47:39 +0800 Subject: [PATCH] 67777 --- .../service/MedicalRecordService.java | 287 +++++++++--------- 1 file changed, 143 insertions(+), 144 deletions(-) diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java index a3d52b2..3166060 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/app/medicalrecord/service/MedicalRecordService.java @@ -82,151 +82,150 @@ public class MedicalRecordService { @Transactional public ResponseDTO 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(); -// 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