|
@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.ServletOutputStream;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
+import com.diagbot.util.IntegerUtil;
|
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
@@ -21,6 +22,8 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.diagbot.client.TranServiceClient;
|
|
import com.diagbot.client.TranServiceClient;
|
|
import com.diagbot.dto.GetEvaluationScalesDTO;
|
|
import com.diagbot.dto.GetEvaluationScalesDTO;
|
|
import com.diagbot.dto.GetEvaluationsDTO;
|
|
import com.diagbot.dto.GetEvaluationsDTO;
|
|
@@ -49,6 +52,7 @@ import com.diagbot.enums.SexTypeEnum;
|
|
import com.diagbot.enums.SysTypeEnum;
|
|
import com.diagbot.enums.SysTypeEnum;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
import com.diagbot.exception.CommonException;
|
|
import com.diagbot.exception.CommonException;
|
|
|
|
+import com.diagbot.service.InquiryDetailService;
|
|
import com.diagbot.service.InquiryDrugService;
|
|
import com.diagbot.service.InquiryDrugService;
|
|
import com.diagbot.service.InquiryScaleService;
|
|
import com.diagbot.service.InquiryScaleService;
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
import com.diagbot.service.impl.InquiryInfoServiceImpl;
|
|
@@ -83,6 +87,9 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
@Autowired
|
|
@Autowired
|
|
private InquiryDetailFacade inquiryDetailFacade;
|
|
private InquiryDetailFacade inquiryDetailFacade;
|
|
@Autowired
|
|
@Autowired
|
|
|
|
+ @Qualifier("inquiryDetailServiceImpl")
|
|
|
|
+ private InquiryDetailService inquiryDetailService;
|
|
|
|
+ @Autowired
|
|
private HospitalInfoFacade hospitalInfoFacade;
|
|
private HospitalInfoFacade hospitalInfoFacade;
|
|
@Autowired
|
|
@Autowired
|
|
private PatientInfoFacade patientInfoFacade;
|
|
private PatientInfoFacade patientInfoFacade;
|
|
@@ -124,52 +131,36 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
inquiryInfoQe.eq("doctor_id", saveInquiryVO.getDoctorId());
|
|
inquiryInfoQe.eq("doctor_id", saveInquiryVO.getDoctorId());
|
|
inquiryInfoQe.eq("patient_id", saveInquiryVO.getPatientId());
|
|
inquiryInfoQe.eq("patient_id", saveInquiryVO.getPatientId());
|
|
inquiryInfoQe.eq("inquiry_code", saveInquiryVO.getInquiryCode());
|
|
inquiryInfoQe.eq("inquiry_code", saveInquiryVO.getInquiryCode());
|
|
- InquiryInfo inquiryInfo = this.getOne(inquiryInfoQe);
|
|
|
|
-
|
|
|
|
- Long inquiryId = null;
|
|
|
|
- InquiryInfo inquiryInfoSave = new InquiryInfo();
|
|
|
|
- inquiryInfoSave.setHospitalId(saveInquiryVO.getHospitalId());
|
|
|
|
- inquiryInfoSave.setHospitalDeptId(saveInquiryVO.getHospitalDeptId());
|
|
|
|
- inquiryInfoSave.setDoctorId(saveInquiryVO.getDoctorId());
|
|
|
|
- inquiryInfoSave.setPatientId(saveInquiryVO.getPatientId());
|
|
|
|
- inquiryInfoSave.setInquiryCode(saveInquiryVO.getInquiryCode());
|
|
|
|
- inquiryInfoSave.setRegVisitedState(saveInquiryVO.getRegVisitedState());
|
|
|
|
- inquiryInfoSave.setType(saveInquiryVO.getType());
|
|
|
|
- inquiryInfoSave.setDiagnose(saveInquiryVO.getDiagnose());
|
|
|
|
- inquiryInfoSave.setSign(saveInquiryVO.getSign());
|
|
|
|
- inquiryInfoSave.setDataJson(saveInquiryVO.getDataJson());
|
|
|
|
|
|
+ InquiryInfo inquiryInfo = getOne(inquiryInfoQe);
|
|
|
|
+
|
|
if (inquiryInfo == null) {
|
|
if (inquiryInfo == null) {
|
|
- inquiryInfoSave.setGmtCreate(now);
|
|
|
|
- inquiryInfoSave.setGmtModified(now);
|
|
|
|
- this.save(inquiryInfoSave);
|
|
|
|
- inquiryId = inquiryInfoSave.getId();
|
|
|
|
|
|
+ inquiryInfo = new InquiryInfo();
|
|
|
|
+ inquiryInfo.setGmtCreate(now);
|
|
} else {
|
|
} else {
|
|
- inquiryId = inquiryInfo.getId();
|
|
|
|
- inquiryInfoSave.setId(inquiryId);
|
|
|
|
- inquiryInfoSave.setGmtModified(now);
|
|
|
|
- this.updateById(inquiryInfoSave);
|
|
|
|
-
|
|
|
|
- inquiryDetailFacade.removeByInquiryId(inquiryId);
|
|
|
|
- inquiryDrugFacade.removeByInquiryId(inquiryId);
|
|
|
|
- inquiryEvaluationFacade.removeByInquiryId(inquiryId);
|
|
|
|
- inquiryScaleFacade.removeByInquiryId(inquiryId);
|
|
|
|
|
|
+ inquiryDetailFacade.removeByInquiryId(inquiryInfo.getId());
|
|
|
|
+ inquiryDrugFacade.removeByInquiryId(inquiryInfo.getId());
|
|
|
|
+ inquiryEvaluationFacade.removeByInquiryId(inquiryInfo.getId());
|
|
|
|
+ inquiryScaleFacade.removeByInquiryId(inquiryInfo.getId());
|
|
}
|
|
}
|
|
|
|
+ inquiryInfo.setGmtModified(now);
|
|
|
|
+ BeanUtil.copyProperties(saveInquiryVO, inquiryInfo);
|
|
|
|
+ this.saveOrUpdate(inquiryInfo);
|
|
|
|
|
|
- Long inquiryId_ = inquiryId;
|
|
|
|
|
|
+ Long inquiryId = inquiryInfo.getId();
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getDetailList())) {
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getDetailList())) {
|
|
List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(), InquiryDetail.class);
|
|
List<InquiryDetail> inquiryDetailList = BeanUtil.listCopyTo(saveInquiryVO.getDetailList(), InquiryDetail.class);
|
|
inquiryDetailList.forEach(i->{
|
|
inquiryDetailList.forEach(i->{
|
|
- i.setInquiryId(inquiryId_);
|
|
|
|
|
|
+ i.setInquiryId(inquiryId);
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
i.setGmtModified(now);
|
|
i.setGmtModified(now);
|
|
});
|
|
});
|
|
- inquiryDetailFacade.saveInquiryDetails(inquiryDetailList);
|
|
|
|
|
|
+ inquiryDetailService.saveBatch(inquiryDetailList);
|
|
}
|
|
}
|
|
|
|
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getDrugList())) {
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getDrugList())) {
|
|
List<InquiryDrug> inquiryDrugList = BeanUtil.listCopyTo(saveInquiryVO.getDrugList(), InquiryDrug.class);
|
|
List<InquiryDrug> inquiryDrugList = BeanUtil.listCopyTo(saveInquiryVO.getDrugList(), InquiryDrug.class);
|
|
- inquiryDrugList.stream().forEach(i -> {
|
|
|
|
- i.setInquiryId(inquiryId_);
|
|
|
|
|
|
+ inquiryDrugList.forEach(i -> {
|
|
|
|
+ i.setInquiryId(inquiryId);
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
i.setGmtModified(now);
|
|
i.setGmtModified(now);
|
|
});
|
|
});
|
|
@@ -178,7 +169,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
|
|
|
|
if (saveInquiryVO.getInquiryEvaluation() != null) {
|
|
if (saveInquiryVO.getInquiryEvaluation() != null) {
|
|
InquiryEvaluation inquiryEvaluation = new InquiryEvaluation();
|
|
InquiryEvaluation inquiryEvaluation = new InquiryEvaluation();
|
|
- inquiryEvaluation.setInquiryId(inquiryId_);
|
|
|
|
|
|
+ inquiryEvaluation.setInquiryId(inquiryId);
|
|
inquiryEvaluation.setGmtCreate(now);
|
|
inquiryEvaluation.setGmtCreate(now);
|
|
inquiryEvaluation.setGmtModified(now);
|
|
inquiryEvaluation.setGmtModified(now);
|
|
inquiryEvaluation.setHtmlContent(saveInquiryVO.getInquiryEvaluation().getHtmlContent());
|
|
inquiryEvaluation.setHtmlContent(saveInquiryVO.getInquiryEvaluation().getHtmlContent());
|
|
@@ -187,7 +178,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getInquiryEvaluation().getScaleList())) {
|
|
if (ListUtil.isNotEmpty(saveInquiryVO.getInquiryEvaluation().getScaleList())) {
|
|
List<InquiryScale> inquiryScaleList = BeanUtil.listCopyTo(saveInquiryVO.getInquiryEvaluation().getScaleList(), InquiryScale.class);
|
|
List<InquiryScale> inquiryScaleList = BeanUtil.listCopyTo(saveInquiryVO.getInquiryEvaluation().getScaleList(), InquiryScale.class);
|
|
inquiryScaleList.forEach(i -> {
|
|
inquiryScaleList.forEach(i -> {
|
|
- i.setInquiryId(inquiryId_);
|
|
|
|
|
|
+ i.setInquiryId(inquiryId);
|
|
i.setInquiryEvaluationId(inquiryEvaluation.getId());
|
|
i.setInquiryEvaluationId(inquiryEvaluation.getId());
|
|
i.setGmtCreate(now);
|
|
i.setGmtCreate(now);
|
|
i.setGmtModified(now);
|
|
i.setGmtModified(now);
|
|
@@ -207,7 +198,7 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
saveInquiryToHisVO.setSysType(SysTypeEnum.ICSS_SERVICE.getKey());
|
|
saveInquiryToHisVO.setSysType(SysTypeEnum.ICSS_SERVICE.getKey());
|
|
RespDTOUtil.respNGDeal(tranServiceClient.saveInquiryToHis(saveInquiryToHisVO), "问诊记录插入tran层失败");
|
|
RespDTOUtil.respNGDeal(tranServiceClient.saveInquiryToHis(saveInquiryToHisVO), "问诊记录插入tran层失败");
|
|
|
|
|
|
- saveInquiryDTO.setInquiryId(inquiryId_);
|
|
|
|
|
|
+ saveInquiryDTO.setInquiryId(inquiryId);
|
|
|
|
|
|
return saveInquiryDTO;
|
|
return saveInquiryDTO;
|
|
}
|
|
}
|
|
@@ -273,7 +264,9 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
map.put("hospitalId", hospitalInfoDTO.getId());
|
|
map.put("hospitalId", hospitalInfoDTO.getId());
|
|
map.put("patientId", patientInfoDTO.getId());
|
|
map.put("patientId", patientInfoDTO.getId());
|
|
- map.put("sign", getLastOtherVO.getSign());
|
|
|
|
|
|
+ if (!IntegerUtil.isNull(getLastOtherVO.getSign())){
|
|
|
|
+ map.put("sign", getLastOtherVO.getSign());
|
|
|
|
+ }
|
|
InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
|
|
InquiryInfo inquiryInfo = baseMapper.getPatientLast(map);
|
|
|
|
|
|
if (inquiryInfo != null) {
|
|
if (inquiryInfo != null) {
|
|
@@ -296,47 +289,35 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
* @param hisInquirysVO
|
|
* @param hisInquirysVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public List<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO) {
|
|
|
|
- QueryWrapper<InquiryInfo> queryWrapper = new QueryWrapper<InquiryInfo>();
|
|
|
|
- queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
|
- queryWrapper.eq("hospital_id", hisInquirysVO.getHospitalId());
|
|
|
|
- if (hisInquirysVO.getHospitalDeptId() != null) {
|
|
|
|
- queryWrapper.eq("hospital_dept_id", hisInquirysVO.getHospitalDeptId());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getDoctorId() != null) {
|
|
|
|
- queryWrapper.eq("doctor_id", hisInquirysVO.getDoctorId());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getPatientId() != null) {
|
|
|
|
- queryWrapper.eq("patient_id", hisInquirysVO.getPatientId());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getType() != null) {
|
|
|
|
- queryWrapper.eq("type", hisInquirysVO.getType());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getSign() != null) {
|
|
|
|
- queryWrapper.eq("sign", hisInquirysVO.getSign());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getStartDate() != null) {
|
|
|
|
- queryWrapper.ge("gmt_create", hisInquirysVO.getStartDate());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getEndDate() != null) {
|
|
|
|
- queryWrapper.le("gmt_create", hisInquirysVO.getEndDate());
|
|
|
|
- }
|
|
|
|
- if (hisInquirysVO.getOrderType() == 1) {
|
|
|
|
- queryWrapper.orderByDesc("gmt_modified");
|
|
|
|
- } else if (hisInquirysVO.getOrderType() == 2) {
|
|
|
|
- queryWrapper.orderByAsc("gmt_modified");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ public IPage<HisInquiryDTO> hisInquirys(HisInquirysVO hisInquirysVO) {
|
|
|
|
+ Page<HisInquiryDTO> hisInquiryDTOPage = new Page<>();
|
|
|
|
+
|
|
|
|
+ QueryWrapper<InquiryInfo> inquiryInfoQe = new QueryWrapper<>();
|
|
|
|
+ inquiryInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
|
+ inquiryInfoQe.eq("hospital_id", hisInquirysVO.getHospitalId());
|
|
|
|
+ inquiryInfoQe.eq(hisInquirysVO.getHospitalDeptId() != null, "hospital_dept_id", hisInquirysVO.getHospitalDeptId());
|
|
|
|
+ inquiryInfoQe.eq(hisInquirysVO.getDoctorId() != null, "doctor_id", hisInquirysVO.getDoctorId());
|
|
|
|
+ inquiryInfoQe.eq(hisInquirysVO.getPatientId() != null, "patient_id", hisInquirysVO.getPatientId());
|
|
|
|
+ inquiryInfoQe.eq(hisInquirysVO.getType() != null, "type", hisInquirysVO.getType());
|
|
|
|
+ inquiryInfoQe.eq(hisInquirysVO.getSign() != null, "sign", hisInquirysVO.getSign());
|
|
|
|
+ inquiryInfoQe.ge(hisInquirysVO.getStartDate() != null, "gmt_create", hisInquirysVO.getStartDate());
|
|
|
|
+ inquiryInfoQe.le(hisInquirysVO.getEndDate() != null, "gmt_create", hisInquirysVO.getEndDate());
|
|
|
|
+ inquiryInfoQe.orderByDesc(hisInquirysVO.getOrderType() == 1,"gmt_modified");
|
|
|
|
+ inquiryInfoQe.orderByAsc(hisInquirysVO.getOrderType() == 2, "gmt_modified");
|
|
|
|
+
|
|
if (hisInquirysVO.getDisType() == 1) {
|
|
if (hisInquirysVO.getDisType() == 1) {
|
|
Date nowDate = DateUtil.now();
|
|
Date nowDate = DateUtil.now();
|
|
Date lastDate = DateUtil.addMonth(nowDate, -6);
|
|
Date lastDate = DateUtil.addMonth(nowDate, -6);
|
|
- queryWrapper.ge("gmt_create", lastDate);
|
|
|
|
- queryWrapper.le("gmt_create", nowDate);
|
|
|
|
- queryWrapper.likeRight("diagnose", hisInquirysVO.getDisName());
|
|
|
|
|
|
+ inquiryInfoQe.ge("gmt_create", lastDate);
|
|
|
|
+ inquiryInfoQe.le("gmt_create", nowDate);
|
|
|
|
+ inquiryInfoQe.likeRight("diagnose", hisInquirysVO.getDisName());
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- List<InquiryInfo> inquiryInfoList = this.list(queryWrapper);
|
|
|
|
|
|
+ Page<InquiryInfo> inquiryInfoPage = new Page<>(hisInquirysVO.getCurrent(),hisInquirysVO.getSize());
|
|
|
|
+ IPage<InquiryInfo> iPage = this.page(inquiryInfoPage, inquiryInfoQe);
|
|
|
|
+ BeanUtil.copyProperties(iPage, hisInquiryDTOPage);
|
|
|
|
+
|
|
|
|
+ List<InquiryInfo> inquiryInfoList = iPage.getRecords();
|
|
if (inquiryInfoList.size() == 0) {
|
|
if (inquiryInfoList.size() == 0) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
@@ -371,8 +352,8 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
hisInquiryDTOList.add(hisInquiryDTO);
|
|
hisInquiryDTOList.add(hisInquiryDTO);
|
|
});
|
|
});
|
|
|
|
|
|
-
|
|
|
|
- return hisInquiryDTOList;
|
|
|
|
|
|
+ hisInquiryDTOPage.setRecords(hisInquiryDTOList);
|
|
|
|
+ return hisInquiryDTOPage;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -450,10 +431,12 @@ public class InquiryInfoFacade extends InquiryInfoServiceImpl {
|
|
*/
|
|
*/
|
|
public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO) {
|
|
public GetInquiryDetailDTO getInquiryDetail(GetInquiryDetailVO getInquiryDetailVO) {
|
|
GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
GetInquiryDetailDTO getInquiryDetailDTO = new GetInquiryDetailDTO();
|
|
-
|
|
|
|
|
|
+
|
|
|
|
+ InquiryInfo inquiryInfo = this.getById(getInquiryDetailVO.getInquiryId());
|
|
List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.getListByInquryId(getInquiryDetailVO.getInquiryId());
|
|
List<InquiryDetail> inquiryDetailList = inquiryDetailFacade.getListByInquryId(getInquiryDetailVO.getInquiryId());
|
|
-
|
|
|
|
- getInquiryDetailDTO.setInquiryDetailList(inquiryDetailList);
|
|
|
|
|
|
+
|
|
|
|
+ getInquiryDetailDTO.setDataJson(inquiryInfo.getDataJson());
|
|
|
|
+ getInquiryDetailDTO.setDetailList(inquiryDetailList);
|
|
|
|
|
|
return getInquiryDetailDTO;
|
|
return getInquiryDetailDTO;
|
|
}
|
|
}
|