<%@ page language="java" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> 
    <title>数据质量规则维护</title>
<style>
.table-null .table{
	margin-bottom: 0px;
}
.table-null .table > tbody > tr > td, .table-null .table > thead > tr > th{
	text-align: center;
 	width: 25%;
}
.table-null td:first-child{	
 	text-align: right;
 	width: 36%;
}
.table-null tr td:last-child .form-control,.table-null tr td:last-child table{
	width: 400px;
}

</style>
</head>
  
<body>
	<div class="container">
		<ol class="breadcrumb">
			<li><a href="${ctx}/index">首页</a></li>
			<li>数据质量核查</li>
			<li class="active">数据质量规则维护</li>
		</ol>
	</div>
	<div id="main-container main-tab-container">
		<div id="content" class="container">
			<div class="section">
				<div class="tab-content">

					<div class="tab-pane fade in active" id="home">
						<div class="row">
							<div class="col-xs-12">
								<div class="table-header">数据质量规则上传</div>
								<form action="#" class="form-horizontal" id="ruleMaintainForm" method="post">
								<table id="ruleMaintainTable" class="table-null">
									<tr><td>省份(<font color="red">必填</font>):</td>
										<td>
			    							<c:forEach var="province" items="${provinceList}">
			    							  <input type="checkbox" name="province" id="province" value="${province.provinceId}" checked>${province.provinceName}
			    							</c:forEach>
										</td>
									</tr>
									<tr><td>数据来源(<font color="red">必填</font>):</td>
										<td>
											<select class="form-control" name="dataSource" id="dataSource" >
											<c:forEach var="dataSource" items="${dataSourceList}">
												<c:if test="${dataSource.dataSourceId == '5'}">
													<option value="${dataSource.dataSourceId}" selected>${dataSource.dataSourceName}</option>
												</c:if >
												<c:if test="${dataSource.dataSourceId != '5'}">
													<option value="${dataSource.dataSourceId}" >${dataSource.dataSourceName}</option>
												</c:if >
											</c:forEach>
										    </select></td>
									</tr>
									<tr><td>渠道(<font color="red">必填</font>):</td>
										<td><select class="form-control" name="channel" id="channel" >
			    								<c:forEach var="channel" items="${channelList}">
													<c:if test="${channel.channelId == '7'}">
			    										<option value="${channel.channelId}" selected>${channel.channelName}</option>
													</c:if>
													<c:if test="${channel.channelId != '7'}">
														<option value="${channel.channelId}">${channel.channelName}</option>
													</c:if>
			    								</c:forEach>
										    </select></td>
									</tr>
									<tr><td>业务(<font color="red">必填</font>):</td>
										<td >
											<div id="businesstd"></div>

										</td>
									</tr>
									<tr><td>数据采集频率(<font color="red">必填</font>):</td>
										<td><select class="form-control" name="calCycle" id="calCycle" style="display: inline;">
												<option value="30MI">30分钟</option>
												<option value="01HR">1小时</option>
												<option value="01DY">1天</option>
												<option value="01MO">1月</option>
											</select>
										</td></tr>
									<tr><td>指标(<font color="red">必填</font>):</td>
										<td>
											<div id="kpitd"></div>

										</td>
									</tr>
									<tr><td>指标监控时间(<font color="red">必填</font>):</td>
										<td>
										<input type="text" name="frequencyValue" id="frequencyValue" style="display: inline;" />
										<select name="frequencyType" id="frequencyType">
			    									<option value="0">分钟</option>
			    									<option value="1">小时</option>
			    									<option value="2">天</option>
			    									<option value="3">月</option>
			    							</select></td>
									</tr>
									<tr><td>指标采集时间(<font color="red">必填</font>):</td>
										<td id="businessTimetd">
											<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:"yyyy-MM-dd HH:mm:00",startDate:"%y-%M-%d 00:00:00",readOnly:false,hmsMenuCfg : {H : [ 1, 6 ], m : [ 30, 2 ], s : [ 60, 0 ]},alwaysUseStartDate:true})'/>
										</td>
									</tr>
									<tr><td>添加准确性规则:</td>
										<td><table class="table table-hover table-striped" id="displayParam">
											<thead >
											<tr><th>规则类型</th><th>范围最大值</th><th>范围最小值</th><th>重复考核粒度</th><th>重复考核开始时间</th><th>重复考核结束时间</th><th>重复是否连续</th><th>重复最大次数</th><th>数据是否累计</th><th><a href="javascript:deleteAllTr()">删除全部</a></th></tr>
											</thead>
											<tbody id="addTr"></tbody>
										</table></td></tr>
										<tr><td>准确性规则类型:</td>
											<td><select class="form-control" name="ruleType" id="ruleType" >
			    									<option value="">无</option>
			    									<option value="1">范围类</option>
			    									<option  value="2">重复类</option>
			    							</select></td></tr>		
						    				<tr class="range"><td>范围最大值:</td><td><input type="text" class="form-control" name="scopeMaxValue" id="scopeMaxValue" /></td></tr>
						    				<tr class="range"><td>范围最小值:</td><td><input type="text" class="form-control" name="scopeMinValue" id="scopeMinValue" /></td></tr>
					    					<tr class="repeate"><td>重复考核粒度:</td>
												<td><select class="form-control" name='repeatedCheckGranularity' id='repeatedCheckGranularity'>
													<option value="day" selected>日</option>
													<option  value="mon">天</option>
												</select>
												</td></tr>
			    							<tr class="repeate"><td>重复考核开始时间:</td><td><input type="text" class="form-control" id="repeatedCheckStartTime" name="repeatedCheckStartTime" onfocus="WdatePicker({minDate:'#F{$dp.$D(\'repeatedCheckStartTime\')}'})" /></td></tr>
			    							<tr class="repeate"><td>重复考核结束时间:</td><td><input id="repeatedCheckEndTime" name="repeatedCheckEndTime" class="form-control" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'repeatedCheckEndTime\')}'})"></td></tr>
			    							<tr class="repeate"><td>重复是否连续:</td>
												<td><select name='ifRepeatedCheckSeries' id='ifRepeatedCheckSeries' class="form-control">
													<option value="1" selected>是</option>
													<option  value="0">否</option>
												</select>
												</td></tr>
			    							<tr class="repeate"><td>重复最大次数:</td><td><input type='text' name='repeatedCheckMaxTime' id='repeatedCheckMaxTime' class="form-control" style="display: inline;"/></td></tr>
			    							<tr class="repeate"><td>数据是否累计:</td>
												<td><select name='ifRepeatedCheckSummation' id='ifRepeatedCheckSummation' class="form-control">
													<option value="1" selected>是</option>
													<option  value="0">否</option>
												</select>
												</td></tr>
											<tr><td></td>
												<td><button type="button" id="addParam" class="btn btn-primary">添加规则</button></td></tr>
											<tr><td></td><td><button type="button" id="ruleSubmit" class="btn btn-primary">确定</button>
															<button type="reset" class="btn btn-warning" id="ruleBack">返回</button>
											</td></tr>
	                            </table>
								</form>
								<input type="hidden" id="kpi" name="kpi" value='${kpiList}' />
								<input type="hidden" id="business" name="business" value='${businessList}' />
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
	
