testkq.jsp 9.31 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ include file="/systeminfo/init_wev8.jsp" %>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<%@ taglib uri="/browserTag" prefix="brow"%>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea"%>
<%@ page import="com.engine.kq.biz.*" %>
<%@ page import="weaver.common.DateUtil" %>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="com.engine.kq.entity.WorkTimeEntity" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="weaver.workflow.field.BrowserComInfo" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="com.alibaba.fastjson.serializer.SerializerFeature" %>
<%@ page import="weaver.file.Prop" %>
<%@ page import="java.net.InetAddress" %>
<%
    if(user.getUID()!=1){
        return;
    }
    InetAddress ia = InetAddress.getLocalHost();
    String hostaddr = ia.getHostAddress();
    out.print(hostaddr);

    Map<String,Object> msg = new HashMap<>();
    String sql = "";
    RecordSet rs = new RecordSet();
    String today = DateUtil.getCurrentDate();
    String cmd = Util.null2String(request.getParameter("cmd"));
    String resourceid = Util.null2String(request.getParameter("resourceid"));
    String kqdate = Util.null2String(request.getParameter("kqdate"),today);
    String kqdateto = Util.null2String(request.getParameter("kqdateto"),today);
    boolean writeKqLog = Util.null2String(Prop.getInstance().getPropValue("Others", "writeKqLog")).equals("1");
    if(cmd.equals("reflashReport")){
        KQFormatData kqFormatData = new KQFormatData();
        if(resourceid.length()>0 && kqdate.length()>0 && kqdateto.length()>0) {
            Calendar cal = DateUtil.getCalendar();
            if (DateUtil.timeInterval(kqdateto, kqdate) > 0) {
                out.println("格式化开始时间小于结束时间fromdate==" + kqdate + "todate==" + kqdateto);
                return;
            }

            boolean isEnd = false;
            for (String date = kqdate; !isEnd; ) {
                if (date.equals(kqdateto)) isEnd = true;
                kqFormatData.formatKqDate(resourceid, date);
                cal.setTime(DateUtil.parseToDate(date));
                date = DateUtil.getDate(cal.getTime(), 1);
            }
            msg.put("msg","刷新报表数据成功!");
        }
    }else if(cmd.equals("formatReportLogInfo")){
	    KQFormatData kqFormatData = new KQFormatData();
        kqFormatData.setWriteLog(true);
	    kqFormatData.formatKqDate(resourceid, kqdate);
        msg.put("logInfo",kqFormatData.getLogInfo());
    }else if(cmd.equals("reflashComInfo")){
        new KQReportFieldComInfo().removeCache();
        new KQGroupComInfo().removeCache();
        new KQGroupMemberComInfo().removeCache();
        new KQShiftScheduleComInfo().removeCache();
        new KQFixedSchedulceComInfo().removeCache();
        new KQOneStopUp().refreshCominfo();
        msg.put("msg","刷新缓存数据成功!");
    }else if(cmd.equals("getSerialInfo")){
        KQWorkTime kqWorkTime = new KQWorkTime();
        WorkTimeEntity workTime = kqWorkTime.getWorkTime(resourceid,kqdate);
        msg.put("workTime",workTime);
    }else if(cmd.equals("getKQFormatPool")){
        sql = "select count(*) from kq_format_pool where status = 0 ";
        rs.executeQuery(sql);
        if(rs.next()){
            msg.put("kq_format_pool",rs.getInt(1));
        }
        msg.put("kqformatIds",KQFormatJob.kqformatIds.size());
    }else if(cmd.equals("writeKqLog")){
        Prop.setPropValue("Others", "writeKqLog",Util.null2String(request.getParameter("writeKqLog")));
        writeKqLog=Util.null2String(request.getParameter("writeKqLog")).equals("1");
    }
