思路逻辑:首先查当前表单'加班开始日期时间'、'加班结束日期时间'、'申请人'。然后再根据当前申请人、流程编号(is not null)、当前requestid作为条件筛选。最后对比当前时间和历史提交的流程时间,筛选是否有重复的区间,有重复的不让提交。

package com.customcode.action;import com.customcode.util.XmActionLog;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.interfaces.workflow.action.Action;
import weaver.soa.workflow.request.RequestInfo;import java.text.ParseException;
import java.text.SimpleDateFormat;/*** @author Yuyb* @version 1.0* 类说明:加班* @date 2020/6/10 17:58*/public class HR02_RedifferenTime implements Action {public String execute(RequestInfo request) {XmActionLog alog = new XmActionLog();String actionName="HR02_RedifferenTime";//日志文件夹名称alog.info(actionName,"====================================START=========================================");BaseBean baseBean = new BaseBean();RecordSet rs = new RecordSet();RecordSet rs_00 = new RecordSet();RecordSet rs_hr = new RecordSet();String requestId = request.getRequestid();  //获取请求requestIdString maintable = request.getRequestManager().getBillTableName();String wfid =request.getWorkflowid();alog.info(actionName,"wfid=="+wfid);alog.info(actionName,"requestId=="+requestId);alog.info(actionName,"maintablestar=="+maintable);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");String sql="select jbrq,jbsj,jsrq,jssj,Create_By from "+maintable+" where requestid="+requestId;rs.execute(sql);alog.info(actionName,"sql=="+sql);while(rs.next()){String jbrq=rs.getString("jbrq");String jbsj=rs.getString("jbsj");String jsrq=rs.getString("jsrq");String jssj=rs.getString("jssj");String Create_By=rs.getString("Create_By");String tjksrq = jbrq+" "+jbsj;String tjjsrq = jsrq+" "+jssj;alog.info(actionName,"tjksrq=="+tjksrq+",tjjsrq=="+tjjsrq);try {Long tjksrq_hm=sdf.parse(tjksrq).getTime();//转为毫秒Long tjjsrq_hm=sdf.parse(tjjsrq).getTime();//转为毫秒String sql_00="select jbrq,jbsj,jsrq,jssj,Create_By from "+maintable+" " +"where Create_By="+Create_By+" and Flow_No is not null and requestid <>"+requestId;rs_00.execute(sql_00);alog.info(actionName,"sql_00=="+sql_00);while(rs_00.next()){String jbrq_old=rs_00.getString("jbrq");String jbsj_old=rs_00.getString("jbsj");String jbjsrq_old=rs_00.getString("jsrq");String jssj_old=rs_00.getString("jssj");String ksrq_old=jbrq_old+" "+jbsj_old;String jsrq_old=jbjsrq_old+" "+jssj_old;Long ksrq_old_hm=sdf.parse(ksrq_old).getTime();//转为毫秒Long jsrq_old_hm=sdf.parse(jsrq_old).getTime();//转为毫秒alog.info(actionName,"ksrq_old=="+ksrq_old+",jsrq_old=="+jsrq_old);if(tjksrq_hm>=jsrq_old_hm || tjjsrq_hm <= ksrq_old_hm){alog.info(actionName, "true==>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>end" );//return "1";}else{
//                        String sql_hr="select lastname from hrmresource where id="+Create_By;
//                        rs_hr.execute(sql_hr);
//                        String name="";
//                        while (rs_hr.next()){
//                            name=rs_hr.getString("lastname");
//                        }request.getRequestManager().setMessagecontent("该时间段流程已经提交过,请勿重复提交!");request.getRequestManager().setMessageid("1");alog.info(actionName, "false==>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>end" );return "0";}}} catch (ParseException e) {e.printStackTrace();alog.info(actionName, "ParseException==" + e.getMessage());request.getRequestManager().setMessagecontent("有加班单存在异常,请联系OA管理员!");request.getRequestManager().setMessageid("1");return "0";}}alog.info(actionName,"====================================END=========================================");return "1";}
}

泛微考勤加班流程,有重复的时间段不让提交相关推荐

  1. 泛微--考勤 加班申请: 加班天数不对。

    加班申请: 加班天数不对. 目前逻辑: 加班天数  =  加班天数nice /  日工作小时数 ----------由于  写的 8:00-16:30  系统自动取8.5小时. ----------- ...

  2. 泛微E8获取流程信息(前端篇)

    用单纯的 jQuery 即可实现,如下图所示: 另外,前端设置单元格的值后,如需保存至后台.还要在设计器中,将该字段的属性设置为 "编辑".  (完)

  3. 泛微ECOLOGY9流程模块(建模通用)office附件上传自动转为图片并显示在流程指定附件字段中

    泛微ECOLOGY9流程模块'建模通用'office附件上传自动转为图片并显示在流程指定附件字段中 目录说明 实现将office文件转为PDF文件及PDF文件转换为图片功能 1.首选在服务器中搭建环境 ...

  4. 9类人事管理场景应用,泛微协助HR释放更多工作量

    人事管理数字化是大势所趋: 组织处在不断发展变化的大环境之中,竞争格外激烈,人力资源日益成为组织竞争优势的关键所在.改变传统人事管理模式,推进人事管理数字化变革,把传统的人事管理事务统一到一个平台,从 ...

  5. 综合泵业集团:上海凯泉用泛微低代码平台实现员工数字化管理

    海凯泉是一家集设计.生产.销售泵.给水设备及泵用控制设备于一体的大型综合性泵业集团,旗下拥有5家工业园.23家销售分公司,产品服务于建筑.市政.核电.火电.事由化工.大型水利等多领域. 上海凯泉于20 ...

  6. 会计事务所审计、咨询等项目管理用泛微,数据关联、协作灵活

    会计事务所属于项目型组织,涉及到审计.评估.咨询.代理记账.工程咨询等等方面,需要各岗位人员协作推进.随着业务以及人员规模的扩大,需要建立一套规范的项目管理体系,实现项目全过程管理.数据统一归集. 会 ...

  7. 移动办公OA行业的普及推动力——泛微三季报披露

    移动办公行业正在不断升温,前有腾讯.阿里纷纷入局,后有无数资本.创业公司快速涌入,越来越多人意识到其中的商机,越来越多人前仆后继.尽管如此,不可否认的是当前这个市场还不够成熟,缺乏绝对的领军企业. 现 ...

  8. 泛微E8开启允许转发和允许删除

    开启泛微的允许流程转发,需要设置 "流转设置" -"节点信息"中,各节点的 "操作菜单".点击齿轮图标,进行编辑. 点击齿轮图标后,会显示下 ...

  9. 高校借力泛微,搭建一体化、流程化的​内控管理平台

    财政部<行政事业单位内部控制规范(试行)>中明确规定:行政事业单位内部控制是指通过制定制度.实施措施和执行程序,实现对行政事业单位经济活动风险的防范和管控,包括对其预算管理.收支管理.采购 ...

最新文章

  1. 将UTC日期时间转换为本地日期时间
  2. 第十届蓝桥杯(含题目文件下载)
  3. pyqt5项目(计算器)
  4. java图片缩放工具类,一个JAVA图形缩放处置工具类
  5. Linux下pwn从入门到放弃,pwn从入门到放弃第六章——简单ROP
  6. Change handler table ESH_EX_CPOINTER
  7. js中call和apply的作用和用法
  8. mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
  9. 计算机一级查找文件名,电脑设置始终搜索文件名和内容的方法
  10. python爬虫什么意思-这样学Python爬虫,想爬什么爬什么
  11. Javascript和JQuery函数定义方式
  12. C++语言的表达式模板:表达式模板的入门性介绍
  13. 禅修程序员十诫 [译文]
  14. Photo Album: 2008年5月-三亚爱琴海岸康年度假村-day4
  15. 华为AI四小龙兵临城下,海大宇如何反围剿?
  16. 计算机退回登录界面,win7开机怎么自动登录用户?Win进入桌面又返回登录界面故障解决...
  17. win11解决右键卡顿
  18. 如何安装Ubuntu 20.04 LTS服务器的图文教程
  19. 西门子——好用的通讯仿真通讯工具NetToPLCsim
  20. Excel表格密码保护的解除方法

热门文章

  1. Error in nextTick: “TypeError: Cannot read property ‘xxx‘ of undefined“
  2. python中的bisect模块与二分查找
  3. 基于单片机(STM32F103ZE)的智能家居集成控制器设计
  4. PostGIS 笔记
  5. 位运算符:按位取反(~)、位与()、位或(|)、位异或(^);左移运算符(<<)、右移运算符(>>)
  6. 海康摄像头http抓图
  7. C语言itoa()函数
  8. 6款MacOS系统性能监控优化工具介绍
  9. JSON数据 与 JSON数据的使用
  10. 微信小程序API----授权登录拿到用户头像昵称等信息