Ver código fonte

非工作时间系统自动审核“出院审核“”。

lighter 5 meses atrás
pai
commit
8fd94f5678

+ 27 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiSettleApplyService.java

@@ -24,6 +24,9 @@ import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.StringUtil;
 import thyyxxk.webserver.utils.TokenUtil;
 
+import java.time.DayOfWeek;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -96,6 +99,18 @@ public class SiSettleApplyService {
         apply.setStatus(0);
         apply.setSortNo(apply.getSortNo() + 1);
         apply.setInputStaff(TokenUtil.getInstance().getTokenUserId());
+
+        if (isRestTime()) {
+            apply.setHandleComment("非工作时间自动审核。");
+            apply.setHandleStaff("99995");
+            apply.setHandleStaffName("泰和住院系统");
+            apply.setHandleDatetime(new Date());
+            apply.setStatus(APPROVED);
+            dao.insertSettleApply(apply);
+            String msg = "自动审核已通过。";
+            return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_ALERT, msg, msg);
+        }
+
         dao.insertSettleApply(apply);
 
         JSONObject messageWrapper = new JSONObject();
@@ -112,6 +127,18 @@ public class SiSettleApplyService {
         return ResultVoUtil.success("提交成功。");
     }
 
+    private boolean isRestTime() {
+        LocalDateTime now = LocalDateTime.now();
+        DayOfWeek day = now.getDayOfWeek();
+        LocalTime time = now.toLocalTime();
+        LocalTime workdayStart = LocalTime.of(8, 0);  // 周一到周六的8:00
+        LocalTime weekdayEnd = LocalTime.of(17, 30);  // 周一到周五的17:30
+        LocalTime saturdayEnd = LocalTime.of(12, 0);  // 周六的12:00
+        return day == DayOfWeek.SUNDAY
+                || (day != DayOfWeek.SATURDAY && (time.isBefore(workdayStart) || time.isAfter(weekdayEnd)))
+                || (day == DayOfWeek.SATURDAY && (time.isBefore(workdayStart) || time.isAfter(saturdayEnd)));
+    }
+
     public ResultVo<List<SiSettleApply>> selectUnhandledApplies() {
         List<SiSettleApply> list = dao.selectUnhandledApplies();
         return ResultVoUtil.success(list);