<script type="text/javascript">
$(".range").hide();
$(".repeate").hide();
$("#addParam").hide();
$("#ruleType").change(function (){
	var selectValue = $("#ruleType").val();
	if (selectValue == ""){
		$(".range").hide();
		$(".repeate").hide();
        $("#addParam").hide();
	}
	if (selectValue == 1){
		$(".repeate").hide();
		$(".range").show();
        $("#addParam").show();
	}
	if (selectValue == 2){
		$(".range").hide();
		$(".repeate").show();
        $("#addParam").show();
	}
});

//删除所有准确性规则
function deleteAllTr(){
    $("#addTr").empty();
}

//删除一条准确性规则
function deleteRow(elementTag){
    $(elementTag).parent().parent().remove();
}


//添加/修改准确性规则
$("#addParam").click(function(){
    var  ruleType= $("#ruleType").val();
    var scopeMaxValue = $.trim($("#scopeMaxValue").val());
    var scopeMinValue = $.trim($("#scopeMinValue").val());
    var repeatedCheckGranularity = $.trim($("#repeatedCheckGranularity").val());
    var repeatedCheckStartTime = $.trim($("#repeatedCheckStartTime").val());
    var repeatedCheckEndTime = $.trim($("#repeatedCheckEndTime").val());
    var ifRepeatedCheckSeries = $.trim($("#ifRepeatedCheckSeries").val());
    var repeatedCheckMaxTime = $.trim($("#repeatedCheckMaxTime").val());
    var ifRepeatedCheckSummation = $.trim($("#ifRepeatedCheckSummation").val());
	if(ruleType == "1" || ruleType == "2"){
        if(ruleType == "1"){
            if(scopeMaxValue==""){$.alert("范围最大值不能为空");}
            if(scopeMinValue==""){$.alert("范围最小值不能为空");}
            repeatedCheckGranularity ="无";
            repeatedCheckStartTime ="无";
            repeatedCheckEndTime ="无";
            ifRepeatedCheckSeries ="无";
            repeatedCheckMaxTime ="无";
            ifRepeatedCheckSummation ="无";
        } else if(ruleType == "2"){
            if(repeatedCheckGranularity==""){$.alert("重复考核粒度不能为空");}
            if(repeatedCheckStartTime==""){$.alert("重复考核开始时间不能为空");}
            if(repeatedCheckEndTime==""){$.alert("重复考核结束时间不能为空");}
            if(ifRepeatedCheckSeries==""){$.alert("重复是否连续不能为空");}
            if(repeatedCheckMaxTime==""){$.alert("重复最大次数不能为空");}
            if(ifRepeatedCheckSummation==""){$.alert("数据是否累计不能为空");}
            scopeMaxValue ="无";
            scopeMinValue ="无";
        }
        if($("#addTr").find("tr.orange-tr").html()==null){
            var addRow = $("<tr><td>"+ruleType+"</td><td>"+scopeMaxValue+"</td><td>"+scopeMinValue+"</td><td>"+repeatedCheckGranularity+"</td><td>"+repeatedCheckStartTime+"</td><td>"+repeatedCheckEndTime+"</td><td>"+ifRepeatedCheckSeries+"</td><td>"+repeatedCheckMaxTime+"</td><td>"+ifRepeatedCheckSummation+"</td><td><a href='javascript:;' title='' onclick='deleteRow(this)'>删除</a></td></tr>");
            $("#addTr").append(addRow);
            $("#ruleType").attr("value","");
            $("#scopeMaxValue").attr("value","");
            $("#scopeMinValue").attr("value","");
            $("#repeatedCheckGranularity").attr("value","");
            $("#repeatedCheckStartTime").attr("value","");
            $("#repeatedCheckEndTime").attr("value","");
            $("#ifRepeatedCheckSeries").attr("value","");
            $("#repeatedCheckMaxTime").attr("value","");
            $("#ifRepeatedCheckSummation").attr("value","");
        }else{
            var findTr = $("#addTr").find("tr.orange-tr");
            $(findTr).find("td").eq(0).html(ruleType);
            $(findTr).find("td").eq(1).html(scopeMaxValue);
            $(findTr).find("td").eq(2).html(scopeMinValue);
            $(findTr).find("td").eq(3).html(repeatedCheckGranularity);
            $(findTr).find("td").eq(4).html(repeatedCheckStartTime);
            $(findTr).find("td").eq(5).html(repeatedCheckEndTime);
            $(findTr).find("td").eq(6).html(ifRepeatedCheckSeries);
            $(findTr).find("td").eq(7).html(repeatedCheckMaxTime);
            $(findTr).find("td").eq(8).html(ifRepeatedCheckSummation);
            $("#addTr").find("tr").removeClass();
            $("#addParam").text("添加规则");
        }
    }
});

	//form表单提交
	$("#ruleSubmit").click(function(){
		if($.trim($("#frequencyValue").val())==""){
			$.alert("指标监控时间不能为空");
		}else if($("#businessTime").val()==""){
			$.alert("指标业务时间不能为空");
		}else if($("#ruleCrtTime").val()==""){
			$.alert("规则创建时间不能为空");
		}else if($("#ruleUpdateTime").val()==""){
			$.alert("规则更新时间不能为空");
		}else{
			if($.trim($("#ruleType").val())=="1" || $.trim($("#ruleType").val())=="2"){
			$.dialog({
				title: "提醒",
				content: "有准确性规则参数尚未添加,确定提交",
				ok: function(){
					
				$("#ruleSubmit").attr("disabled",true);
				var i = $("#addTr").find("tr").size();
			 
				if(i==0){
				var createForm=$("#ruleMaintainForm");
					createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
					createForm.submit();
					createForm.attr("action","#");
			}else{
					$("#addTr").find("tr").each(function(){
					var ruleType = $(this).find("td").eq(0).html();
					var scopeMaxValue = $(this).find("td").eq(1).html();
					var scopeMinValue = $(this).find("td").eq(2).html();
					var repeatedCheckGranularity = $(this).find("td").eq(3).html();
					var repeatedCheckStartTime = $(this).find("td").eq(4).html();
					var repeatedCheckEndTime = $(this).find("td").eq(5).html();
					var ifRepeatedCheckSeries = $(this).find("td").eq(6).html();
					var repeatedCheckMaxTime = $(this).find("td").eq(7).html();
					var ifRepeatedCheckSummation = $(this).find("td").eq(8).html();
					if(scopeMaxValue =="无"){scopeMaxValue ="";}
					if(scopeMinValue =="无"){scopeMinValue ="";}
					if(repeatedCheckGranularity =="无"){repeatedCheckGranularity ="";}
					if(repeatedCheckStartTime =="无"){repeatedCheckStartTime ="";}
					if(repeatedCheckEndTime ="无"){repeatedCheckEndTime ="";}
					if(ifRepeatedCheckSeries =="无"){ifRepeatedCheckSeries ="";}
					if(repeatedCheckMaxTime =="无"){repeatedCheckMaxTime ="";}
					if(ifRepeatedCheckSummation =="无"){ifRepeatedCheckSummation ="";}
					$.ajax({
						type : "GET",
						contentType : "application/json",
						url: "${ctx}/AnalysisSupport/QualityRuleMaintain/createAccuracyRule?ruleType="+ruleType+"&scopeMaxValue="+scopeMaxValue+"&scopeMinValue="+scopeMinValue+"&repeatedCheckGranularity="+repeatedCheckGranularity+"&repeatedCheckStartTime="+repeatedCheckStartTime+"&repeatedCheckEndTime="+repeatedCheckEndTime+"&scopeMinValue="+ifRepeatedCheckSeries+"&ifRepeatedCheckSeries="+repeatedCheckMaxTime+"&repeatedCheckMaxTime="+ifRepeatedCheckSummation+"&ifRepeatedCheckSummation=",
						dataType : "text",
						async: false,
						beforeSend: function(data) {},
						success: function(){
							i--;
							if(i==0){
								var createForm=$("#ruleMaintainForm");
							    createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
							    createForm.submit();
							    createForm.attr("action","#");
							}
						}
					});
				});
			}
				},
				okValue: "确定",
				cancel: function(){},
				cancelValue: "取消",
			});	
			}else{
				$("#ruleSubmit").attr("disabled",true);
				var i = $("#addTr").find("tr").size();
			 
				if(i==0){
				var createForm=$("#ruleMaintainForm");
					createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
					createForm.submit();
					createForm.attr("action","#");
			}else{
					$("#addTr").find("tr").each(function(){
						var ruleType = $(this).find("td").eq(0).html();
						var scopeMaxValue = $(this).find("td").eq(1).html();
						var scopeMinValue = $(this).find("td").eq(2).html();
						var repeatedCheckGranularity = $(this).find("td").eq(3).html();
						var repeatedCheckStartTime = $(this).find("td").eq(4).html();
						var repeatedCheckEndTime = $(this).find("td").eq(5).html();
						var ifRepeatedCheckSeries = $(this).find("td").eq(6).html();
						var repeatedCheckMaxTime = $(this).find("td").eq(7).html();
						var ifRepeatedCheckSummation = $(this).find("td").eq(8).html();
                        if(scopeMaxValue =="无"){scopeMaxValue ="";}
                        if(scopeMinValue =="无"){scopeMinValue ="";}
                        if(repeatedCheckGranularity =="无"){repeatedCheckGranularity ="";}
                        if(repeatedCheckStartTime =="无"){repeatedCheckStartTime ="";}
                        if(repeatedCheckEndTime ="无"){repeatedCheckEndTime ="";}
                        if(ifRepeatedCheckSeries =="无"){ifRepeatedCheckSeries ="";}
                        if(repeatedCheckMaxTime =="无"){repeatedCheckMaxTime ="";}
                        if(ifRepeatedCheckSummation =="无"){ifRepeatedCheckSummation ="";}
					$.ajax({
						type : "GET",
						contentType : "application/json",
						url: "${ctx}/AnalysisSupport/QualityRuleMaintain/createAccuracyRule?ruleType="+ruleType+"&scopeMaxValue="+scopeMaxValue+"&scopeMinValue="+scopeMinValue+"&repeatedCheckGranularity="+encodeURIComponent(repeatedCheckGranularity)+"&repeatedCheckStartTime="+encodeURIComponent(repeatedCheckStartTime)+"&repeatedCheckEndTime="+encodeURIComponent(repeatedCheckEndTime)+"&ifRepeatedCheckSeries="+ifRepeatedCheckSeries+"&repeatedCheckMaxTime="+repeatedCheckMaxTime+"&ifRepeatedCheckSummation="+ifRepeatedCheckSummation,
						dataType : "text",
						async: false,
						beforeSend: function(data) {},
						success: function(){
							i--;
							if(i==0){
								var createForm=$("#ruleMaintainForm");
							    createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
							    createForm.submit();
							    createForm.attr("action","#");
							}
						}
					});
				});
			}
		}
			
	}
});

