当我申请请假,有一个开始日期,结束日期,假如我的开始日期是2024-08-01结束日期是2024-08-05,提交后,那么2024-08-02-2024-08-04中间的日期也是不被允许反复提交怎么做,只有状态是退回可以重新修改,不是退回也不允许修改
你的需求是提交一张请假单后 又提交一张请假单?
--------------
可以直接拿开始日期和结束日期去数据库里面校验呗,
与数据库中数据对比校验-https://help.fanruan.com/finereport/doc-view-566.html
条件属性-控件-公式len($$$)=0||状态单元格='退回'
len(sql("数据连接名","select 姓名字段 from tablename where 姓名字段='"+$fine_username+"'" AND 状态字段<>'正常' and (('"+A2+"'<=开始日期 AND ‘"+B2+"’>=开始日期) or ('"+A2+"'>=开始日期 AND '"+A2+"'<=结束日期)),1,1))=0
忘了说:假设A2是开始日期,B2是结束日期单元格
sql:
select 请假开始时间,请假结束时间 from 表
where (请假开始时间 < 新申请请假开始时间 and 请假开始时间 < 新申请请假结束时间 )or (
请假结束时间 < 新申请请假开始时间 and 请假结束时间 < 新申请请假结束时间
)
最后根据这个sql的结果来看要不要通过(退回的得从表里删除掉或者添加过滤条件)