|
@@ -18,9 +18,7 @@ import com.ywt.gapi.order.CreateTaiheRegisteredOrderResponse;
|
|
|
import com.ywt.gapi.order.OrderServiceGrpc;
|
|
|
import com.ywt.gapi.system.Dept;
|
|
|
import com.ywt.gapi.system.*;
|
|
|
-import com.ywt.gapi.taihe.register.CancelRegisteredRequest;
|
|
|
-import com.ywt.gapi.taihe.register.CancelRegisteredResponse;
|
|
|
-import com.ywt.gapi.taihe.register.TaiheRegisterServiceGrpc;
|
|
|
+import com.ywt.gapi.taihe.register.*;
|
|
|
import com.ywt.gapi.third.taihe.*;
|
|
|
import com.ywt.gapi.user.*;
|
|
|
import com.ywt.model.BaseResponse;
|
|
@@ -30,6 +28,7 @@ import com.ywt.request.queue.QueryQueueListRequest;
|
|
|
import com.ywt.request.register.*;
|
|
|
import com.ywt.response.queue.QueryQueueListResponse;
|
|
|
import com.ywt.response.register.*;
|
|
|
+import com.ywt.response.report.QueryReportListResponseData;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -43,6 +42,7 @@ import java.util.stream.IntStream;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
+
|
|
|
@Autowired
|
|
|
private TaiheRegisterServiceGrpc.TaiheRegisterServiceBlockingStub taiheRegisterServiceBlockingStub;
|
|
|
@Autowired
|
|
@@ -129,7 +129,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
String doctorCode = "";
|
|
|
String serviceDate = "";
|
|
|
String serviceCode = "";
|
|
|
- Map<String, Object> dataMap = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, serviceDate,-1, -1);
|
|
|
+ Map<String, Object> dataMap = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, serviceDate, -1, -1);
|
|
|
List<QueryDepOrderSourceRemainResponseData> dataList = new ArrayList<>();
|
|
|
if (!Checker.isNone(dataMap.get("hasSchedulingList"))) {
|
|
|
dataList = (List<QueryDepOrderSourceRemainResponseData>) dataMap.get("hasSchedulingList");
|
|
@@ -201,7 +201,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
String doctorCode = Checker.getStringValue(request.getDoctorCode());
|
|
|
String serviceDate = Checker.getStringValue(request.getDate());
|
|
|
String serviceCode = Checker.getStringValue(request.getServiceCode());
|
|
|
- Map<String, Object> dataMap = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, serviceDate,-1, -1);
|
|
|
+ Map<String, Object> dataMap = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, serviceDate, -1, -1);
|
|
|
List<QueryDepDoctorListResponseData> dataList = new ArrayList<>();
|
|
|
if (!Checker.isNone(dataMap.get("groupByDoctorList"))) {
|
|
|
dataList = (List<QueryDepDoctorListResponseData>) dataMap.get("groupByDoctorList");
|
|
@@ -275,7 +275,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
String endDate = DateUtil.formatDate(calendar.getTime(), "yyyy-MM-dd"); //日期
|
|
|
|
|
|
// 如果传了具体的日期,那之查这一天的
|
|
|
- if (!Checker.isNone(serviceDate)){
|
|
|
+ if (!Checker.isNone(serviceDate)) {
|
|
|
startDate = serviceDate;
|
|
|
endDate = serviceDate;
|
|
|
}
|
|
@@ -363,7 +363,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
//号源截止时间段
|
|
|
os.setEndTime("");
|
|
|
//挂号费用
|
|
|
- os.setCost(BizUtil.cent2Yuan(s.getFee())+"");
|
|
|
+ os.setCost(BizUtil.cent2Yuan(s.getFee()) + "");
|
|
|
//剩余数量
|
|
|
os.setRemain(Checker.getIntegerValue(s.getAvailableLeftNum()));
|
|
|
//true:确认挂号时支付,false:就诊时支付
|
|
@@ -398,7 +398,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
private List<QueryDepOrderSourceRemainResponseData> checkHasSchedulingGroupByDate(List<Schedule> scheduleList, int startOffset, int endOffset) {
|
|
|
List<QueryDepOrderSourceRemainResponseData> remainResponseList = new ArrayList<>();
|
|
|
if (endOffset > startOffset && !Checker.isNone(scheduleList)) {
|
|
|
- for (int offset = startOffset; offset < endOffset; offset++ ){
|
|
|
+ for (int offset = startOffset; offset < endOffset; offset++) {
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
if (offset > 0) {
|
|
|
c.add(Calendar.DATE, offset);
|
|
@@ -407,7 +407,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
List<Schedule> itemScheduleList = scheduleList.stream().filter(s -> strDate.equals(s.getServiceDate())).collect(Collectors.toList());
|
|
|
QueryDepOrderSourceRemainResponseData data = new QueryDepOrderSourceRemainResponseData();
|
|
|
int remain = 0; //当期日期是否有排班
|
|
|
- if (!Checker.isNone(itemScheduleList)){
|
|
|
+ if (!Checker.isNone(itemScheduleList)) {
|
|
|
remain = itemScheduleList.stream().mapToInt(Schedule::getAvailableLeftNum).sum();
|
|
|
}
|
|
|
data.setDate(strDate);
|
|
@@ -600,7 +600,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
* @return
|
|
|
*/
|
|
|
private QueryDoctorScheduleListResponseData getScheduleTimeInfoResponse(String deptCode, String doctorCode, String serviceDate,
|
|
|
- int period, int hospitalId) {
|
|
|
+ int period, int hospitalId) {
|
|
|
List<ScheduleInfo> lst = new LinkedList<>();
|
|
|
|
|
|
GetScheduleTimeInfoRequest getScheduleTimeInfoRequest = GetScheduleTimeInfoRequest.newBuilder()
|
|
@@ -770,13 +770,87 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public QueryOrderDetailResponseData queryOrderDetail(QueryOrderDetailRequest request) {
|
|
|
- return null;
|
|
|
+ public QueryOrderDetailResponseData queryOrderDetail(QueryOrderDetailRequest request) throws Exception {
|
|
|
+ if (Checker.isNone(request.getOrderId())) {
|
|
|
+ throw new AppMessageException("没有挂号详情");
|
|
|
+
|
|
|
+ }
|
|
|
+ int orderId = Integer.parseInt(request.getOrderId());
|
|
|
+ int userId = ContextHelper.getCurrentUserIdWrapped();
|
|
|
+ int pageIndex = 1;
|
|
|
+ int pageSize = 1000;
|
|
|
+ GetCommonOrderListRequest req = GetCommonOrderListRequest.newBuilder()
|
|
|
+ .setPageIndex(pageIndex)
|
|
|
+ .setPageSize(pageSize)
|
|
|
+ .setUserId(userId)
|
|
|
+ .build();
|
|
|
+ GetCommonOrderListResponse res = taiheRegisterServiceBlockingStub.getCommonOrderList(req);
|
|
|
+ if (res.getCode() == ResultCode.SUCCEED_VALUE) {
|
|
|
+ for (CommonOrder item : res.getOrderList()) {
|
|
|
+ if(orderId == item.getOrderId()){
|
|
|
+ String deptCode = item.getDeptCode();
|
|
|
+ double amount = item.getAmount() / 100d;
|
|
|
+ QueryOrderDetailResponseData data = new QueryOrderDetailResponseData();
|
|
|
+ data.setOrderId(Integer.toString(orderId));
|
|
|
+ data.setOrderNo(item.getOrderNo());
|
|
|
+ data.setUserName(item.getPatientName());
|
|
|
+ data.setDoctorName(item.getDoctorName());
|
|
|
+ data.setDepName(item.getDeptName());
|
|
|
+ data.setDistrictName(item.getHospitalName());
|
|
|
+ String amountStr = String.format("%.2f", amount);
|
|
|
+ data.setAmount(amountStr);
|
|
|
+ data.setStatus(getStatus(item.getStatusName()));
|
|
|
+ data.setCreateTime(Checker.getStringValue(item.getStartTime()));
|
|
|
+ data.setEndTime(Checker.getStringValue(item.getEndTime()));
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ throw new AppMessageException("没有挂号详情");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageVO<QueryOrderListResponseData> queryOrderList(QueryOrderListRequest request) {
|
|
|
- return null;
|
|
|
+ public PageVO<QueryOrderListResponseData> queryOrderList(QueryOrderListRequest request) throws Exception {
|
|
|
+ if (request.getPageIndex() < 1) {
|
|
|
+ throw new AppMessageException("页码错误");
|
|
|
+
|
|
|
+ }
|
|
|
+ if (request.getPageSize() < 1) {
|
|
|
+ throw new AppMessageException("页大小错误");
|
|
|
+ }
|
|
|
+ List<QueryOrderListResponseData> list = new ArrayList<>();
|
|
|
+ int total = 0;
|
|
|
+ int userId = ContextHelper.getCurrentUserIdWrapped();
|
|
|
+ GetCommonOrderListRequest req = GetCommonOrderListRequest.newBuilder()
|
|
|
+ .setPageIndex(request.getPageIndex())
|
|
|
+ .setPageSize(request.getPageSize())
|
|
|
+ .setUserId(userId)
|
|
|
+ .build();
|
|
|
+ GetCommonOrderListResponse res = taiheRegisterServiceBlockingStub.getCommonOrderList(req);
|
|
|
+ if (res.getCode() == ResultCode.SUCCEED_VALUE) {
|
|
|
+ total = res.getOrderList().size();
|
|
|
+ for (CommonOrder item : res.getOrderList()) {
|
|
|
+ String deptCode = item.getDeptCode();
|
|
|
+ double amount = item.getAmount() / 100d;
|
|
|
+ QueryOrderListResponseData data = new QueryOrderListResponseData();
|
|
|
+ int orderId = Checker.getIntegerValue(item.getOrderId());
|
|
|
+ data.setOrderId(Integer.toString(orderId));
|
|
|
+ data.setOrderNo(item.getOrderNo());
|
|
|
+ data.setUserName(item.getPatientName());
|
|
|
+ data.setDoctorName(item.getDoctorName());
|
|
|
+ data.setDepName(item.getDeptName());
|
|
|
+ data.setDistrictName(item.getHospitalName());
|
|
|
+ String amountStr = String.format("%.2f", amount);
|
|
|
+ data.setAmount(amountStr);
|
|
|
+ data.setStatus(getStatus(item.getStatusName()));
|
|
|
+ data.setCreateTime(Checker.getStringValue(item.getStartTime()));
|
|
|
+ data.setEndTime(Checker.getStringValue(item.getEndTime()));
|
|
|
+ list.add(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Pagination pagination = new Pagination(request.getPageIndex(), total, total);
|
|
|
+ PageVO<QueryOrderListResponseData> resp = new PageVO<>(pagination, list);
|
|
|
+ return resp;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -801,7 +875,8 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<QueryHospitalDistrictListResponseData> queryHospitalDistrictList(QueryHospitalDistrictListRequest request) throws Exception {
|
|
|
+ public List<QueryHospitalDistrictListResponseData> queryHospitalDistrictList(QueryHospitalDistrictListRequest
|
|
|
+ request) throws Exception {
|
|
|
int hospitalId = BizUtil.getCurrentHospitalId();
|
|
|
List<Integer> hospitalIds = new ArrayList<>();
|
|
|
hospitalIds.add(hospitalId);
|
|
@@ -1013,4 +1088,21 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
|
PageVO<QueryDoctorListResponseData> res = new PageVO<>(pagination, doctorList);
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private int getStatus (String statusName) {
|
|
|
+ if ("已完成".equals(statusName)) {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ if ("待支付".equals(statusName)) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ if ("已取消".equals(statusName)) {
|
|
|
+ return 9;
|
|
|
+ }
|
|
|
+ if ("待就诊".equals(statusName)) {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
}
|