初步进行泛微OA开发记录--在调休申请时判断是否加班没有加班时间的话不允许提交
来源:互联网 发布:十年数据库管理员 编辑:程序博客网 时间:2024/05/01 02:29
需求如下:现在公司的出厂申请流程里面,有调休和公出两个方式,人力要求,当员工选择调休时,判断这个员工近两个月是否加过班,如果没有的话,就直接不允许他进行提交。为了完成这个任务,需要先创建两个JSP文件:GetData119.jsp,IncludeWorkflow119.jsp,这里的119指的是工作流程ID。顾名思义,前面一个JSP文件是用来从数据库中取数据,然后反馈给第二个JSP的,再在数据库中将IncludeWorkflow119.jsp添加到出厂流程的customerpage里面,就可以使得每次打开该页面时,都会执行IncludeWorkflow119.jsp了。
部分代码与说明如下:
<%/* 公出单申请流程 先获取相关流程与页面信息*/int requestid = Util.getIntValue(request.getParameter("requestid"));//请求idint workflowid = Util.getIntValue(request.getParameter("workflowid"));//流程idint formid = Util.getIntValue(request.getParameter("formid"));//表单idint isbill = Util.getIntValue(request.getParameter("isbill"));//表单类型,1单据,0表单int nodeid = Util.getIntValue(request.getParameter("nodeid"));//流程的节点idString nodeType="0";if(requestid!=-1){nodeType=requestCI.getRequestCurrentNodeType(requestid+"");}%>
<script>jQuery(function(){checkCustomize=function(){//配置字段var sqrqNum=""; //申请日期 在数据库中存储的流程表单的字段的ID号,可以通过F12查找,也可以直接去看数据库var ksrqNum=""; //开始日期//时间变量给值var sqrq1=""; //用户填写的时间信息var ksrq1="";var isr="";var dt1="";//申请日期var dt2="";//开始日期var strs="";var strs1="";var strDate1=""; //申请月份var strDate2=""; //开始月份var strDate=""; var strDatey1=""; var strDatey2="";//出厂类型var cclx="";//判断出厂类型是否为调休//申请人var GH=""; if("<%=workflowid%>"==119){//集团公出单//配置字段 sqrqNum="6980"; //申请日期 ksrqNum="6982"; //开始日期//时间变量给值 sqrq1=jQuery("#field"+sqrqNum); ksrq1=jQuery("#field"+ksrqNum); isr=true;if(sqrq1.val()!=""&&ksrq1.val()!=""){//进行时间判断 dt1=sqrq1.val();//申请日期 dt2=ksrq1.val();//开始日期 strs=dt1.split("-"); strs1=dt2.split("-"); strDate1=strs[1]; //申请月份 strDate2=strs1[1]; //开始月份 strDate=strs[2]; strDatey1=strs[0]; strDatey2=strs1[0]; if(strDate > "05"){//申请年份等于开始年份if(strDatey1==strDatey2){if(strDate2 < strDate1){ if(strDate1!="10"&&strDate1!="01"&&strDate1!="02"&&strDate1!="04"&&strDate1!="05"&&strDate1!="06")//除五一 十一 元旦 春节 清明节外其他时间段限定于3号前补单{alert("请在5号前补单!");isr=false;return false;}if(strDate1=="05"&&strDate > "08")//五一补单时间限定于8号前{alert("请在8号前补单!");isr=false;return false;}if(strDate1=="06"&&strDate > "06")//6月份补单时间限定于6号前 6月份5号星期天{alert("请在6号前补单!");isr=false;return false;}if(strDate1=="10"&&strDate > "08")//十一补单时间限定于7号前{alert("请在8号前补单!");isr=false;return false;}if(strDate1=="04"&&strDate > "08")//清明节补单时间限定于8号前{alert("请在8号前补单!");isr=false;return false;}if(strDate1=="02"&&strDate > "05")//春节补单限定于18号前{alert("请在05号前补单!");isr=false;return false;} }}//申请年份大于开始年份if(strDatey1>strDatey2&&strDate1!="01"&&strDate2!="12"){alert("请在5号前补单!");isr=false;return false;} }}//申请年份大于开始年份 元旦补单日期控制在8号前if(strDatey1>strDatey2&&strDate1=="01"&&strDate2=="12"&&strDate > "08"){alert("请在8号前补单!");isr=false;return false;}cclx=jQuery("#field6976");GH=jQuery("#field6977");if(cclx.val()=="1"){ //如果选择的出厂类型是调休//判断是否填写过加班单jQuery.ajax({url:"GetData119.jsp", //调用获取数据的文件async:false,type:"post",data:{"operation":"GETSTATE","GH":GH.val()}, //执行GETSTATE操作,并且获取GH(工号)信息success:function(data){//alert(data);eval("var obj = "+data);if(obj.da.length<=0){ alert("近两个月内无加班单,不允许调休!");isr=false; } }}); }return isr; }} </script>
GetData119.jsp页面的相关代码如下:
<%request.setCharacterEncoding("utf-8");//response.setContentType("text/html;charset=gbk");String operation = Util.null2String(request.getParameter("operation")); //获取操作信息String userid=Util.null2String(request.getParameter("userid")); String json=new String();User user=HrmUserVarify.getUser(request,response);BaseBean bb = new BaseBean();if(operation.equals("GETSTATE")){JSONObject jo=new JSONObject();JSONArray ja=new JSONArray();String GH=Util.null2String(request.getParameter("GH"));String regh="";String runsql4 = " SELECT GH,JBRQ,months_between(sysdate,to_date(JBRQ,'yyyy-mm-dd')) FROM ( "+" select GH,JBRQ from FORMTABLE_MAIN_76_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_86_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_140_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_155_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_167_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_193_dt1 "+" UNION ALL "+" select GH,JBRQ from FORMTABLE_MAIN_370_dt1 "+" ) "+" WHERE months_between(sysdate,to_date(JBRQ,'yyyy-mm-dd'))<=2 AND GH = '" + GH+"'"; //查询人员的加班信息bb.writeLog("runsql4:"+runsql4);rs1.execute(runsql4);while(rs1.next()){regh=Util.null2String(rs1.getString("GH"));}//JSONObject jo=new JSONObject();jo.put("da", regh);json=jo.toString();}out.print(json);%>
0 0
- 初步进行泛微OA开发记录--在调休申请时判断是否加班没有加班时间的话不允许提交
- 加班调休报表
- 【干货分享】流程DEMO-加班与调休
- Jacob生成word文档 由打卡记录生成加班和调休申请单
- 加班申请流程
- 加班......
- 加班
- 加班。
- 加班
- 加班
- 加班!~~
- 加班!
- 加班
- 加班
- 加班
- 加班
- 加班
- 加班?
- 全面了解Windows 7系统的百余个服务
- 【项目部署】----如何快速有效基于Linux部署Java Web项目?
- PMCON2017产品经理千人峰会:数据驱动的产品迭代和创新
- The server does not support version 3.0 of the J2EE Web module specification
- rpm安装xtrabackup时的问题
- 初步进行泛微OA开发记录--在调休申请时判断是否加班没有加班时间的话不允许提交
- spring cloud config 配置svn 实例
- 学习资源备忘
- Linux第一课
- jquery中prop()方法和attr()方法的区别浅析
- 使用TabLayout+ViewPager+Fragment+DataBing实现仿网易新闻主界面效果
- 【随感】感悟:即将到达俩年打字员生涯的我
- JAVA中switch和if性能比较
- openocd与stlink配合烧录程序