$("#ruleBack").click(function(){
		location.href="${ctx}/AnalysisSupport/QualityRuleResult";
	});

function getProvinceCheckedValues() {
	var provinceArray = new Array();
	var i=0;
	$("#province:checked").each(function(){
	    provinceArray[i]=$(this).val();
	    i++;
	});
	return provinceArray;
}

function getProvinceCheckedValuesString(){
    var provinceStr="";
    var provinceArray=getProvinceCheckedValues();
    for(var i=0;i<provinceArray.length;i++){
        if(i==provinceArray.length-1){
            provinceStr+=provinceArray[i];
        }else{
            provinceStr+=provinceArray[i]+",";
        }
    }
    return provinceStr;
}

var dataSourceValue =$("#dataSource").val();
var channelValue = $("#channel").val();
var businessIds = getBusinessCheckedValues();
var calCycleValue =$("#calCycle").val();
$("#dataSource").change(function(){
	dataSourceValue = $("#dataSource").val();
	updateBusiness(dataSourceValue,channelValue);
});	
$("#channel").change(function(){
	channelValue = $("#channel").val();
	updateBusiness(dataSourceValue,channelValue);
	
});

function updateKpi(businessIds,calCycleValue){
	
	$.ajax({
		type : "GET",
		contentType : "application/json",
		url: "${ctx}/AnalysisSupport/QualityRuleMaintain/findKpiId?businessIds="+businessIds+"&calCycleValue="+calCycleValue,
		async: false,
		beforeSend: function(data) {},
		success: function(data){
			var td = $("#kpitd");
			td.empty();
			data = JSON.parse(data)
			data.forEach(function(t){
				td.append("<input type='checkbox' name='kpiinput' class='kpiItem' title='"+t[2]+"' value='"+t[0]+"' checked >"+t[1]+"</input>")
			});
		}
	});
}

