Pārlūkot izejas kodu

Merge branch 'master' of https://gogs.ywtinfo.com/guochengfeng/alipay-mp-service

Walker 2 gadi atpakaļ
vecāks
revīzija
74fcf830b4
18 mainītis faili ar 380 papildinājumiem un 139 dzēšanām
  1. 4 4
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/core/utils/ContextHelper.java
  2. 19 0
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/vo/MedicalCardVo.java
  3. 67 6
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/InpatientServiceImpl.java
  4. 6 2
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvMedicCardServiceImpl.java
  5. 79 77
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvRegisterServiceImpl.java
  6. 164 28
      onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvReportServiceImpl.java
  7. 19 12
      onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/InpatientController.java
  8. 8 2
      onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/PlanController.java
  9. 1 1
      onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/InpatientService.java
  10. 1 1
      onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/IsvRegisterService.java
  11. 1 1
      onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/IsvReportService.java
  12. 1 0
      onemini-hospital-sdk/src/main/java/com/ywt/request/register/QueryDepOrderSourceRemainRequest.java
  13. 1 0
      onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DailyBillDetailsResponseData.java
  14. 1 0
      onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DailyBillResponseData.java
  15. 3 0
      onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DepositTradeListResponseData.java
  16. 4 0
      onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/InpatientListResponseData.java
  17. 0 5
      onemini-hospital-sdk/src/main/java/com/ywt/response/register/QueryDepDoctorListResponseData.java
  18. 1 0
      onemini-hospital-sdk/src/main/java/com/ywt/response/report/QueryReportListResponseData.java

+ 4 - 4
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/core/utils/ContextHelper.java