%>
<html>
<head>
    <LINK href="/css/Weaver_wev8.css" type=text/css rel=STYLESHEET>
    <LINK href="/js/hrm/jquery.jsonview.css" type=text/css rel=STYLESHEET>
    <script src="/js/hrm/jquery.jsonview.js"></script>
    <script>
        function btnSubmit() {
            if(frm.resourceid.value==""){
                alert("请选择人员!");
                return;
            }
            if (confirm("确认刷新报表数据吗")) {
                frm.cmd.value="reflashReport";
                frm.submit();
            }
        }
        
        function btnFormatReportLogInfo() {
            if(frm.resourceid.value==""){
                alert("请选择人员!");
                return;
            }
            if(frm.resourceid.value.indexOf(",")!=-1){
                alert("人员必须为单选!");
                return;
            }
            if(frm.kqdate.value==""){
                alert("请选择日期!");
                return;
            }
            if(frm.kqdateto.value!=""){
            	if(frm.kqdate.value!=frm.kqdateto.value){
                alert("暂不支持跨日期调试");
                return;
            	}
          	}
            
            if (confirm("确认开始调试格式化考勤数据吗")) {
                frm.cmd.value="formatReportLogInfo";
                frm.submit();
            }
        }

        function btnRemoveComInfo() {
            if (confirm("确认刷新缓存数据吗")) {
                frm.cmd.value="reflashComInfo";
                frm.submit();
            }
        }
        function btnGetSerialInfo() {
            if(frm.resourceid.value==""){
                alert("请选择人员!");
                return;
            }

            if(frm.resourceid.value.indexOf(",")!=-1){
                alert("人员必须为单选!");
                return;
            }
            frm.cmd.value="getSerialInfo";
            frm.submit();
        }

        function btnGetKQFormatPool() {
            frm.cmd.value="getKQFormatPool";
            frm.submit();
        }

        function btnWriteKqLog() {
            if (confirm("开启日志将增加日志内容,请谨慎开启,确认开启考勤格式化日志吗?")) {
                frm.cmd.value="writeKqLog";
                if(frm.writeKqLog.value=="1"){
                    frm.writeKqLog.value="0";
                }else{
                    frm.writeKqLog.value="1";
                }
                frm.submit();
            }
        }

        jQuery(document).ready(function(){
            $("#json").JSONView($("#json").html(), { expand: true, nl2br: true, recursive_collapser: true });
        });
    </script>
</head>
<BODY>
<form name="frm" action="testkq.jsp" method="post">
    <input type="hidden" name="cmd" value="">
    <input type="hidden" name="writeKqLog" value="<%=writeKqLog?"1":"0"%>">
    <table style="width: 100%">
        <tr>
            <td style="text-align: center;font-size: 25px;font-weight:bold;height: 80px">新版考勤功能调试</td>
        </tr>
    </table>
    <div style="margin: auto">
        <table style="margin: auto">
            <tr style="height: 30px">
                <td>人员</td>
                <td>
                    <brow:browser viewType="0"  name="resourceid" browserValue='<%=resourceid %>'
                                  browserOnClick=""
                                  browserUrl="<%=new BrowserComInfo().getBrowserurl("17") %>"
                                  hasInput="true" isSingle="false" hasBrowser = "true" isMustInput='1' linkUrl="javascript:openhrm($id$)"
                                  completeUrl="/data.jsp?type=17" width="265px"
                                  browserSpanValue='<%=Util.toScreen(ResourceComInfo.getResourcename(resourceid),user.getLanguage())%>'></brow:browser>
                </td>
            </tr>
            <tr style="height: 30px">
                <td>日期范围</td>
                <td>
                    <BUTTON type="button" class=Calendar id=btnkqdate onclick="getDate(kqdatespan,kqdate)"></BUTTON>
                    <SPAN id=kqdatespan ><%=kqdate%></SPAN>
                    <BUTTON type="button" class=Calendar id=btnkqdateto onclick="getDate(kqdatetospan,kqdateto)"></BUTTON>
                    <SPAN id=kqdatetospan ><%=kqdateto%></SPAN>
                    <input class=inputstyle type="hidden" name=kqdate value="<%=kqdate%>">
                    <input class=inputstyle type="hidden" name=kqdateto value="<%=kqdateto%>">
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align: center;height: 50px;">
                    <input type="button" value="刷新报表数据" onclick="btnSubmit();"/>&nbsp;&nbsp;
                    <input type="button" value="查看格式化考勤日志" onclick="btnFormatReportLogInfo();"/>&nbsp;&nbsp;
                    <input type="button" value="获取班次数据" onclick="btnGetSerialInfo();"/>&nbsp;&nbsp;
                    <input type="button" value="获取线程数据" onclick="btnGetKQFormatPool();"/>&nbsp;&nbsp;
                    <input type="button" value="刷新缓存数据" onclick="btnRemoveComInfo();"/>&nbsp;&nbsp;
                    <input type="button" value="<%=writeKqLog?"关闭":"开启"%>格式化日志" onclick="btnWriteKqLog();"/>
                </td>
            </tr>
        </table>
        <div id="json" style="padding-left: 100px"><%=JSONObject.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect) %></div>
    </div>
</form>
</BODY>
<script language="javascript" defer="defer" src="/js/datetime_wev8.js"></script>
<script language="javascript" defer="defer" src="/js/JSDateTime/WdatePicker_wev8.js"></script>
</html>