function updateBusiness(dataSource,channel){
	$.ajax({
		type : "GET",
		contentType : "application/json",
		url: "${ctx}/AnalysisSupport/QualityRuleMaintain/findBusinessId?dataSource="+dataSource+"&channel="+channel,
		async: false,
		beforeSend: function(data) {},
		success: function(data){
			var td = $("#businesstd");
			var businessIds = new Array();
			td.empty();
			data = JSON.parse(data)
			data.forEach(function(t){
				td.append("<input type='checkbox' name='businessinput' class='businessItem' value='"+t[0]+"' checked >"+t[1]+"</input>")
				businessIds+=t[0]+",";
			});
			updateKpi(businessIds,calCycleValue);
		}
	});

    $(".businessItem").click(function(){
        businessIds="";
        $("[name='businessinput']:checked").each(function (){
            businessIds += $(this).val()+",";
        });
        updateKpi(businessIds,calCycleValue);
    });

}
$("#calCycle").change(function () {
    calCycleValue=$("#calCycle").val();
    $("[name='businessinput']:checked").each(function (){
        businessIds += $(this).val()+",";
    });
    updateKpi(businessIds,calCycleValue)
	updateBusinessTime(calCycleValue)
});

updateBusiness($("#dataSource").val(),$("#channel").val());



