From a49a8d87f994ceb57291ac2d656c828456ec5ec1 Mon Sep 17 00:00:00 2001
From: shicf <shi_chongfu@163.com>
Date: 星期四, 17 十月 2024 16:30:16 +0800
Subject: [PATCH] 预警消息推送,通用方法
---
src/main/java/com/product/administration/service/LeaveRequestService.java | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 45 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/product/administration/service/LeaveRequestService.java b/src/main/java/com/product/administration/service/LeaveRequestService.java
index 7dab13b..6e5a63e 100644
--- a/src/main/java/com/product/administration/service/LeaveRequestService.java
+++ b/src/main/java/com/product/administration/service/LeaveRequestService.java
@@ -9,6 +9,9 @@
import com.product.core.service.support.AbstractBaseService;
import com.product.core.service.support.QueryFilterService;
import com.product.core.spring.context.SpringMVCContextHolder;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -43,7 +46,7 @@
if(!StringUtils.isEmpty(dataFilter)){
filter += " and "+dataFilter;
}
- DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE,filter,null,null,"created_utc_datetime desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE),false);
+ DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE,filter,null,null,"id desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE),false);
baseDao.loadPromptData(dt);
return dt;
}
@@ -61,18 +64,50 @@
* 璇峰亣鐢宠淇濆瓨
*/
public String saveLeaveRequest(FieldSetEntity fs) throws BaseException {
-// fs.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());//鍏徃
-// fs.setValue("fill_in_time", new Date());//濉崟鏃堕棿
-// fs.setValue("department_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());//閮ㄩ棬
- fs.setValue("created_by", SpringMVCContextHolder.getCurrentUser().getUser_id());//濮撳悕
- fs.setValue("flow_flag", 0);
- if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){
- return baseDao.add(fs);
+ DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE, " uuid not in (?) and user_id=? and ((start_time<=? and end_time>=?) or(start_time<=? and end_time>=?))"
+ , new String[]{StringUtils.isEmpty(fs.getUUID())?"":fs.getUUID(), fs.getString("user_id"), fs.getString("start_time"), fs.getString("start_time"), fs.getString("end_time"), fs.getString("end_time")});
+ if (dataTableEntity.getRows()>0){
+ return "1";
}else {
- baseDao.update(fs);
- return fs.getString(CmnConst.UUID);
+ if (StringUtils.isEmpty(fs.getString(CmnConst.UUID))) {
+ fs.setValue("created_by", SpringMVCContextHolder.getCurrentUser().getUser_id());
+ fs.setValue("created_utc_datetime", new Date());
+ fs.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
+ return baseDao.add(fs);
+ } else {
+ fs.setValue("updated_by", SpringMVCContextHolder.getCurrentUser().getUser_id());
+ fs.setValue("updated_utc_datetime", new Date());
+ baseDao.update(fs);
+ return fs.getString(CmnConst.UUID);
+ }
+
}
}
+
+ /**
+ * 璁$畻璇峰亣澶╂暟
+ * @param fs
+ * @return
+ * @throws BaseException
+ */
+ public FieldSetEntity getDay(FieldSetEntity fs) throws BaseException {
+ DataTableEntity dt = baseDao.listTable(com.product.org.admin.config.CmnConst.PRODUCT_SYS_COMPANY_HOLIDAY, "date_holiday >=? and date_holiday<=?", new String[]{fs.getString("start_time"), fs.getString("end_time")});
+ String dateStr1 = fs.getString("start_time");
+ String dateStr2 = fs.getString("end_time");
+
+ // 浣跨敤DateTimeFormatter瑙f瀽鏃ユ湡瀛楃涓�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ // 灏嗗瓧绗︿覆瑙f瀽涓篖ocalDate瀵硅薄
+ LocalDate date1 = LocalDate.parse(dateStr1, formatter);
+ LocalDate date2 = LocalDate.parse(dateStr2, formatter);
+
+ // 璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫ぉ鏁板樊
+ long daysBetween = java.time.Duration.between(date1.atStartOfDay(), date2.atStartOfDay()).toDays()+1;
+ fs.setValue("day",daysBetween-dt.getRows());
+
+ return fs;
+ }
/**
* @Date: 2020-03-30 16:43
* @Author: ZhouJie
--
Gitblit v1.9.2