diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/evection/controller/EvectionController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/evection/controller/EvectionController.java index 7a0925f..a143852 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/evection/controller/EvectionController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/evection/controller/EvectionController.java @@ -13,7 +13,9 @@ import com.bonus.system.api.domain.SysUser; import com.bonus.system.dept.dao.ProDeptRoleDao; import com.bonus.system.evection.entity.EvectionBean; import com.bonus.system.evection.service.EvectionService; +import com.bonus.system.holiday.dao.HolidayDao; import com.bonus.system.holiday.dao.WorkReportDao; +import com.bonus.system.holiday.entity.HolidayBean; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -39,6 +41,9 @@ public class EvectionController extends BaseController { @Resource(name = "ProDeptRoleDao") private ProDeptRoleDao proDeptRoleDao; + @Resource(name = "HolidayDao") + private HolidayDao holidayDao; + /** * 获取出差报备列表(表格) */ @@ -108,6 +113,23 @@ public class EvectionController extends BaseController { @Log(title = "流程管理->出差报备->新增出差报备", businessType = BusinessType.INSERT) public AjaxResult add(@Validated @RequestBody EvectionBean o) { try{ + + HolidayBean bean = new HolidayBean(); + bean.setUserId(o.getUserId()); + bean.setLeaveStartDate(o.getLeaveStartDate()); + bean.setLeaveEndDate(o.getLeaveEndDate()); + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(bean); + if(list.size()>0){ + return AjaxResult.error("当前提交的出差开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(bean); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的出差结束日期与"+listEnd.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + int res = evectionService.insertEvection(o); return toAjax(res); }catch (Exception e){ @@ -128,6 +150,24 @@ public class EvectionController extends BaseController { if(result!=null){ return result; } + + HolidayBean bean = new HolidayBean(); + bean.setId(o.getId()); + bean.setUserId(o.getUserId()); + bean.setLeaveStartDate(o.getLeaveStartDate()); + bean.setLeaveEndDate(o.getLeaveEndDate()); + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(bean); + if(list.size()>0){ + return AjaxResult.error("当前提交的出差开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(bean); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的出差结束日期与"+listEnd.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + int res = evectionService.updateEvection(o); return toAjax(res); }catch (Exception e){ diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java index a723f0c..27a32f5 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/controller/HolidayController.java @@ -17,6 +17,7 @@ import com.bonus.system.dept.entity.EightRoleBean; import com.bonus.system.dept.entity.ProDeptRoleBean; import com.bonus.system.dept.entity.ProDeptRoleDo; import com.bonus.system.dept.entity.SubOrgBean; +import com.bonus.system.holiday.dao.HolidayDao; import com.bonus.system.holiday.dao.WorkReportDao; import com.bonus.system.holiday.entity.HolidayBean; import com.bonus.system.holiday.service.HolidayService; @@ -52,6 +53,9 @@ public class HolidayController extends BaseController { @Resource private SysOrgDao sysOrgDao; + @Resource(name = "HolidayDao") + private HolidayDao holidayDao; + /** * 获取假期列表(表格) */ @@ -106,6 +110,19 @@ public class HolidayController extends BaseController { @Log(title = "流程管理->假期管理->新增假期", businessType = BusinessType.INSERT) public AjaxResult add(@Validated @RequestBody HolidayBean o) { try { + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(o); + if(list.size()>0){ + return AjaxResult.error("当前提交的"+o.getLeaveType()+"开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(o); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的"+o.getLeaveType()+"结束日期与"+listEnd.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 新增 int res = holidayService.insertHoliday(o); return toAjax(res); } catch (Exception e) { @@ -137,6 +154,18 @@ public class HolidayController extends BaseController { @Log(title = "流程管理->假期管理->修改请假单", businessType = BusinessType.UPDATE) public AjaxResult edit(@Validated @RequestBody HolidayBean o) { try { + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(o); + if(list.size()>0){ + return AjaxResult.error("当前提交的"+o.getLeaveType()+"开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(o); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的"+o.getLeaveType()+"结束日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + int res = holidayService.updateHoliday(o); return toAjax(res); } catch (Exception e) { diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/dao/HolidayDao.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/dao/HolidayDao.java index f56ebc3..974a547 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/dao/HolidayDao.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/holiday/dao/HolidayDao.java @@ -97,4 +97,18 @@ public interface HolidayDao { * @date 2025/2/11 14:34 */ void batchCheckStatus(HolidayBean o); + + /** + * 判断是否重复开始 + * @param o + * @return + */ + List judgeRepeatStrat(HolidayBean o); + + /** + * 判断是否重复结束 + * @param o + * @return + */ + List judgeRepeatEnd(HolidayBean o); } diff --git a/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/controller/LeaveReportingController.java b/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/controller/LeaveReportingController.java index a0b6454..95dbf9e 100644 --- a/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/controller/LeaveReportingController.java +++ b/bonus-modules/bonus-system/src/main/java/com/bonus/system/leaveReporting/controller/LeaveReportingController.java @@ -11,6 +11,7 @@ import com.bonus.system.api.domain.MapVo; import com.bonus.system.api.domain.SysRole; import com.bonus.system.api.domain.SysUser; import com.bonus.system.dept.dao.ProDeptRoleDao; +import com.bonus.system.holiday.dao.HolidayDao; import com.bonus.system.holiday.dao.WorkReportDao; import com.bonus.system.holiday.entity.HolidayBean; import com.bonus.system.leaveReporting.entity.LeaveReportingBean; @@ -40,6 +41,9 @@ public class LeaveReportingController extends BaseController { @Resource(name = "ProDeptRoleDao") private ProDeptRoleDao proDeptRoleDao; + @Resource(name = "HolidayDao") + private HolidayDao holidayDao; + /** * 获取休假报备列表(表格) */ @@ -89,6 +93,22 @@ public class LeaveReportingController extends BaseController { @Log(title = "流程管理->休假报备->新增休假报备", businessType = BusinessType.INSERT) public AjaxResult add(@Validated @RequestBody LeaveReportingBean o) { try{ + HolidayBean bean = new HolidayBean(); + bean.setUserId(o.getUserId()); + bean.setLeaveStartDate(o.getLeaveStartDate()); + bean.setLeaveEndDate(o.getLeaveEndDate()); + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(bean); + if(list.size()>0){ + return AjaxResult.error("当前提交的休假开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(bean); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的休假结束日期与"+listEnd.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + int res = leaveReportingService.insertLeaveReporting(o); return toAjax(res); }catch (Exception e){ @@ -109,6 +129,24 @@ public class LeaveReportingController extends BaseController { if(result!=null){ return result; } + + HolidayBean bean = new HolidayBean(); + bean.setId(o.getId()); + bean.setUserId(o.getUserId()); + bean.setLeaveStartDate(o.getLeaveStartDate()); + bean.setLeaveEndDate(o.getLeaveEndDate()); + // 判断开始时间是否重复 + List list = holidayDao.judgeRepeatStrat(bean); + if(list.size()>0){ + return AjaxResult.error("当前提交的休假开始日期与"+list.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + + // 判断结束时间是否重复 + List listEnd = holidayDao.judgeRepeatEnd(bean); + if(listEnd.size()>0){ + return AjaxResult.error("当前提交的休假结束日期与"+listEnd.get(0).getType()+"存在冲突日期"+list.get(0).getLeaveStartDate()+"~"+list.get(0).getLeaveEndDate()); + } + int res = leaveReportingService.updateLeaveReporting(o); return toAjax(res); }catch (Exception e){ diff --git a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml index 3158e0a..d67da57 100644 --- a/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml +++ b/bonus-modules/bonus-system/src/main/resources/mapper/holiday/HolidayMapper.xml @@ -236,4 +236,36 @@ + + + + + + \ No newline at end of file