function updateBusinessTime(calCycleValue) {
    $("#businessTimetd").empty()
	if(calCycleValue == "30MI"){
	        $("#businessTimetd").append("<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:\"yyyy-MM-dd HH:mm:00\",startDate:\"%y-%M-%d 00:00:00\",alwaysUseStartDate:true,readOnly:false,hmsMenuCfg : {H : [ 1, 6 ], m : [ 30, 2 ], s : [ 60, 0 ]}})'/>");
	}else if(calCycleValue == "01HR"){
            $("#businessTimetd").append("<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:\"yyyy-MM-dd HH:00:00\",startDate:\"%y-%M-%d 00:00:00\",alwaysUseStartDate:true,readOnly:false,hmsMenuCfg : {H : [ 1, 6 ], m : [ 60, 0 ], s : [ 60, 0 ]}})'/>");
	}else if(calCycleValue == "01DY"){
            $("#businessTimetd").append("<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:\"yyyy-MM-dd 00:00:00\",startDate:\"%y-%M-%d 00:00:00\",alwaysUseStartDate:true,readOnly:false,hmsMenuCfg : {H : [ 24, 0 ], m : [ 60, 0 ], s : [ 60, 0 ]}})'/>");
	}else if(calCycleValue == "01MO"){
            $("#businessTimetd").append("<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:\"yyyy-MM-01 00:00:00\",startDate:\"%y-%M-%d 00:00:00\",alwaysUseStartDate:true,readOnly:false,hmsMenuCfg : {H : [ 24, 0 ], m : [ 60, 0 ], s : [ 60, 0 ]}})' />");
	}
}

