|
@@ -127,7 +127,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
String doctorCode = "";
|
|
String doctorCode = "";
|
|
String serviceDate = "";
|
|
String serviceDate = "";
|
|
String serviceCode = "";
|
|
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<>();
|
|
List<QueryDepOrderSourceRemainResponseData> dataList = new ArrayList<>();
|
|
if (!Checker.isNone(dataMap.get("hasSchedulingList"))) {
|
|
if (!Checker.isNone(dataMap.get("hasSchedulingList"))) {
|
|
dataList = (List<QueryDepOrderSourceRemainResponseData>) 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 doctorCode = Checker.getStringValue(request.getDoctorCode());
|
|
String serviceDate = Checker.getStringValue(request.getDate());
|
|
String serviceDate = Checker.getStringValue(request.getDate());
|
|
String serviceCode = Checker.getStringValue(request.getServiceCode());
|
|
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<>();
|
|
List<QueryDepDoctorListResponseData> dataList = new ArrayList<>();
|
|
if (!Checker.isNone(dataMap.get("groupByDoctorList"))) {
|
|
if (!Checker.isNone(dataMap.get("groupByDoctorList"))) {
|
|
dataList = (List<QueryDepDoctorListResponseData>) dataMap.get("groupByDoctorList");
|
|
dataList = (List<QueryDepDoctorListResponseData>) dataMap.get("groupByDoctorList");
|
|
@@ -157,17 +157,18 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
*
|
|
*
|
|
* @param startOffset 开始日期 offset, 值取 0 表示当天;
|
|
* @param startOffset 开始日期 offset, 值取 0 表示当天;
|
|
* @param endOffset 结束日期 offset, 值取 0 表示当天;
|
|
* @param endOffset 结束日期 offset, 值取 0 表示当天;
|
|
|
|
+ * @param serviceDate 指定时间,具体某一天:yyyy-MM-dd
|
|
* <p>
|
|
* <p>
|
|
* startOffset 和 endOffset 其中一个为负值时,表示不指定日期范围,默认按照“太和查未来 8 天,不包括当天;白云查未来 6 天,包括当天”的规则查询。
|
|
* startOffset 和 endOffset 其中一个为负值时,表示不指定日期范围,默认按照“太和查未来 8 天,不包括当天;白云查未来 6 天,包括当天”的规则查询。
|
|
* 都不为负值时,按照传入的 offset 计算开始结束日期。
|
|
* 都不为负值时,按照传入的 offset 计算开始结束日期。
|
|
*/
|
|
*/
|
|
private Map<String, Object> getScheduleListCommon(int hospitalId, String deptCode, String doctorCode,
|
|
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) {
|
|
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);
|
|
String value = jedisCommands.get(key);
|
|
if (!StringHelper.isNullOrWhiteSpace(value)) {
|
|
if (!StringHelper.isNullOrWhiteSpace(value)) {
|
|
@@ -214,6 +215,12 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
calendar.add(Calendar.DATE, endOffset);
|
|
calendar.add(Calendar.DATE, endOffset);
|
|
String endDate = DateUtil.formatDate(calendar.getTime(), "yyyy-MM-dd"); //日期
|
|
String endDate = DateUtil.formatDate(calendar.getTime(), "yyyy-MM-dd"); //日期
|
|
|
|
|
|
|
|
+ // 如果传了具体的日期,那之查这一天的
|
|
|
|
+ if (!Checker.isNone(serviceDate)){
|
|
|
|
+ startDate = serviceDate;
|
|
|
|
+ endDate = serviceDate;
|
|
|
|
+ }
|
|
|
|
+
|
|
GetScheduleListRequest getScheduleListRequest = GetScheduleListRequest.newBuilder()
|
|
GetScheduleListRequest getScheduleListRequest = GetScheduleListRequest.newBuilder()
|
|
.setDeptCode(deptCode)
|
|
.setDeptCode(deptCode)
|
|
.setDoctorCode(doctorCode)
|
|
.setDoctorCode(doctorCode)
|
|
@@ -230,6 +237,7 @@ public class IsvRegisterServiceImpl implements IsvRegisterService {
|
|
log.error("NfyyByfyRegisterController#getConvertedScheduleList(): HIS 获取排班接口出错:{}", getScheduleListResponse.getMsg());
|
|
log.error("NfyyByfyRegisterController#getConvertedScheduleList(): HIS 获取排班接口出错:{}", getScheduleListResponse.getMsg());
|
|
scheduleList = new LinkedList<>();
|
|
scheduleList = new LinkedList<>();
|
|
}
|
|
}
|
|
|
|
+
|
|
List<QueryDepDoctorListResponseData> groupByDoctorList = convertToScheduleListGroupByDoctor(scheduleList, hospitalId);
|
|
List<QueryDepDoctorListResponseData> groupByDoctorList = convertToScheduleListGroupByDoctor(scheduleList, hospitalId);
|
|
map.put("groupByDoctorList", groupByDoctorList);
|
|
map.put("groupByDoctorList", groupByDoctorList);
|
|
List<QueryDepOrderSourceRemainResponseData> hasSchedulingList = checkHasSchedulingGroupByDate(scheduleList, startOffset, endOffset);
|
|
List<QueryDepOrderSourceRemainResponseData> hasSchedulingList = checkHasSchedulingGroupByDate(scheduleList, startOffset, endOffset);
|