Commit a061e9dd authored by liuna's avatar liuna

2017年12月1日 智能分析平台提交内容

--数据质量核查
parent c86ed933
This diff is collapsed.
......@@ -28,10 +28,10 @@ public class QualityRule {
private Long provinceId;//省份维表ID
private Long dataSourceId;//数据来源ID
private String kpiMonitorTime;//指标检测时间
private String kpiMonitorRunTime;
private String businessTime;//指标业务时间
private Date ruleCrtTime;//规则创建时间
private Date ruleUpdateTime;//规则更新时间
private Timestamp kpiMonitorRunTime;
private Timestamp businessTime;//指标业务时间
private Timestamp ruleCrtTime;//规则创建时间
private Timestamp ruleUpdateTime;//规则更新时间
private String ruleValidFlag;//规则是否有效
private String ifSystemValue;
......@@ -80,28 +80,28 @@ public class QualityRule {
public void setKpiMonitorTime(String kpiMonitorTime) {
this.kpiMonitorTime = kpiMonitorTime;
}
public String getKpiMonitorRunTime() {
public Timestamp getKpiMonitorRunTime() {
return kpiMonitorRunTime;
}
public void setKpiMonitorRunTime(String kpiMonitorRunTime) {
public void setKpiMonitorRunTime(Timestamp kpiMonitorRunTime) {
this.kpiMonitorRunTime = kpiMonitorRunTime;
}
public String getBusinessTime() {
public Timestamp getBusinessTime() {
return businessTime;
}
public void setBusinessTime(String businessTime) {
public void setBusinessTime(Timestamp businessTime) {
this.businessTime = businessTime;
}
public Date getRuleCrtTime() {
public Timestamp getRuleCrtTime() {
return ruleCrtTime;
}
public void setRuleCrtTime(Date ruleCrtTime) {
public void setRuleCrtTime(Timestamp ruleCrtTime) {
this.ruleCrtTime = ruleCrtTime;
}
public Date getRuleUpdateTime() {
public Timestamp getRuleUpdateTime() {
return ruleUpdateTime;
}
public void setRuleUpdateTime(Date ruleUpdateTime) {
public void setRuleUpdateTime(Timestamp ruleUpdateTime) {
this.ruleUpdateTime = ruleUpdateTime;
}
public String getRuleValidFlag() {
......@@ -117,4 +117,22 @@ public class QualityRule {
this.ifSystemValue = ifSystemValue;
}
@Override
public String toString() {
return "QualityRule{" +
"qualityRuleId=" + qualityRuleId +
", businessId=" + businessId +
", kpiId=" + kpiId +
", channelId=" + channelId +
", provinceId=" + provinceId +
", dataSourceId=" + dataSourceId +
", kpiMonitorTime='" + kpiMonitorTime + '\'' +
", kpiMonitorRunTime='" + kpiMonitorRunTime + '\'' +
", businessTime=" + businessTime +
", ruleCrtTime=" + ruleCrtTime +
", ruleUpdateTime=" + ruleUpdateTime +
", ruleValidFlag='" + ruleValidFlag + '\'' +
", ifSystemValue='" + ifSystemValue + '\'' +
'}';
}
}
......@@ -21,8 +21,6 @@ import com.hp.cmsz.entity.QualityRule;
public interface QualityRuleDao extends JpaSpecificationExecutor<QualityRule>,
PagingAndSortingRepository<QualityRule, Long>{
//根据质量规则ID查找质量规则
QualityRule findByQualityRuleId(Long qualityRuleId);
......@@ -37,13 +35,12 @@ public interface QualityRuleDao extends JpaSpecificationExecutor<QualityRule>,
//根据质量规则ID修改质量规则
@Modifying
@Query("update from QualityRule qr set qr.businessId=:businessId, qr.kpiId=:kpiId, qr.channelId=:channelId, qr.provinceId=:provinceId, qr.dataSourceId=:dataSourceId, qr.kpiMonitorTime=:kpiMonitorTime, qr.kpiMonitorRunTime=:kpiMonitorRunTime, qr.businessTime=:businessTime, qr.ruleCrtTime=:ruleCrtTime, qr.ruleUpdateTime=:ruleUpdateTime where qr.qualityRuleId=:qualityRuleId")
void updateQualityRuleByQualityRuleId(@Param("businessId")Long businessId,@Param("kpiId")Long kpiId,@Param("channelId")Long channelId,@Param("provinceId")Long provinceId,@Param("dataSourceId")Long dataSourceId,@Param("kpiMonitorTime")String kpiMonitorTime,@Param("kpiMonitorRunTime")String kpiMonitorRunTime,@Param("businessTime")String businessTime,@Param("ruleCrtTime")Date ruleCrtTime,@Param("ruleUpdateTime")Date ruleUpdateTime,@Param("qualityRuleId")Long qualityRuleId);
void updateQualityRuleByQualityRuleId(@Param("businessId")Long businessId,@Param("kpiId")Long kpiId,@Param("channelId")Long channelId,@Param("provinceId")Long provinceId,@Param("dataSourceId")Long dataSourceId,@Param("kpiMonitorTime")String kpiMonitorTime,@Param("kpiMonitorRunTime")Timestamp kpiMonitorRunTime,@Param("businessTime")Timestamp businessTime,@Param("ruleCrtTime")Timestamp ruleCrtTime,@Param("ruleUpdateTime")Timestamp ruleUpdateTime,@Param("qualityRuleId")Long qualityRuleId);
//根据质量规则ID得到数据条数
@Query("select count(*) from QualityRule qualityRule where qualityRule.qualityRuleId=:qualityRuleId")
Long getNumOfQualityRuleByQualityRuleId(@Param("qualityRuleId")String qualityRuleId);
//根据省份、渠道、业务、数据来源筛选查询质量规则
List<QualityRule> findByProvinceIdInAndBusinessIdInAndDataSourceIdInAndChannelIdInOrderByQualityRuleIdDesc(Long[] province, Long[] business, Long[] datasource, Long[] channel);
}
package com.hp.cmsz.service.analysissupport;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import com.hp.cmsz.repository.QualityRuleDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.hp.cmsz.entity.QualityRule;
import com.hp.cmsz.repository.QualityRuleDao;
import java.sql.Timestamp;
import java.util.List;
/**
*
*
* @author Liu Na
*
*/
......@@ -20,24 +17,18 @@ import com.hp.cmsz.repository.QualityRuleDao;
@Transactional
public class QualityRuleService {
@Autowired
private QualityRuleDao qualityRuleDao;
//根据筛选条件查询出质量规则
public List<QualityRule> getAllQualityRuleByOther(Long[] province,Long[] datasource,Long[] channel,Long[] business){
return qualityRuleDao.findByProvinceIdInAndBusinessIdInAndDataSourceIdInAndChannelIdInOrderByQualityRuleIdDesc(province, business, datasource, channel);
}
//根据质量规则ID删除质量规则
@Transactional(readOnly=false)
public void deleteByQualityRuleId(List<Long> qualityRuleId){
qualityRuleDao.deleteQualityRuleByQualityRuleId(qualityRuleId);
}
//根据质量规则ID修改质量规则
@Transactional(readOnly=false)
public void updateByQualityRuleId(Long businessId, Long kpiId, Long channelId, Long provinceId, Long dataSourceId, String kpiMonitorTime,String kpiMonitorRunTime,String businessTime,Date ruleCrtTime,Date ruleUpdateTime,Long qualityRuleId){
qualityRuleDao.updateQualityRuleByQualityRuleId(businessId, kpiId, channelId, provinceId, dataSourceId, kpiMonitorTime, kpiMonitorRunTime, businessTime, ruleCrtTime, ruleUpdateTime, qualityRuleId);
}
@Autowired
private QualityRuleDao qualityRuleDao;
//根据质量规则ID删除质量规则
@Transactional(readOnly=false)
public void deleteByQualityRuleId(List<Long> qualityRuleId){
qualityRuleDao.deleteQualityRuleByQualityRuleId(qualityRuleId);
}
//根据质量规则ID修改质量规则
@Transactional(readOnly=false)
public void updateByQualityRuleId(Long businessId,Long kpiId,Long channelId,Long provinceId,Long dataSourceId,String kpiMonitorTime,Timestamp kpiMonitorRunTime,Timestamp businessTime,Timestamp ruleCrtTime,Timestamp ruleUpdateTime,Long qualityRuleId){
qualityRuleDao.updateQualityRuleByQualityRuleId(businessId,kpiId,channelId,provinceId,dataSourceId,kpiMonitorTime,kpiMonitorRunTime,businessTime,ruleCrtTime,ruleUpdateTime,qualityRuleId);
}
}
......@@ -192,6 +192,7 @@ public class PageURLController {
public static String FilterResult = "AnalysisSupport/FilterRuleResult";
public static String FilterMaintain = "AnalysisSupport/FilterRuleMaintain";
public static String FilterConfiguration = "AnalysisSupport/FilterRuleConfiguration";
public static String RuleOperation = "AnalysisSupport/QualityRuleOperation";
//基础管理
//AuthorityManage映射到WEB-INF/views下的AuthorityManage/AuthorityManage.jsp页面
......
......@@ -13,17 +13,12 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hp.cmsz.service.analysissupport.QualityRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import com.google.gson.Gson;
import com.hp.cmsz.entity.Business;
import com.hp.cmsz.entity.Channel;
import com.hp.cmsz.entity.DataSource;
import com.hp.cmsz.entity.DataType;
......@@ -42,8 +37,6 @@ import com.hp.cmsz.repository.ProvinceDao;
import com.hp.cmsz.repository.QualityRuleDao;
import com.hp.cmsz.service.BusinessService;
import com.hp.cmsz.service.CmszOperationLogService;
import com.hp.cmsz.service.KpiService;
import com.hp.cmsz.service.analysissupport.QualityRuleService;
import com.hp.cmsz.web.PageURLController;
/**
......@@ -239,27 +232,35 @@ public class QualityRuleMaintainController {
Long qualityRuleId = accuracyRule.getAccuracyRuleId();
qualityRuleIdList.add(qualityRuleId);
}
//新增质量模型
@RequestMapping(value = "/saveRuleDataForm", method = RequestMethod.POST)
public String saveRuleDataForm(
// @RequestParam(value="channel") String channel,
// @RequestParam(value="dataSource") String dataSourceId,
// @RequestParam(value="kpiMonitorTime") String kpiMonitorTime,
// @RequestParam(value="businessTime") String businessTime,
// @RequestParam(value="ruleCrtTime") String ruleCrtTime,
// @RequestParam(value="ruleUpdateTime") String ruleUpdateTime,
HttpServletResponse response,HttpServletRequest request) throws ParseException{
System.out.println("123456");
// String provinceId = request.getParameter("province");
// String businessId = request.getParameter("businessinput");
// String channelId =request.getParameter("channel");
// String province = request.getParameter("province");
// String businessValue = request.getParameter("businessinput");
String channel =request.getParameter("channel");
// String dataSourceId =request.getParameter("dataSource");
// String kpiId = request.getParameter("kpiinput");
// String kpiMonitorTime="";
// String businessTime="";
// String ruleCrtTime="";
// String ruleUpdateTime="";
//
// SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// QualityRule qualityRule = new QualityRule();
// String kpiValue = request.getParameter("kpiinput");
// String kpiMonitorTime=request.getParameter("kpiMonitorTime");
// String businessTime=request.getParameter("businessTime");
// String ruleCrtTime=request.getParameter("ruleCrtTime");
// String ruleUpdateTime=request.getParameter("ruleUpdateTime");
// String provinceId = "";
// String businessId = "";
// String kpiId = "";
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
QualityRule qualityRule = new QualityRule();
// List<Long> provinceIdList = new ArrayList<Long>();
// for(int i=0;i<provinceValue.split(",").length;i++){
// provinceIdList.add(Long.parseLong(provinceValue.split(",")[i]));
// for(int i=0;i<province.split(",").length;i++){
// provinceIdList.add(Long.parseLong(province.split(",")[i]));
// }
// List<Long> businessIdList = new ArrayList<Long>();
// for(int i=0;i<businessValue.split(",").length;i++){
......@@ -273,28 +274,39 @@ public class QualityRuleMaintainController {
// for(int j=0; j<provinceIdList.size(); j++) {
// for(int k=0; k<businessIdList.size(); k++){
// for(int l=0; l<kpiIdList.size(); l++){
// provinceId = provinceIdList.get(j);
// businessId = businessIdList.get(k);
// kpiId = kpiIdList.get(l);
// if(!provinceId.equals("")){qualityRule.setProvinceId(provinceId);}
// if(!businessId.equals("")){qualityRule.setBusinessId(businessId);}
// if(!kpiId.equals("")){qualityRule.setKpiId(kpiId);}
// if(!channelId.trim().equals("")){qualityRule.setChannelId(Long.parseLong(channelId));}
// if(!dataSourceId.trim().equals("")){qualityRule.setDataSourceId(Long.parseLong(dataSourceId));}
// if(!kpiMonitorTime.trim().equals("")){qualityRule.setKpiMonitorTime(kpiMonitorTime);}
// qualityRule.setKpiMonitorRunTime(kpiMonitorTime+businessTime);
// if(!businessTime.trim().equals("")){qualityRule.setBusinessTime(businessTime);}
// qualityRule.setRuleCrtTime(sd.parse(ruleCrtTime));
// qualityRule.setRuleUpdateTime(sd.parse(ruleUpdateTime));
// qualityRule.setRuleValidFlag("0");
// qualityRule.setIfSystemValue("0");
// qualityRuleDao.save(qualityRule);
// provinceId = String.valueOf(provinceIdList.get(j));
// businessId = String.valueOf(businessIdList.get(k));
// kpiId = String.valueOf(kpiIdList.get(l));
// if(!provinceId.trim().equals("")){qualityRule.setProvinceId(Long.parseLong(provinceId));}
// if(!businessId.trim().equals("")){qualityRule.setBusinessId(Long.parseLong(businessId));}
// if(!kpiId.trim().equals("")){qualityRule.setKpiId(Long.parseLong(kpiId));}
qualityRule.setProvinceId(Long.parseLong("1"));
qualityRule.setBusinessId(Long.parseLong("1490"));
qualityRule.setKpiId(Long.parseLong("2411"));
if(!channel.trim().equals("")){
qualityRule.setChannelId(Long.parseLong(channel));
}
//if(!dataSourceId.trim().equals("")){
qualityRule.setDataSourceId(Long.parseLong("7"));
//}
//if(!kpiMonitorTime.trim().equals("")){
qualityRule.setKpiMonitorTime("4");
//}
qualityRule.setKpiMonitorRunTime(Timestamp.valueOf(sd.format(new Date())));
//if(!businessTime.trim().equals("")){
qualityRule.setBusinessTime(Timestamp.valueOf(sd.format(new Date())));
//}
qualityRule.setRuleCrtTime(Timestamp.valueOf(sd.format(new Date())));
qualityRule.setRuleUpdateTime(Timestamp.valueOf(sd.format(new Date())));
qualityRule.setRuleValidFlag("0");
qualityRule.setIfSystemValue("0");
System.out.println("qualityRule"+qualityRule);
qualityRuleDao.save(qualityRule);
// }
// }
// }
//
// cmszOperationLogService.createLog("增加","新建质量模型","quality_rule_warehouse_info_t. QUALITY_RULE_ID="+ qualityRule.getQualityRuleId().toString());
// Long qualityRuleId = qualityRule.getQualityRuleId();
cmszOperationLogService.createLog("增加","新建质量模型","quality_rule_warehouse_info_t. QUALITY_RULE_ID="+ qualityRule.getQualityRuleId().toString());
Long qualityRuleId = qualityRule.getQualityRuleId();
return "redirect:AnalysisSupport/QualityRuleResult";
}
......
......@@ -9,6 +9,10 @@ import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.hp.cmsz.entity.*;
import com.hp.cmsz.repository.*;
import com.hp.cmsz.service.analysissupport.QualityRuleService;
import com.hp.cmsz.service.analysissupport.QualityRuleViewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -17,22 +21,10 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson;
import com.hp.cmsz.entity.AccuracyRule;
import com.hp.cmsz.entity.Channel;
import com.hp.cmsz.entity.DataSource;
import com.hp.cmsz.entity.Kpi;
import com.hp.cmsz.entity.Province;
import com.hp.cmsz.entity.QualityRule;
import com.hp.cmsz.repository.AccuracyRuleDao;
import com.hp.cmsz.repository.DataSourceDao;
import com.hp.cmsz.repository.KpiDao;
import com.hp.cmsz.repository.ProvinceDao;
import com.hp.cmsz.repository.QualityRuleDao;
import com.hp.cmsz.service.BusinessService;
import com.hp.cmsz.service.ChannelService;
import com.hp.cmsz.service.CmszOperationLogService;
import com.hp.cmsz.service.analysissupport.AccuracyRuleService;
import com.hp.cmsz.service.analysissupport.QualityRuleService;
import com.hp.cmsz.web.PageURLController;
/**
......@@ -60,13 +52,19 @@ public class QualityRuleResultController {
@Autowired
private DataSourceDao dataSourceDao;
@Autowired
private QualityRuleDao qualityRuleDao;
@Autowired
private QualityRuleService qualityRuleService;
@Autowired
private QualityRuleViewDao qualityRuleViewDao;
@Autowired
private QualityRuleViewService qualityRuleViewService;
@Autowired
private AccuracyRuleService accuracyRuleService;
......@@ -82,7 +80,7 @@ public class QualityRuleResultController {
public String ruleResultHome(
@RequestParam(value = "rulePageNum", defaultValue="1") String rulePageNum,
Map model){
//查询出所有省份的信息
List<Province> provinceList=(List<Province>)provinceDao.findAll();
//查询出所有的渠道信息
......@@ -93,10 +91,10 @@ public class QualityRuleResultController {
//查询出所有的业务
List<String> businessList=businessService.getAllBusinessIdAndBusinessName();
//查询出所有的数据来源信息
List<DataSource> datasourceList=(List<DataSource>)dataSourceDao.findDataSource();
//查询出所有质量规则
List<QualityRule> qualityRuleViewList=(List<QualityRule>)qualityRuleDao.findAll();
List<DataSource> datasourceList=dataSourceDao.findDataSource();
//查询出所有质量规则
List<QualityRuleView> qualityRuleViewList= (List<QualityRuleView>) qualityRuleViewDao.findAll();
Gson gson = new Gson();
model.put("provinceList", provinceList);
model.put("channelList", channelList);
......@@ -114,61 +112,46 @@ public class QualityRuleResultController {
@RequestMapping(value = "/ruleTableChange*",method = RequestMethod.GET)
@ResponseBody
public void modelTableChange(
@RequestParam(value = "province", defaultValue="") String province,
@RequestParam(value = "channel", defaultValue="") String channel,
@RequestParam(value = "datasource", defaultValue="") String datasource,
@RequestParam(value = "business", defaultValue="") String business,
@RequestParam(value = "dataSource") String dataSource,// 数据来源
@RequestParam(value = "chnnal") String chnnal,//渠道
@RequestParam(value = "bussines") String bussines,//业务
@RequestParam(value = "province") String province,//省份
HttpServletResponse response) throws UnsupportedEncodingException{
cmszOperationLogService.createLog("查询","质量规则","由筛选项得到质量规则");
List<QualityRule> qualityRuleS;
//将String型转换成List
String[] channels=channel.split(",");
int size1=channels.length;
Long[] channelS=new Long[size1];
for(int i=0;i<channels.length;i++)
{
channelS[i]=Long.parseLong(channels[i]);
}
//将String型转换成List
String[] dataSources=datasource.split(",");
int size2=dataSources.length;
Long[] dataSourceS=new Long[size2];
for(int i=0;i<dataSources.length;i++)
{
dataSourceS[i]=Long.parseLong(dataSources[i]);
}
//将String型转换成List
String[] businesss=business.split(",");
int size3=dataSources.length;
Long[] businessS=new Long[size3];
for(int i=0;i<businesss.length;i++)
{
businessS[i]=Long.parseLong(businesss[i]);
}
//将String型转换成List
String[] provinces=province.split(",");
int size4=dataSources.length;
Long[] provinceS=new Long[size4];
for(int i=0;i<provinces.length;i++)
{
provinceS[i]=Long.parseLong(provinces[i]);
}
qualityRuleS=qualityRuleService.getAllQualityRuleByOther(provinceS, dataSourceS, channelS, businessS);
List<QualityRuleView> qualityRuleViewList;
String[] dataSourceS=dataSource.split(",");
String[] chnnalS=chnnal.split(",");
String[] bussinesS =bussines.split(",");
String[] provinceS=province.split(",");
List<Long> dataSourceList=changeStrToList(dataSourceS);
List<Long> chnnalList=changeStrToList(chnnalS);
List<Long> bussinesList=changeStrToList(bussinesS);
List<Long> provinceList=changeStrToList(provinceS);
qualityRuleViewList = qualityRuleViewService.getQualityRuleViewBy(dataSourceList,chnnalList,bussinesList,provinceList);
Gson gson = new Gson();
response.setContentType("text/Xml;charset=gbk");
PrintWriter out = null;
try {
out = response.getWriter();
out.println(gson.toJson(qualityRuleS));
out.println(gson.toJson(qualityRuleViewList));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//将string数据类型转换成List<Long>类型
public List<Long> changeStrToList(String[] str){
List<Long> list = new ArrayList<Long>();
for(int i=0;i<str.length;i++){
list.add(Long.parseLong(str[i]));
}
return list;
}
//删掉质量规则
@RequestMapping(value = "/deleteOneRule*",method = RequestMethod.GET)
......
......@@ -272,9 +272,9 @@
<li class="dropdown-submenu">
<a href="#">数据质量核查</a>
<ul class="dropdown-menu">
<li><a href="${ctx}/AnalysisSupport/QualityRuleResult">质量规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/QualityRuleResult">数据质量规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/QualityRuleOperation">数据质量运营</a></li>
<li><a href="${ctx}/AnalysisSupport/FilterRuleResult">过滤规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/">质量规则运营</a></li>
</ul>
</li>
</shiro:hasPermission>
......
......@@ -25,9 +25,9 @@
<div id="content" class="container">
<div class="tab-bar-bt">
<ul class="nav nav-tabs">
<li><a href="${ctx}/AnalysisSupport/QualityRuleResult">质量规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/QualityRuleResult">数据质量规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/QualityRuleOperation">数据质量运营</a></li>
<li class="active"><a href="#home" data-toggle="tab">过滤规则维护</a></li>
<li><a href="${ctx}/">质量规则运营</a></li>
</ul>
</div>
<div class="section">
......
......@@ -112,10 +112,15 @@
<input type='text' class='form-control' id='businessTime' name='businessTime' onfocus='WdatePicker({dateFmt:"yyyy-MM-dd HH:mm:00",readOnly:false,hmsMenuCfg : {H : [ 1, 6 ], m : [ 30, 2 ], s : [ 60, 0 ]}})'/>
</td>
</tr>
<tr><td>规则创建时间(<font color="red">必填</font>):</td><td><input type="text" class="form-control" id="ruleCrtTime" name="ruleCrtTime" onfocus="WdatePicker({minDate:'#F{$dp.$D(\'ruleCrtTime\')}'})" /></td></tr>
<tr><td>规则更新时间(<font color="red">必填</font>):</td><td><input id="ruleUpdateTime" name="ruleUpdateTime" class="form-control" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'ruleUpdateTime\')}'})"> </td></tr>
<tr><td>准确性规则:</td>
<td><select class="form-control" name="ruleType" id="ruleType" >
<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>
......@@ -127,8 +132,10 @@
<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><input type='text' name='ifRepeatedCheckSeries' id='ifRepeatedCheckSeries' class="form-control" style="display: inline;"/></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><input type='text' name='ifRepeatedCheckSummation' id='ifRepeatedCheckSummation' class="form-control" style="display: inline;"/></td></tr>
<tr><td></td><td><button type="button" id="ruleSubmit" class="btn btn-primary">确定</button>
<tr class="repeate"><td>数据是否累计:</td><td><input type='text' name='ifRepeatedCheckSummation' id='ifRepeatedCheckSummation' class="form-control" style="display: inline;"/></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>
......@@ -146,20 +153,23 @@
<script type="text/javascript">
$(".range").hide();
$(".repeate").hide();
$("#addParam").hide();
$("#ruleType").change(function (){
var selectValue = $("#ruleType").val();
console.log(selectValue);
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();
}
})
......
......@@ -8,7 +8,7 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>质量规则维护</title>
<title>全网监控智能分析平台</title>
</head>
<body>
<div>
......@@ -25,9 +25,9 @@
<div id="content" class="container">
<div class="tab-bar-bt">
<ul class="nav nav-tabs">
<li class="active"><a href="#home" data-toggle="tab">质量规则维护</a></li>
<li class="active"><a href="#home" data-toggle="tab">数据质量规则维护</a></li>
<li><a href="${ctx}/AnalysisSupport/QualityRuleOperation">数据质量运营</a></li>
<li><a href="${ctx}/AnalysisSupport/FilterRuleResult">过滤规则维护</a></li>
<li><a href="${ctx}/">质量规则运营</a></li>
</ul>
</div>
<div class="section">
......@@ -57,7 +57,10 @@
<span class="glyphicon glyphicon-list"></span>
</button>
<div class="slide-menu-tags">
<span id="ChannelTag" class="label label-info" data-placement="bottom" ></span>
<span id="ProvinceTag" class="label label-info" data-placement="bottom" ></span>
<span id="DataSourceTag" class="label label-info" data-placement="bottom" ></span>
<span id="BusinessTag" class="label label-info" data-placement="bottom" ></span>
</div>
</div>
......@@ -187,7 +190,8 @@ $("#createRule").click(function(){
}
});
}
}
function ruleResultReset(){
ProvinceReset();
statsDataSourceReset();//三级联动重置
......@@ -208,7 +212,6 @@ $("#createRule").click(function(){
});
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -128,19 +128,21 @@ function ruleResultDetailTable(){
header[0] = ["","<input type='radio' name='update'id='update' onclick='javascript:radioChoose(this);'/>","1%",""];
header[1] = ["质量规则ID","qualityRuleId","7%","15"];
header[2] = ["数据来源","dataSourceId","7%","15"];
header[3] = ["渠道","channelId","7%","15"];
header[4] = ["业务","businessId","7%","15"];
header[5] = ["指标名称","kpiId","7%","15"];
header[6] = ["指标编码","kpiCode","7%","15"];
header[7] = ["数据类型","dataSourceId","7%","15"];
header[8] = ["数据采集频率","calCycle","7%","15"];
header[9] = ["指标监控时间","kpiMonitorTime","7%","15"];
header[10] = ["指标采集时间","businessTime","7%","15"];
header[11] = ["准确性规则","accuracyRuleId","7%","15"];
header[2] = ["省份","provinceName","7%","15"];
header[3] = ["数据来源","dataSourceName","7%","15"];
header[4] = ["渠道","channelName","7%","15"];
header[5] = ["业务","businessName","7%","15"];
header[6] = ["指标名称","kpiName","7%","15"];
header[7] = ["指标编码","kpiCode","7%","15"];
header[8] = ["数据类型","kpiTypeName","7%","15"];
header[9] = ["数据采集频率","calCycle","7%","15"];
header[10] = ["指标监控范围","kpiMonitorTime","7%","15"];
header[11] = ["指标采集时间","businessTime","7%","15"];
header[12] = ["准确性规则","accuracyRuleId","7%","15"];
window.pagging = new table_pagging({limit:12,tableId:'ruleResultTable',header:header});
pagging.pagging(jsonData);
}
......@@ -299,19 +301,19 @@ table_pagging.prototype = {
tdContext = "&nbsp;";
}
if(k==9){
if(k==10){
if(tdContext!="&nbsp;"){
tdContext = df.format(new Date(tdContext));
}
}
if(k==10){
if(k==11){
if(tdContext!="&nbsp;"){
tdContext = df.format(new Date(tdContext));
}
}
if(k==11){
if(k==12){
tdContext = "<a href='javascript:;' onclick='selectRule(\""+this.getData(this.objectlist[i],"qualityRuleId")+"\")'>查看规则</a>";
}
......@@ -333,7 +335,7 @@ table_pagging.prototype = {
}
console.log(tdContext);
td.innerHTML = tdContext;
// alert(tdContext+"----i:"+i+",j:"+j+",k:"+k);
......@@ -532,7 +534,7 @@ function selectRule(qualityRuleId){
$.dialog({
title:"准确性规则",
content:"<div id='ruleList'>"+
"<div class='col-xs-12'><div class='panel panel-default'><div class='panel-heading'>规则参数列表</div><div class='panel-body'> <table class='table table-hover table-striped'> <thead> <tr> <th width='10%'>规则类型</th> <th width='15%'>范围最大值</th> <th width='15%'>范围最小值</th> <th width='15%'>重复考核粒度</th> <th width='15%'>重复考核开始时间</th> <th width='15%'>重复考核结束时间</th> <th width='15%'>重复是否连续</th> <th width='15%'>重复最大次数</th> <th width='15%'>数据是否累计</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div>"+
"<div class='col-xs-12'><div class='panel panel-default'><div class='panel-heading'>规则参数列表</div><div class='panel-body'> <table class='table table-hover table-striped'> <thead> <tr> <th width=''>规则类型</th> <th width=''>范围最大值</th> <th width=''>范围最小值</th> <th width=''>重复考核粒度</th> <th width=''>重复考核开始时间</th> <th width=''>重复考核结束时间</th> <th width=''>重复是否连续</th> <th width=''>重复最大次数</th> <th width=''>数据是否累计</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div>"+
"</div>",
lock:true,
width:800,
......@@ -554,16 +556,46 @@ function selectRule(qualityRuleId){
if (data != null && data != "") {
var ruleTbody = $('#ruleList tbody');
for (var i = 0; i < data.length; i++) {
if(data[i].ifRepeatedCheckSeries == "0"){
data[i].ifRepeatedCheckSeries = "否";
} else if(data[i].ifRepeatedCheckSeries =="1") {
data[i].ifRepeatedCheckSeries ="是";
}
if(data[i].ifRepeatedCheckSummation == "0"){
data[i].ifRepeatedCheckSummation = "否";
} else if(data[i].ifRepeatedCheckSummation =="1"){
data[i].ifRepeatedCheckSummation ="是";
}
if(data[i].repeatedCheckStartTime != null){
data[i].repeatedCheckStartTime = df.format(new Date(data[i].repeatedCheckStartTime));
}
if(data[i].repeatedCheckEndTime != null){
data[i].repeatedCheckEndTime = df.format(new Date(data[i].repeatedCheckEndTime));
}
if(data[i].scopeMaxValue != null){
data[i].scopeMaxValue =parseFloat(data[i].scopeMaxValue);
}
if(data[i].scopeMinValue != null){
data[i].scopeMinValue =parseFloat(data[i].scopeMinValue);
}
if(data[i].repeatedCheckGranularity =="day"){
data[i].repeatedCheckGranularity ="日";
}else if(data[i].repeatedCheckGranularity =="mon"){
data[i].repeatedCheckGranularity ="月";
}
ruleTbody.append($("<tr></tr>").append("<td>" + data[i].ruleType + "</td>")
.append("<td>" + (data[i].scopeMaxValue == null ? "" : data[i].scopeMaxValue) + "</td>")
.append("<td>" + (data[i].scopeMinValue == null ? "" : data[i].scopeMinValue) + "</td>")
.append("<td>" + (data[i].repeatedCheckGranularity == null ? "" : data[i].repeatedCheckGranularity) + "</td>")
.append("<td>" + (data[i].repeatedCheckStartTime == null ? "" : data[i].repeatedCheckStartTime) + "</td>")
.append("<td>" + (data[i].repeatedCheckEndTime == null ? "" : data[i].repeatedCheckEndTime) + "</td>")
.append("<td>" + (data[i].ifRepeatedCheckSeries == null ? "" : data[i].ifRepeatedCheckSeries) + "</td>")
.append("<td>" + (data[i].repeatedCheckMaxTime == null ? "" : data[i].repeatedCheckMaxTime) + "</td>")
.append("<td>" + (data[i].ifRepeatedCheckSummation == null ? "" : data[i].ifRepeatedCheckSummation) + "</td>"));
.append("<td>" + (data[i].scopeMaxValue == null ? "" : data[i].scopeMaxValue) + "</td>")
.append("<td>" + (data[i].scopeMinValue == null ? "" : data[i].scopeMinValue) + "</td>")
.append("<td>" + (data[i].repeatedCheckGranularity == null ? "" : data[i].repeatedCheckGranularity) + "</td>")
.append("<td>" + (data[i].repeatedCheckStartTime == null ? "" : data[i].repeatedCheckStartTime) + "</td>")
.append("<td>" + (data[i].repeatedCheckEndTime == null ? "" : data[i].repeatedCheckEndTime) + "</td>")
.append("<td>" + (data[i].ifRepeatedCheckSeries == null ? "" : data[i].ifRepeatedCheckSeries) + "</td>")
.append("<td>" + (data[i].repeatedCheckMaxTime == null ? "" : data[i].repeatedCheckMaxTime) + "</td>")
.append("<td>" + (data[i].ifRepeatedCheckSummation == null ? "" : data[i].ifRepeatedCheckSummation) + "</td>"));
}
}
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment