|
@@ -3,6 +3,7 @@ package com.ruoyi.info.order.service.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -11,6 +12,9 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.BeanCopyUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
+import com.ruoyi.info.hospital.domain.Hospital;
|
|
|
+import com.ruoyi.info.hospital.domain.HospitalDepartment;
|
|
|
+import com.ruoyi.info.hospital.domain.vo.HospitalDepartmentVo;
|
|
|
import com.ruoyi.info.hospital.domain.vo.HospitalStatisticsVo;
|
|
|
import com.ruoyi.info.hospital.domain.vo.HospitalVo;
|
|
|
import com.ruoyi.info.hospital.service.IHospitalDepartmentService;
|
|
@@ -23,6 +27,7 @@ import com.ruoyi.info.order.enums.OrderStatus;
|
|
|
import com.ruoyi.info.order.exception.OrderExceptionEnum;
|
|
|
import com.ruoyi.info.order.mapper.OrderMapper;
|
|
|
import com.ruoyi.info.order.service.IOrderService;
|
|
|
+import com.ruoyi.info.patient.domain.Patient;
|
|
|
import com.ruoyi.info.patient.domain.vo.PatientVo;
|
|
|
import com.ruoyi.info.patient.service.IPatientService;
|
|
|
import com.ruoyi.info.service.domain.ServiceProduct;
|
|
@@ -120,13 +125,16 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
return vo;
|
|
|
}
|
|
|
//医院
|
|
|
- vo.setHospitalVo(hospitalService.queryDelById(vo.getHospitalId()));
|
|
|
+ vo.setHospitalVo(JSONObject.parseObject(vo.getHospitalInfo(), HospitalVo.class));
|
|
|
//科室
|
|
|
- vo.setHospitalDepartmentName(hospitalDepartmentService.queryNameById(vo.getHospitalDepartmentId()));
|
|
|
+ HospitalDepartmentVo hospitalDepartmentVo = JSONObject.parseObject(vo.getHospitalDepartmentInfo(), HospitalDepartmentVo.class);
|
|
|
+ if (ObjectUtil.isNotNull(hospitalDepartmentVo)) {
|
|
|
+ vo.setHospitalDepartmentName(hospitalDepartmentVo.getName());
|
|
|
+ }
|
|
|
//就诊人
|
|
|
- vo.setPatientVo(patientService.queryDelById(vo.getPatientId()));
|
|
|
+ vo.setPatientVo(JSONObject.parseObject(vo.getPatientInfo(), PatientVo.class));
|
|
|
//服务
|
|
|
- ServiceProductVo serviceProductVo = serviceProductService.queryDelById(vo.getServiceId());
|
|
|
+ ServiceProductVo serviceProductVo = JSONObject.parseObject(vo.getServiceInfo(), ServiceProductVo.class);
|
|
|
if (ObjectUtil.isNotNull(serviceProductVo)) {
|
|
|
vo.setServiceName(serviceProductVo.getName());
|
|
|
}
|
|
@@ -179,10 +187,20 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
add.setStatus(OrderStatus.wait_confirmed);
|
|
|
//服务
|
|
|
ServiceProduct serviceProduct = serviceProductService.loadById(add.getServiceId(), true);
|
|
|
+ add.setServiceInfo(JSONObject.toJSONString(serviceProduct));
|
|
|
add.setSellingPrice(serviceProduct.getSellingPrice());
|
|
|
add.setTotalPrice(serviceProduct.getSellingPrice().multiply(new BigDecimal(add.getOrderNum())));
|
|
|
add.setServiceUnit(serviceProduct.getServiceUnit());
|
|
|
add.setServiceUnitDuration(serviceProduct.getServiceUnitDuration());
|
|
|
+ //医院
|
|
|
+ Hospital hospital = hospitalService.loadById(add.getHospitalId(), true);
|
|
|
+ add.setHospitalInfo(JSONObject.toJSONString(hospital));
|
|
|
+ //科室
|
|
|
+ HospitalDepartment hospitalDepartment = hospitalDepartmentService.loadById(add.getHospitalDepartmentId(), true);
|
|
|
+ add.setHospitalDepartmentInfo(JSONObject.toJSONString(hospitalDepartment));
|
|
|
+ //就诊人
|
|
|
+ Patient patient = patientService.loadById(add.getPatientId(), true);
|
|
|
+ add.setPatientInfo(JSONObject.toJSONString(patient));
|
|
|
validEntityBeforeSave(add);
|
|
|
boolean flag = baseMapper.insert(add) > 0;
|
|
|
if (flag) {
|
|
@@ -286,17 +304,25 @@ public class OrderServiceImpl implements IOrderService {
|
|
|
|
|
|
private List<OrderVo> convertAllList(List<OrderVo> list, boolean queryPatient) {
|
|
|
return list.stream().map(o -> {
|
|
|
- HospitalVo hospitalVo = hospitalService.queryDelById(o.getHospitalId());
|
|
|
- o.setHospitalName(hospitalVo.getName());
|
|
|
- o.setHospitalAddress(hospitalVo.getAddress());
|
|
|
- o.setHospitalDepartmentName(hospitalDepartmentService.queryNameById(o.getHospitalDepartmentId()));
|
|
|
+ HospitalVo hospitalVo = JSONObject.parseObject(o.getHospitalInfo(), HospitalVo.class);
|
|
|
+ if (ObjectUtil.isNotNull(hospitalVo)) {
|
|
|
+ o.setHospitalName(hospitalVo.getName());
|
|
|
+ o.setHospitalAddress(hospitalVo.getAddress());
|
|
|
+ }
|
|
|
+ //科室
|
|
|
+ HospitalDepartmentVo hospitalDepartmentVo = JSONObject.parseObject(o.getHospitalDepartmentInfo(), HospitalDepartmentVo.class);
|
|
|
+ if (ObjectUtil.isNotNull(hospitalDepartmentVo)) {
|
|
|
+ o.setHospitalDepartmentName(hospitalDepartmentVo.getName());
|
|
|
+ }
|
|
|
if(queryPatient) {
|
|
|
- PatientVo patientVo = patientService.queryDelById(o.getPatientId());
|
|
|
- o.setPatientName(patientVo.getName());
|
|
|
- o.setPatientMobile(patientVo.getMobile());
|
|
|
- o.setPatientGender(patientVo.getGender());
|
|
|
- o.setPatientAge(patientVo.getAge());
|
|
|
- o.setPatientRelationship(patientVo.getRelationship());
|
|
|
+ PatientVo patientVo = JSONObject.parseObject(o.getPatientInfo(), PatientVo.class);
|
|
|
+ if (ObjectUtil.isNotNull(patientVo)) {
|
|
|
+ o.setPatientName(patientVo.getName());
|
|
|
+ o.setPatientMobile(patientVo.getMobile());
|
|
|
+ o.setPatientGender(patientVo.getGender());
|
|
|
+ o.setPatientAge(patientVo.getAge());
|
|
|
+ o.setPatientRelationship(patientVo.getRelationship());
|
|
|
+ }
|
|
|
}
|
|
|
return o;
|
|
|
}).collect(Collectors.toList());
|