re_flow_now.jsp 4.35 KB
<%@ page import="com.engine.kq.biz.KQFlowActiontBiz" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Map" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="com.engine.kq.enums.KqSplitFlowTypeEnum" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
    try {

        String requestid = Util.null2String(request.getParameter("requestid"));
        String workflowid = Util.null2String(request.getParameter("workflowid"));
        //是否是强制归档,true的话可以做带薪数据扣减和加班生成,默认false
        String isForce = Util.null2String(request.getParameter("isForce"));
        //是否是老考勤升级,true的话表示是老考勤升级,不需要考勤扣减和加班生成的问题。默认false
        String isUpgrade = Util.null2String(request.getParameter("isUpgrade"));
        boolean isForce1 = false;
        boolean isUpgrade1 = false;
        if("true".equalsIgnoreCase(isForce)){
            isForce1 = true;
        }
        if("true".equalsIgnoreCase(isUpgrade)){
            isUpgrade1 = true;
        }
        if(requestid.length() == 0){
            out.println("param requestid is null:<br/>");
            return ;
        }
        if(workflowid.length() == 0){
            out.println("param workflowid is null:<br/>");
            return ;
        }
        long start = System.currentTimeMillis();

        KQFlowActiontBiz kqFlowActiontBiz = new KQFlowActiontBiz();
        RecordSet rs = new RecordSet();
        RecordSet rs1 = new RecordSet();
        String proc_set_sql = "select * from kq_att_proc_set where field001 = ?  ";
        rs.executeQuery(proc_set_sql, workflowid);
        if(rs.next()){
            String proc_set_id = rs.getString("id");
            //得到这个考勤流程设置是否使用明细
            String usedetails = rs.getString("usedetail");

            int kqtype = Util.getIntValue(rs.getString("field006"));
            out.println("do action on kqtype:" + kqtype+"<br/>");

            Map<String, String> map = new HashMap<String, String>();
            if(Util.getIntValue(requestid) > 0){
                map.put("requestId", "and t.requestId = " + requestid);
            }
            String tablename = "";
            if(kqtype == KqSplitFlowTypeEnum.LEAVE.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.LEAVE.getTablename();
            }else if(kqtype == KqSplitFlowTypeEnum.EVECTION.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.EVECTION.getTablename();
            }else if(kqtype == KqSplitFlowTypeEnum.OUT.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.OUT.getTablename();;
            }else if(kqtype == KqSplitFlowTypeEnum.OVERTIME.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.OVERTIME.getTablename();;
            }else if(kqtype == KqSplitFlowTypeEnum.SHIFT.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.SHIFT.getTablename();;
            }else if(kqtype == KqSplitFlowTypeEnum.OTHER.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.OTHER.getTablename();;
            }else if(kqtype == KqSplitFlowTypeEnum.CARD.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.CARD.getTablename();;
            }else if(kqtype == KqSplitFlowTypeEnum.LEAVEBACK.getFlowtype()){
                tablename = KqSplitFlowTypeEnum.LEAVEBACK.getTablename();;
            }else{
                out.print("考勤流程没有找到对应类型##kqtype##"+kqtype);
                return;
            }
            //先根据requestid删除中间表里的数据,再做啥插入操作
            String delSql = "delete from "+tablename+" where requestid = "+requestid;
            out.println("先删除中间表数据 : " + delSql+"<br/>");
            rs1.executeUpdate(delSql);

            Map<String,String> result = kqFlowActiontBiz.handleKQFlowAction(proc_set_id, usedetails, Util.getIntValue(requestid), kqtype, Util.getIntValue(workflowid), isForce1,isUpgrade1,map);

            out.println("do action on kqtype result:" + result+"<br/>");
            if(!result.isEmpty()){
                out.println("do action on kqtype 失败:" + result+"<br/>");
            }
        }
        long end = System.currentTimeMillis();
        out.println((end-start)/1000+"秒");
    }catch (Exception e){
      e.printStackTrace();;
    }
%>