Forráskód Böngészése

fix 调试剩余挂号量接口

DYH2020 2 éve
szülő
commit
a44f7636a2

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

@@ -127,7 +127,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
         String doctorCode = "";
         String serviceDate = "";
         String serviceCode = "";
-        Map<String, Object> dataMap = getScheduleListCommon(hospitalId, deptCode, doctorCode, serviceCode, -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");
@@ -142,7 +142,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, -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");
@@ -157,17 +157,18 @@ 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 Map<String, Object> 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);
+                                                      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)) {
@@ -214,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)
@@ -230,6 +237,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
             log.error("NfyyByfyRegisterController#getConvertedScheduleList(): HIS 获取排班接口出错:{}", getScheduleListResponse.getMsg());
             scheduleList = new LinkedList<>();
         }
+
         List<QueryDepDoctorListResponseData> groupByDoctorList = convertToScheduleListGroupByDoctor(scheduleList, hospitalId);
         map.put("groupByDoctorList", groupByDoctorList);
         List<QueryDepOrderSourceRemainResponseData> hasSchedulingList = checkHasSchedulingGroupByDate(scheduleList, startOffset, endOffset);