function getBusinessCheckedValues(){
    var businessArray = new Array();
    var i=0;
    $("[name='businessinput']:checked").each(function(){
        businessArray[i]=$(this).val();
        i++;
    });
    return businessArray;
}

function getBusinessCheckedValuesString(){
    var businessStr="";
    var businessArray=getBusinessCheckedValues();
    for(var i=0;i<businessArray.length;i++){
        if(i==businessArray.length-1){
            businessStr+=businessArray[i];
        }else{
            businessStr+=businessArray[i]+",";
        }
    }
    return businessStr;
}

function getKpiCheckedValues(){
    var kpiArray = new Array();
    var i=0;
    $("[name='kpiinput']:checked").each(function(){
        kpiArray[i]=$(this).val();
        i++;
    });
    return kpiArray;
}

function getKpiCheckedValuesString(){
    var kpiStr="";
    var kpiArray=getKpiCheckedValues();
    for(var i=0;i<kpiArray.length;i++){
        if(i==kpiArray.length-1){
            kpiStr+=kpiArray[i];
        }else{
            kpiStr+=kpiArray[i]+",";
        }
    }
    return kpiStr;
}

var provinceValue = getProvinceCheckedValuesString();
var businessValue = getBusinessCheckedValuesString();
var kpiValue = getKpiCheckedValuesString();

</script>

</body>
</html>