@@ -11,13 +11,13 @@ public final class ContextHelper {
 
     // 提供一些包装方法,方便本地调试使用
     public static int getCurrentTerminalWrapped() {
-        return TerminalEnum.NFYYBYFY_ALIPAY_MP.getValue();
-//        return WebAppContext.current().getTerminal();
+//        return TerminalEnum.NFYYBYFY_ALIPAY_MP.getValue();
+        return WebAppContext.current().getTerminal();
     }
 
     public static int getCurrentUserIdWrapped() {
-        return 173140;
-//        return WebAppContext.current().getUserId();
+//        return 5;
+        return WebAppContext.current().getUserId();
     }
 
     public static String getAlipayUidWrapped() {

+ 19 - 0
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/models/vo/MedicalCardVo.java

@@ -2,6 +2,8 @@ package com.ywt.alipaympapi.models.vo;
 
 public class MedicalCardVo {
 
+    private int id;
+
     private String patientName;
 
     private String hisPatientId;
@@ -10,7 +12,16 @@ public class MedicalCardVo {
 
     private String cardNum;
 
+    private String age;
+
 
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
 
     public String getPatientName() {
         return patientName;
@@ -43,4 +54,12 @@ public class MedicalCardVo {
     public void setCardNum(String cardNum) {
         this.cardNum = cardNum;
     }
+
+    public String getAge() {
+        return age;
+    }
+
+    public void setAge(String age) {
+        this.age = age;
+    }
 }

+ 67 - 6
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/InpatientServiceImpl.java

@@ -98,7 +98,7 @@ public class InpatientServiceImpl implements InpatientService {
     }
 
     @Override
-    public List<InpatientListResponseData> inpatientList(InpatientListRequest request) {
+    public List<InpatientListResponseData> inpatientList(InpatientListRequest request) throws Exception {
         int userId = Checker.parseInt(request.getUserId());
         List<InpatientListResponseData> list = new ArrayList<>();
         if (userId <= 0) return list; // 这个接口进入小程序首页就会调用;如果用户没有授权,返回空数据,而不是弹出获取用户信息授权(会违反小程序审核规则);
@@ -119,7 +119,9 @@ public class InpatientServiceImpl implements InpatientService {
                 data.setInpatientName(medicalCard.getPatientName());
                 data.setSex(medicalCard.getSex() == 1 ? "男" : "女");
                 Date date = DateUtil.stringToDate(medicalCard.getBirthday(), DateUtil.DADE_FROMAT_YMD);
-                data.setInpatientAge(IdCardUtil.getCurrentAgeCommon(date));
+                data.setInpatientAge(Integer.parseInt(getAgeFromMedicalCard(medicalCard)));
+                InpatientVo vo = getInpatientVo(userId, medicalCard.getPatientId());
+                data.setAdmNo(Checker.getStringValue(vo.getAdmNo()));
                 list.add(data);
             }
             return list;
@@ -202,8 +204,8 @@ public class InpatientServiceImpl implements InpatientService {
                 .build();
         GetInPatInfoResponse resp = taiheServiceBlockingStub.getInPatInfo(req);
         if (resp.getCode() == BaseResponse.SUCCEED) {
-            String totalAmount = String.format("%.2f", resp.getTotalAmount() / 100d);
-            String depositBalance = String.format("%.2f", resp.getDepositBalance() / 100d);
+            String totalAmount = String.format("%.2f", Checker.getDoubleValue(resp.getTotalAmount() / 100d));
+            String depositBalance = String.format("%.2f",  Checker.getDoubleValue(resp.getDepositBalance() / 100d));
             vo.setAdmNo(resp.getAdmNo());
             vo.setTotalAmount(totalAmount);
             vo.setDepositBalance(depositBalance);
@@ -378,6 +380,8 @@ public class InpatientServiceImpl implements InpatientService {
                     da.setDepositBalance(depositBalance);
                     da.setStatus(Checker.getStringValue(""));
                     da.setDepositId(Checker.getStringValue(i.getReceiptNo()));
+                    da.setAdmNo(Checker.getStringValue(admNo));
+                    da.setHisPatientId(hisPatientId);
                     depositList.add(da);
                 }
                 return depositList;
@@ -467,8 +471,65 @@ public class InpatientServiceImpl implements InpatientService {
         return null;
     }
 
+    private String getAgeFromMedicalCard(MedicalCard card) {
+        int age = -1;
+        String idNo = card.getIdNo();
+        String birthday = card.getBirthday();
+        if (!StringHelper.isNullOrEmpty(idNo)) {
+            try {
+                age = IdCardUtil.getCurrentAge(idNo);
+            } catch (Exception e) {
+                log.error("IsvMedicCardServiceImpl#getAgeFromMedicalCard(idNo = {}): 无法获取年龄 {}", idNo, e.getMessage(), e);
+            }
+        } else if (!StringHelper.isNullOrEmpty(birthday)) {
+            try {
+                age = IdCardUtil.getCurrentAgeByBirthday(birthday, IdCardUtil.DATE_PATTERN2);
+            } catch (Exception e) {
+                log.error("IsvMedicCardServiceImpl#getAgeFromMedicalCard(birthday = {}): 无法获取年龄 {}", birthday, e.getMessage(), e);
+            }
+        }
+        // 不返回年龄为 "-1"
+        if (age < 0) {
+            return "";
+        }
+        return String.valueOf(age);
+    }
+
     @Override
-    public InpatientDetailsResponseData inpatientDetails(InpatientDetailsRequest request) {
-        return null;
+    public InpatientDetailsResponseData inpatientDetails(InpatientDetailsRequest request) throws Exception {
+        int userId = Checker.parseInt(request.getUserId());
+
+        if (userId <= 0) {
+            throw new AppMessageException("userId不能为空");
+        };
+        int hospId = BizUtil.getCurrentHospitalId();
+        if(Checker.isNone(request.getInpatientId())){
+            throw new AppMessageException("hisPationId不能为空");
+        }
+        String hisPationId = Checker.getStringValue(request.getInpatientId());
+        GetMedicalCardListRequest getMedicalCardListRequest = GetMedicalCardListRequest.newBuilder()
+                .setHospitalId(hospId)
+                .setUserId(userId)
+                .setFlag(0)
+                .build();
+        GetMedicalCardListResponse getMedicalCardListResponse = userServiceBlockingStub.getMedicalCardList(getMedicalCardListRequest);
+        Result result = getMedicalCardListResponse.getResult();
+        InpatientDetailsResponseData data = new InpatientDetailsResponseData();
+        if (result.getCode() == ResultCode.SUCCEED) {
+            for (MedicalCard medicalCard : getMedicalCardListResponse.getMedicalCardsList()) {
+                if(medicalCard.getPatientId().equals(hisPationId)) {
+                    data.setPatientId(hisPationId);
+                    data.setInpatientId(hisPationId);
+                    data.setInpatientName(medicalCard.getPatientName());
+                    data.setSex(medicalCard.getSex() == 1 ? "男" : "女");
+                    Date date = DateUtil.stringToDate(medicalCard.getBirthday(), DateUtil.DADE_FROMAT_YMD);
+                    data.setInpatientAge(Integer.parseInt(getAgeFromMedicalCard(medicalCard)));
+                    InpatientVo vo = getInpatientVo(userId, medicalCard.getPatientId());
+                    return data;
+                }
+            }
+            return data;
+        }
+        return data;
     }
 }

+ 6 - 2
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvMedicCardServiceImpl.java

@@ -461,12 +461,16 @@ public class IsvMedicCardServiceImpl implements IsvMedicCardService {
         int cardId = Checker.parseInt(request.getId()); // 支付宝就诊人 id 对应系统的诊疗卡 id
         CheckUtil.ensureLargerThanZero(cardId, "就诊人 id 有误: " + request.getId());
         String mobile = Checker.getStringValue(request.getPhoneNumber());
-        String relationship = request.getRelationShip();
+        String relationship = Checker.getStringValue(request.getRelationShip());
+        int relInt = 1;
+        if (Checker.isNone(request.getRelationShip())){
+            relInt = 0;
+        }
         Result result = userServiceBlockingStub.updateMedicalCardRequest(UpdateMedicalCardRequest.newBuilder()
                 .setCardId(cardId)
                 .setUserId(ContextHelper.getCurrentUserIdWrapped())
                 .setMobile(mobile)
-                .setRelationship(RelationshipEnum.getByName(relationship).getValue())
+                .setRelationship(relInt == 0 ? 0:RelationshipEnum.getByName(relationship).getValue())
                 .build());
         if (result.getCode() != ResultCode.SUCCEED) throw new AppMessageException(result.getInfo());
         UpdatePatientResponse response = new UpdatePatientResponse();

+ 79 - 77
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvRegisterServiceImpl.java

@@ -38,6 +38,7 @@ import redis.clients.jedis.JedisCommands;
 import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.IntStream;
 
 @Service
 @Slf4j
@@ -120,18 +121,32 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
     }
 
     @Override
-    public List<QueryDepOrderSourceRemainResponseData> queryDepOrderSourceRemain(QueryDepOrderSourceRemainRequest request) {
-        return null;
+    public List<QueryDepOrderSourceRemainResponseData> queryDepOrderSourceRemain(QueryDepOrderSourceRemainRequest request) throws Exception {
+        int hospitalId = BizUtil.getCurrentHospitalId();
+        String deptCode = Checker.getStringValue(request.getDepCode());
+        String doctorCode = "";
+        String serviceDate = "";
+        String serviceCode = "";
+        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");
+        }
+        return dataList;
     }
 
     @Override
     public PageVO<QueryDepDoctorListResponseData> queryDepDoctorList(QueryDepDoctorListRequest request) throws Exception {
         int hospitalId = BizUtil.getCurrentHospitalId();
-        String deptCode = request.getDepCode();
-        String doctorCode = request.getDoctorCode();
-        String serviceDate = request.getDate();
-        String serviceCode = request.getServiceCode();
-        List<QueryDepDoctorListResponseData> dataList = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, -1, -1);
+        String deptCode = Checker.getStringValue(request.getDepCode());
+        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);
+        List<QueryDepDoctorListResponseData> dataList = new ArrayList<>();
+        if (!Checker.isNone(dataMap.get("groupByDoctorList"))) {
+            dataList = (List<QueryDepDoctorListResponseData>) dataMap.get("groupByDoctorList");
+        }
         Pagination pagination = new Pagination(1, dataList.size(), dataList.size());
         PageVO<QueryDepDoctorListResponseData> res = new PageVO<>(pagination, dataList);
         return res;
@@ -142,23 +157,24 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
      *
      * @param startOffset 开始日期 offset, 值取 0 表示当天;
      * @param endOffset   结束日期 offset, 值取 0 表示当天;
+     * @param serviceDate 指定时间,具体某一天:yyyy-MM-dd
      *                    <p>
      *                    startOffset 和 endOffset 其中一个为负值时,表示不指定日期范围,默认按照“太和查未来 8 天,不包括当天;白云查未来 6 天,包括当天”的规则查询。
      *                    都不为负值时,按照传入的 offset 计算开始结束日期。
      */
-    private List<QueryDepDoctorListResponseData> getScheduleListCommon(int hospitalId, String deptCode, String doctorCode,
-                                                                       String serviceCode, int startOffset, int endOffset) throws AppMessageException {
-        String redisKeyPattern = "ALI_SCHEDULE_LIST_%s_%s_%d_%s";
-        String key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode);
+    private Map<String, Object> getScheduleListCommon(int hospitalId, String deptCode, String doctorCode,
+                                                      String serviceCode, String serviceDate, int startOffset, int endOffset) throws AppMessageException {
+        String redisKeyPattern = "ALI_SCHEDULE_LIST_%s_%s_%d_%s_%s";
+        String key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode, serviceDate);
         if (startOffset >= 0 && endOffset >= 0) {
-            redisKeyPattern = "ALI_SCHEDULE_LIST_%s_%s_%d_%s_%d_%d";
-            key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode, startOffset, endOffset);
+            redisKeyPattern = "ALI_SCHEDULE_LIST_%s_%s_%d_%s_%s_%d_%d";
+            key = String.format(redisKeyPattern, deptCode, doctorCode, hospitalId, serviceCode, serviceDate, startOffset, endOffset);
         }
         String value = jedisCommands.get(key);
         if (!StringHelper.isNullOrWhiteSpace(value)) {
             Map<String, Object> cacheMap = JsonSerializer.from(value, Map.class);
-            if (cacheMap != null && !Checker.isNone(cacheMap.get("list"))) {
-                return (List<QueryDepDoctorListResponseData>) cacheMap.get("list");
+            if (cacheMap != null) {
+                return cacheMap;
             }
         }
 
@@ -184,25 +200,12 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
         map.put("deptCode", deptCode);
         map.put("deptName", secDept.getDeptName());
 
-//        List<DeptScheduleDoctor> doctorList = doctorSrv.getDeptScheduleDoctorListFromCache();
-//        doctorList = doctorList.stream().filter(p -> p.getDeptCode().equals(deptCode)).collect(Collectors.toList());
-
         // 批量日期查询 HIS 接口
         boolean isTaihe = hospitalId == ConstantDef.TAIHE_HOSPITAL_ID;
         if (startOffset < 0 || endOffset < 0) {
             startOffset = isTaihe ? 1 : 0;
             endOffset = isTaihe ? 9 : 7;
         }
-        List<QueryDepDoctorListResponseData> lst = getConvertedScheduleList(hospitalId, startOffset, endOffset, deptCode,
-                doctorCode, serviceCode);
-        map.put("list", lst);
-        jedisCommands.set(key, JsonSerializer.toJson(map));
-        jedisCommands.expire(key, 3 * 60);
-        return lst;
-    }
-
-    private List<QueryDepDoctorListResponseData> getConvertedScheduleList(int hospitalId, int startOffset, int endOffset, String deptCode,
-                                                                          String doctorCode, String serviceCode) {
         Calendar calendar = Calendar.getInstance();
         if (startOffset > 0) {
             calendar.add(Calendar.DATE, startOffset);
@@ -212,6 +215,12 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
         calendar.add(Calendar.DATE, endOffset);
         String endDate = DateUtil.formatDate(calendar.getTime(), "yyyy-MM-dd"); //日期
 
+        // 如果传了具体的日期,那之查这一天的
+        if (!Checker.isNone(serviceDate)){
+            startDate = serviceDate;
+            endDate = serviceDate;
+        }
+
         GetScheduleListRequest getScheduleListRequest = GetScheduleListRequest.newBuilder()
                 .setDeptCode(deptCode)
                 .setDoctorCode(doctorCode)
@@ -228,43 +237,26 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
             log.error("NfyyByfyRegisterController#getConvertedScheduleList(): HIS 获取排班接口出错:{}", getScheduleListResponse.getMsg());
             scheduleList = new LinkedList<>();
         }
-        List<QueryDepDoctorListResponseData> all = new ArrayList<>();
-        for (int i = startOffset; i < endOffset; i++) {
-            Calendar c = Calendar.getInstance();
-            int offset = i;
-            if (offset > 0) {
-                c.add(Calendar.DATE, offset);
-            }
-            String strDate = DateUtil.formatDate(c.getTime(), "yyyy-MM-dd"); //日期
-            List<QueryDepDoctorListResponseData> data = convertToScheduleMap(scheduleList.stream().filter(s -> strDate.equals(s.getServiceDate())).collect(Collectors.toList()),
-                    c, strDate, offset, hospitalId);
-            all.addAll(data);
-        }
-        return all;
-    }
 
+        List<QueryDepDoctorListResponseData> groupByDoctorList = convertToScheduleListGroupByDoctor(scheduleList, hospitalId);
+        map.put("groupByDoctorList", groupByDoctorList);
+        List<QueryDepOrderSourceRemainResponseData> hasSchedulingList = checkHasSchedulingGroupByDate(scheduleList, startOffset, endOffset);
+        map.put("hasSchedulingList", hasSchedulingList);
+        jedisCommands.set(key, JsonSerializer.toJson(map));
+        jedisCommands.expire(key, 3 * 60);
+        return map;
+    }
 
     /**
-     * 排班记录转为Map
+     * 排班记录转为List(按医生分组)
      */
-    private List<QueryDepDoctorListResponseData> convertToScheduleMap(List<Schedule> scheduleList, Calendar calendar, String strDate,
-                                                                      int offset, int hospitalId) {
+    private List<QueryDepDoctorListResponseData> convertToScheduleListGroupByDoctor(List<Schedule> scheduleList, int hospitalId) {
         Map<Integer, QueryDepDoctorListResponseData> doctorSet = new HashMap<>();
 
         GetDoctorByHisCodeResponse getDoctorByHisCodeResponse;
         String avatar;
 
         int doctorId;
-        boolean hasScheduling = scheduleList.size() > 0;    //当期日期是否有排班
-
-        QueryDepDoctorListResponseData first = new QueryDepDoctorListResponseData();
-        first.setServiceDate(strDate);
-        first.setOffset(offset);
-        first.setWeek(DateUtil.getDayOfWeekShort(calendar));
-        first.setDoctorId("0");
-        first.setRemain(0);
-        doctorSet.put(0, first);
-
         for (Schedule s : scheduleList) {
             doctorId = 0;
             avatar = ConstantDef.DOCTOR_AVATAR_URL;
@@ -281,22 +273,6 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
                 continue;
             }
 
-            // 需求改动:
-            // v3.3.8 名医关闭咨询,也可以继续挂号和创建线下就诊订单
-//            if (systemSrv.checkIsNetDept(s.getDeptCode())) {
-//                //南方医院太和分院(互联网医院名医诊区)
-//                GetConsultSettingsRequest getConsultSettingsReq = GetConsultSettingsRequest.newBuilder()
-//                        .setUserId(doctorId)
-//                        .build();
-//                GetConsultSettingsResponse getConsultSettingsRes = doctorServiceBlockingStub.getConsultSettings(getConsultSettingsReq);
-//                if (getConsultSettingsRes.getResult().getCode() != ResultCode.SUCCEED) {
-//                    continue;
-//                }
-//                if (getConsultSettingsRes.getStatus() != 1) {
-//                    //医生需要开启咨询功能
-//                    continue;
-//                }
-//            }
             if (s.getScheduleStatus() != 1) {
                 continue;
             }
@@ -309,12 +285,9 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
                 item.setPicUrl(avatar);
                 // 这个数后面再统计
                 item.setRemain(0);
-                // 目前系统里面并没有专家号和普通号的区分
-                item.setType("");
+                // 目前系统里面并没有专家号和普通号的区分,目前统一用普通号
+                item.setType("normal");
                 item.setLevel(s.getDoctorTitle());
-                item.setServiceDate(strDate);
-                item.setOffset(offset);
-                item.setWeek(DateUtil.getDayOfWeekShort(calendar));
                 item.setDoctorCode(s.getDoctorCode());
                 item.setDeptCode(s.getDeptCode());
             }
@@ -330,7 +303,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
             //号源截止时间段
             os.setEndTime(s.getDatePeriodName());
             //挂号费用
-            os.setCost(s.getFee() + "");
+            os.setCost(BizUtil.cent2Yuan(s.getFee())+"");
             //剩余数量
             os.setRemain(Checker.getIntegerValue(s.getAvailableLeftNum()));
             //true:确认挂号时支付,false:就诊时支付
@@ -338,6 +311,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
             os.setDatePeriodName(s.getDatePeriodName());
             os.setServiceDate(s.getServiceDate());
             orderSourceList.add(os);
+            item.setOrderSources(orderSourceList);
 
             doctorSet.put(doctorId, item);
         }
@@ -352,9 +326,37 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
             }
             dataList.add(data);
         }
+        // 过滤掉没有号的医生数据
+        dataList = dataList.stream().filter(p -> p.getRemain() > 0).collect(Collectors.toList());
         return dataList;
     }
 
+    /**
+     * 排班记录转为List(按日期判断是否有医生排班)
+     */
+    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++ ){
+                Calendar c = Calendar.getInstance();
+                if (offset > 0) {
+                    c.add(Calendar.DATE, offset);
+                }
+                String strDate = DateUtil.formatDate(c.getTime(), "yyyy-MM-dd"); //日期
+                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)){
+                    remain = itemScheduleList.stream().mapToInt(Schedule::getAvailableLeftNum).sum();
+                }
+                data.setDate(strDate);
+                data.setRemain(remain);
+                remainResponseList.add(data);
+            }
+        }
+        return remainResponseList;
+    }
+
     private GetDoctorByHisCodeResponse getDoctorByHisCode(String doctorCode, int hospitalId) {
         GetDoctorByHisCodeRequest getDoctorByHisCodeRequest = GetDoctorByHisCodeRequest.newBuilder()
                 .setHospitalId(hospitalId)

+ 164 - 28
onemini-hospital-empty/src/main/java/com/ywt/alipaympapi/service/impl/IsvReportServiceImpl.java

@@ -1,9 +1,6 @@
 package com.ywt.alipaympapi.service.impl;
 
-import com.ywt.alipaympapi.core.utils.BizUtil;
-import com.ywt.alipaympapi.core.utils.Checker;
-import com.ywt.alipaympapi.core.utils.ContextHelper;
-import com.ywt.alipaympapi.core.utils.StringHelper;
+import com.ywt.alipaympapi.core.utils.*;
 import com.ywt.alipaympapi.models.vo.MedicalCardVo;
 import com.ywt.core.exception.AppMessageException;
 import com.ywt.gapi.Result;
@@ -22,12 +19,14 @@ import com.ywt.response.report.QueryReportDetailResponseData;
 import com.ywt.response.report.QueryReportListResponseData;
 import com.ywt.alipaympapi.service.IsvReportService;
 import com.ywt.response.report.ReportItem;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
 
+@Slf4j
 @Service
 public class IsvReportServiceImpl implements IsvReportService {
 
@@ -38,19 +37,19 @@ public class IsvReportServiceImpl implements IsvReportService {
     private TaiheServiceGrpc.TaiheServiceBlockingStub taiheServiceBlockingStub;
 
     @Override
-    public QueryReportDetailResponseData queryReportDetail(QueryReportDetailRequest request) throws AppMessageException {
+    public QueryReportDetailResponseData queryReportDetail(QueryReportDetailRequest request) throws Exception{
         QueryReportDetailResponseData data = new QueryReportDetailResponseData();
         if (StringHelper.isNullOrWhiteSpace(request.getRecordId())) {
             throw new AppMessageException("没有检验检查报告Id");
         }
 
-        if (StringHelper.isNullOrWhiteSpace(request.getRecordId())) {
-            throw new AppMessageException("没有报告类型");
-        }
-        try {
-            int userId = ContextHelper.getCurrentUserIdWrapped();
+            String userIdStr = request.getUserId();
+            int userId = Integer.parseInt(userIdStr);
             int hospitalId = BizUtil.getCurrentHospitalId();
-            String hisPatientId = request.getHisPatientId();
+            if(Checker.isNone(request.getHisPatientId())){
+                throw new AppMessageException("hisPatientId不能为空");
+            }
+            String hisPatientId = Checker.getStringValue(request.getHisPatientId());
             MedicalCardVo card = getCard(userId, hospitalId, hisPatientId);
             String type = request.getType();
             if ("检查报告".equals(type)) {
@@ -64,8 +63,9 @@ public class IsvReportServiceImpl implements IsvReportService {
                     List<String> reportItem = new ArrayList<>();
                     InspectionDetail detail = res.getDetail();
                     data.setRecordId(request.getRecordId());
-                    data.setUserName(card.getPatientName());
-                    data.setUserSex(card.getSex() == 1 ? "男" : "女");
+                    data.setUserName(Checker.getStringValue(card.getPatientName()));
+                    data.setUserSex(card.getSex() == 1 ? "男": card.getSex() ==  2 ? "女": "");
+                    data.setUserAge(Checker.getStringValue(card.getAge()));
                     data.setCardNum(Checker.getStringValue(card.getCardNum()));
                     data.setDepartmentName(detail.getDeptName());
                     data.setApplyDoctorName(detail.getDoctorName());
@@ -74,9 +74,34 @@ public class IsvReportServiceImpl implements IsvReportService {
                     data.setConfirmDoctorName(detail.getInspectionDoctor());
                     data.setReportDate(detail.getInspectionDate());
                     data.setReportImageDesc(detail.getInspectionResult());
+                    return data;
 
+                } else {
+                    com.ywt.gapi.user.GetInspectionReportDetailRequest girdReq = com.ywt.gapi.user.GetInspectionReportDetailRequest.newBuilder()
+                            .setReportId(request.getRecordId())
+                            .setHospitalId(hospitalId)
+                            .build();
+                    com.ywt.gapi.user.GetInspectionReportDetailResponse girdResp = userServiceBlockingStub.getInspectionReportDetail(girdReq);
+                    if (girdResp.getResult().getCode() == ResultCode.SUCCEED) {
+                        List<String> reportItem = new ArrayList<>();
+                        com.ywt.gapi.user.InspectionReportDetail detail = girdResp.getReport();
+                        data.setRecordId(request.getRecordId());
+                        data.setUserName(card.getPatientName());
+                        data.setUserSex(card.getSex() == 1 ? "男": card.getSex() ==  2 ? "女": "");
+                        data.setUserAge(Checker.getStringValue(card.getAge()));
+                        data.setCardNum(Checker.getStringValue(card.getCardNum()));
+                        data.setDepartmentName(detail.getDeptName());
+                        data.setApplyDoctorName(Checker.getStringValue(detail.getAppDocName()));
+                        reportItem.add(Checker.getStringValue(detail.getDiagnosis()));
+                        data.setDiagnosis(reportItem);
+                        data.setConfirmDoctorName(Checker.getStringValue(detail.getVerifyDocName()));
+                        data.setReportDate(DateUtil.convertTimestampToDateString(detail.getExaminationDate(), "yyyy年MM月dd日 HH:mm:ss"));
+                        data.setReportImageDesc(Checker.getStringValue(detail.getExamination()));
+                        return data;
+                    }
+                    throw new AppMessageException("没有此报告详情");
                 }
-                throw new AppMessageException("没有此报告");
+
             }
             if ("检验报告".equals(type)) {
                 GetLaboratoryDetailRequest req = GetLaboratoryDetailRequest.newBuilder()
@@ -87,7 +112,10 @@ public class IsvReportServiceImpl implements IsvReportService {
                 if (res.getCode() == ResultCode.SUCCEED_VALUE) {
                     List<ReportItem> reportItemList = new ArrayList<>();
                     List<String> reportItem = new ArrayList<>();
+                    data.setDiagnosis(reportItem);
                     data.setUserName(card.getPatientName());
+                    data.setUserSex(card.getSex() == 1 ? "男": card.getSex() ==  2 ? "女": "");
+                    data.setUserAge(Checker.getStringValue(card.getAge()));
                     data.setItemName(res.getTitle());
                     data.setReportDate(res.getTime());
                     data.setConfirmDoctorName(res.getDoctor());
@@ -103,28 +131,63 @@ public class IsvReportServiceImpl implements IsvReportService {
                         reportItemList.add(r);
                     }
                     data.setReportItemList(reportItemList);
-
+                    return data;
+                } else {
+                    com.ywt.gapi.user.GetLaboratoryReportDetailRequest glrdReq = com.ywt.gapi.user.GetLaboratoryReportDetailRequest.newBuilder()
+                            .setInspectionId(request.getRecordId())
+                            .setHospitalId(hospitalId)
+                            .build();
+                    com.ywt.gapi.user.GetLaboratoryReportDetailResponse glrdResp = userServiceBlockingStub.getLaboratoryReportDetail(glrdReq);
+                    if (glrdResp.getResult().getCode() == ResultCode.SUCCEED) {
+                        List<ReportItem> reportItemList = new ArrayList<>();
+                        List<String> reportItem = new ArrayList<>();
+                        data.setDiagnosis(reportItem);
+                        data.setUserName(Checker.getStringValue(card.getPatientName()));
+                        data.setUserSex(card.getSex() == 1 ? "男": card.getSex() ==  2 ? "女": "");
+                        data.setUserAge(Checker.getStringValue(card.getAge()));
+                        data.setItemName(res.getTitle());
+                        data.setReportDate(res.getTime());
+                        data.setConfirmDoctorName(res.getDoctor());
+                        data.setCardNum(Checker.getStringValue(card.getCardNum()));
+                        data.setRecordId(request.getRecordId());
+                        for (com.ywt.gapi.user.LaboratoryReportDetail detail : glrdResp.getDetailList()) {
+                            ReportItem r = new ReportItem();
+                            r.setItemName(Checker.getStringValue(detail.getItemName()));
+                            r.setPnFlag(Checker.getStringValue(detail.getResultFlag()));
+                            r.setReference(detail.getItemRef());
+                            r.setTxtVal(detail.getTestResult());
+                            r.setUnit(detail.getUnit());
+                            reportItemList.add(r);
+                        }
+                        data.setReportItemList(reportItemList);
+                        return data;
+                    }
+                    throw new AppMessageException("没有此报告");
                 }
-                throw new AppMessageException("没有此报告");
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
         return data;
     }
 
     @Override
-    public PageVO<QueryReportListResponseData> queryReportList(QueryReportListRequest request) {
+    public PageVO<QueryReportListResponseData> queryReportList(QueryReportListRequest request) throws Exception {
         List<QueryReportListResponseData> list = new ArrayList<>();
-        int userId = ContextHelper.getCurrentUserIdWrapped();
+        String userIdStr = request.getUserId();
+        int userId = Integer.parseInt(userIdStr);
         // 报告类型:分为"检查报告"、"检验报告"两种
+        if(Checker.isNone(request.getType())){
+            throw new AppMessageException("报告类型不能为空");
+        }
         String type = request.getType();
         int hospitalId = BizUtil.getCurrentHospitalId();
         int pageIndex = request.getPageIndex();
         int pageSize = request.getPageSize();
-        String hisPatientId = request.getHisPatientId();
+        if(Checker.isNone(request.getHisPatientId())){
+            throw new AppMessageException("hisPatientId不能为空");
+        }
+        String hisPatientId = Checker.getStringValue(request.getHisPatientId());
         int total = 0;
-        try {
+        int totalT = 0;
+        int totalTh = 0;
             MedicalCardVo card = getCard(userId, hospitalId, hisPatientId);
 
             if ("检查报告".equals(type)) {
@@ -141,6 +204,33 @@ public class IsvReportServiceImpl implements IsvReportService {
                         da.setRecordId(Checker.getStringValue(q.getReportId()));
                         da.setUserName(card.getPatientName());
                         da.setCardNum(card.getCardNum());
+                        da.setStatus(Checker.getStringValue(""));
+                        da.setDiagnosis(Checker.getStringValue(""));
+                        da.setType(Checker.getStringValue(request.getType()));
+                        da.setApplyDate(Checker.getStringValue(""));
+                        da.setHisPatientId(hisPatientId);
+                        list.add(da);
+                    }
+                }
+                com.ywt.gapi.user.GetInspectionReportListRequest girlReq = com.ywt.gapi.user.GetInspectionReportListRequest.newBuilder()
+                        .setMedicalCardId(card.getId())
+                        .setUserId(userId)
+                        .setHospitalId(hospitalId)
+                        .build();
+                com.ywt.gapi.user.GetInspectionReportListResponse girlResp = userServiceBlockingStub.getInspectionReportList(girlReq);
+                if (girlResp.getResult().getCode() == ResultCode.SUCCEED) {
+                    totalT = girlResp.getReportList().size();
+                    for (com.ywt.gapi.user.InspectionReport report : girlResp.getReportList()) {
+                        QueryReportListResponseData da = new QueryReportListResponseData();
+                        da.setItemName(Checker.getStringValue(report.getReportTitle()));
+                        da.setRecordId(Checker.getStringValue(report.getReportId()));
+                        da.setUserName(card.getPatientName());
+                        da.setCardNum(card.getCardNum());
+                        da.setStatus(Checker.getStringValue(""));
+                        da.setDiagnosis(Checker.getStringValue(""));
+                        da.setType(Checker.getStringValue(request.getType()));
+                        da.setApplyDate(Checker.getStringValue(""));
+                        da.setHisPatientId(hisPatientId);
                         list.add(da);
                     }
                 }
@@ -161,14 +251,35 @@ public class IsvReportServiceImpl implements IsvReportService {
                         da.setRecordId(Checker.getStringValue(q.getReportId()));
                         da.setUserName(card.getPatientName());
                         da.setCardNum(card.getCardNum());
+                        da.setType(Checker.getStringValue(request.getType()));
+                        da.setHisPatientId(hisPatientId);
+                        list.add(da);
+                    }
+                }
+                com.ywt.gapi.user.GetLaboratoryReportListRequest glrlReq = com.ywt.gapi.user.GetLaboratoryReportListRequest.newBuilder()
+                        .setMedicalCardId(card.getId())
+                        .setUserId(userId)
+                        .setHospitalId(hospitalId)
+                        .build();
+                com.ywt.gapi.user.GetLaboratoryReportListResponse glrlResp = userServiceBlockingStub.getLaboratoryReportList(glrlReq);
+                if (glrlResp.getResult().getCode() == ResultCode.SUCCEED) {
+                    totalT = glrlResp.getReportList().size();
+                    for (com.ywt.gapi.user.LaboratoryReport report : glrlResp.getReportList()) {
+                        QueryReportListResponseData da = new QueryReportListResponseData();
+                        da.setItemName(Checker.getStringValue(report.getInspectionName()));
+                        da.setDepartmentName(Checker.getStringValue(report.getDeptName()));
+                        da.setRecordId(Checker.getStringValue(report.getInspectionId()));
+                        da.setUserName(card.getPatientName());
+                        da.setCardNum(card.getCardNum());
+                        da.setType(Checker.getStringValue(request.getType()));
+                        da.setHisPatientId(hisPatientId);
                         list.add(da);
                     }
                 }
+
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        Pagination pagination = new Pagination(pageIndex, pageSize, total);
+        totalTh = total + totalT;
+        Pagination pagination = new Pagination(pageIndex, totalTh, totalTh);
         PageVO<QueryReportListResponseData> res = new PageVO<>(pagination, list);
         return res;
     }
@@ -194,14 +305,39 @@ public class IsvReportServiceImpl implements IsvReportService {
         for (MedicalCard card : list) {
             if (hisPatientId.equals(card.getPatientId())) {
                 MedicalCardVo v = new MedicalCardVo();
+                v.setId(card.getCardId());
                 v.setSex(card.getSex());
                 v.setHisPatientId(card.getPatientId());
                 v.setPatientName(card.getPatientName());
                 v.setCardNum(card.getCardNo());
+                v.setAge(getAgeFromMedicalCard(card));
                 return v;
             }
         }
-
         throw new AppMessageException("没有此报告");
     }
+
+    private String getAgeFromMedicalCard(MedicalCard card) {
+        int age = -1;
+        String idNo = card.getIdNo();
+        String birthday = card.getBirthday();
+        if (!StringHelper.isNullOrEmpty(idNo)) {
+            try {
+                age = IdCardUtil.getCurrentAge(idNo);
+            } catch (Exception e) {
+                log.error("IsvMedicCardServiceImpl#getAgeFromMedicalCard(idNo = {}): 无法获取年龄 {}", idNo, e.getMessage(), e);
+            }
+        } else if (!StringHelper.isNullOrEmpty(birthday)) {
+            try {
+                age = IdCardUtil.getCurrentAgeByBirthday(birthday, IdCardUtil.DATE_PATTERN2);
+            } catch (Exception e) {
+                log.error("IsvMedicCardServiceImpl#getAgeFromMedicalCard(birthday = {}): 无法获取年龄 {}", birthday, e.getMessage(), e);
+            }
+        }
+        // 不返回年龄为 "-1"
+        if (age < 0) {
+            return "";
+        }
+        return String.valueOf(age);
+    }
 }

+ 19 - 12
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/InpatientController.java

@@ -95,10 +95,10 @@ public class InpatientController {
         try {
             return ResponseVO.success(inpatientService.inpatientList(request));
         } catch (AppMessageException e) {
-            return ResponseVO.fail(BaseResponse.APP_ERROR, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
         } catch (Exception e) {
             log.error("InpatientController#inpatient.list(request = {}):\n {}", request, e.getMessage(), e);
-            return ResponseVO.fail(BaseResponse.APP_EXCEPTION, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
         }
     }
 
@@ -110,8 +110,15 @@ public class InpatientController {
      */
     @PostMapping("isvRequest.inpatient.details")
     public ResponseVO<InpatientDetailsResponseData> inpatientDetails(InpatientDetailsRequest request) {
-        log.info("request:{}", JSON.toJSONString(request));
-        return ResponseVO.success(inpatientService.inpatientDetails(request));
+       try{
+           return ResponseVO.success(inpatientService.inpatientDetails(request));
+       }catch (AppMessageException e) {
+           return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
+       } catch (Exception e) {
+           log.error("InpatientController#inpatient.details(request = {}):\n {}", request, e.getMessage(), e);
+           return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
+       }
+
     }
 
     /**
@@ -138,11 +145,11 @@ public class InpatientController {
             List<DailyBillResponseData> list = inpatientService.dailyBillList(request);
             return ResponseVO.success(list);
         } catch (AppMessageException e) {
-            return ResponseVO.fail(BaseResponse.APP_ERROR, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
 
         } catch (Exception e) {
             log.error("InpatientController#list(request = {}):\n {}", request, e.getMessage(), e);
-            return ResponseVO.fail(BaseResponse.APP_EXCEPTION, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
 
         }
     }
@@ -158,11 +165,11 @@ public class InpatientController {
         try {
             return ResponseVO.success(inpatientService.dailyBillDetail(request));
         } catch (AppMessageException e) {
-            return ResponseVO.fail(BaseResponse.APP_ERROR, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
 
         } catch (Exception e) {
             log.error("InpatientController#dailyBill.details(request = {}):\n {}", request, e.getMessage(), e);
-            return ResponseVO.fail(BaseResponse.APP_EXCEPTION, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
 
         }
 
@@ -210,10 +217,10 @@ public class InpatientController {
         try {
             return ResponseVO.success(inpatientService.queryTradeList(request));
         } catch (AppMessageException e) {
-            return ResponseVO.fail(BaseResponse.APP_ERROR, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
         } catch (Exception e) {
             log.error("InpatientController#deposit.list(request = {}):\n {}", request, e.getMessage(), e);
-            return ResponseVO.fail(BaseResponse.APP_EXCEPTION, e.getMessage());
+            return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
         }
     }
 
@@ -229,10 +236,10 @@ public class InpatientController {
 
            return ResponseVO.success(inpatientService.queryTradeDetails(request));
        }catch (AppMessageException e) {
-           return ResponseVO.fail(BaseResponse.APP_ERROR, e.getMessage());
+           return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
        } catch (Exception e) {
            log.error("InpatientController#deposit.details\"(request = {}):\n {}", request, e.getMessage(), e);
-           return ResponseVO.fail(BaseResponse.APP_EXCEPTION, e.getMessage());
+           return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
        }
 
     }

+ 8 - 2
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/controller/PlanController.java

@@ -52,8 +52,14 @@ public class PlanController {
      */
     @PostMapping("isvRequest.order.depOrderSourceRemain")
     public ResponseVO<List<QueryDepOrderSourceRemainResponseData>> queryDepOrderSourceRemain(QueryDepOrderSourceRemainRequest request) {
-
-        return ResponseVO.success(isvRegisterService.queryDepOrderSourceRemain(request));
+        try {
+            return ResponseVO.success(isvRegisterService.queryDepOrderSourceRemain(request));
+        } catch (AppMessageException e) {
+            return ResponseVO.fail(Code.RESP_CODE_PARAM_ERROR, e.getMessage());
+        } catch (Exception e) {
+            log.error("PlanController#queryDepOrderSourceRemain(request = {}):\n {}", request, e.getMessage(), e);
+            return ResponseVO.fail(Code.RESP_CODE_APP_EXCEPTION, e.getMessage());
+        }
     }
 
     /**

+ 1 - 1
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/InpatientService.java

@@ -188,5 +188,5 @@ public interface InpatientService {
      * @param request
      * @return
      */
-    InpatientDetailsResponseData inpatientDetails(InpatientDetailsRequest request);
+    InpatientDetailsResponseData inpatientDetails(InpatientDetailsRequest request) throws AppMessageException, Exception;
 }

+ 1 - 1
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/IsvRegisterService.java

@@ -27,7 +27,7 @@ public interface IsvRegisterService {
      * @param request
      * @return 查询结果
      **/
-    List<QueryDepOrderSourceRemainResponseData> queryDepOrderSourceRemain(QueryDepOrderSourceRemainRequest request);
+    List<QueryDepOrderSourceRemainResponseData> queryDepOrderSourceRemain(QueryDepOrderSourceRemainRequest request) throws Exception;
 
     /**
      * 科室医生查询

+ 1 - 1
onemini-hospital-sdk/src/main/java/com/ywt/alipaympapi/service/IsvReportService.java

@@ -19,7 +19,7 @@ public interface IsvReportService {
      * @param request
      * @return 查询结果
      **/
-    QueryReportDetailResponseData queryReportDetail(QueryReportDetailRequest request) throws AppMessageException;
+    QueryReportDetailResponseData queryReportDetail(QueryReportDetailRequest request) throws AppMessageException, Exception;
 
     /**
      * 就诊卡列表查询

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/request/register/QueryDepOrderSourceRemainRequest.java

@@ -17,6 +17,7 @@ public class QueryDepOrderSourceRemainRequest implements IsvListRequest<QueryDep
 
     private String appId;//医院小程序的AppId
     private String depId;//科室id
+    private String depCode;//科室id
     private String startDate;//查询起始日期
     private String endDate;//查询截止日期
 

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DailyBillDetailsResponseData.java

@@ -34,4 +34,5 @@ public class DailyBillDetailsResponseData implements IsvResponseData {
 
     private List<Item> payItemList;
 
+
 }

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DailyBillResponseData.java

@@ -27,4 +27,5 @@ public class DailyBillResponseData implements IsvResponseData {
 
     private String depositBalance; //押金余额
 
+
 }

+ 3 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/DepositTradeListResponseData.java

@@ -25,4 +25,7 @@ public class DepositTradeListResponseData implements IsvResponseData {
 
     private String status;//订单状态,WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款
 
+    private String admNo;
+
+    private String hisPatientId;
 }

+ 4 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/inpatient/InpatientListResponseData.java

@@ -37,4 +37,8 @@ public class InpatientListResponseData implements IsvResponseData {
 
     private String inpatientNo; //住院号
 
+    private String admNo;
+
+
+
 }

+ 0 - 5
onemini-hospital-sdk/src/main/java/com/ywt/response/register/QueryDepDoctorListResponseData.java

@@ -22,11 +22,6 @@ public class QueryDepDoctorListResponseData implements IsvResponseData {
     private String type;//类型,expert:专家号,normal:普通号
     private String level;//职级,医生职级
     private List<OrderSource> orderSources;//医生号源列表,存在查询日期参数,才可能返回,非必传
-    private String serviceDate;
-    private int offset;
-    private String week;
     private String doctorCode;//医生code
     private String deptCode;//科室code
-    private String serviceName;//亚专科名称
-    private String serviceCode;//亚专科代码
 }

+ 1 - 0
onemini-hospital-sdk/src/main/java/com/ywt/response/report/QueryReportListResponseData.java

@@ -21,4 +21,5 @@ public class QueryReportListResponseData implements IsvResponseData {
     private String status;//状态
     private String diagnosis;//诊断
     private String type;//报告类型
+    private String hisPatientId; //hisPatientId;
 }