Commit 50f4355d authored by 莫林毅's avatar 莫林毅

Merge remote-tracking branch 'origin/master' into moly

parents 1ad6ab05 009b18e1
......@@ -12,7 +12,7 @@ local.ip.prefix=192.168
#jdbc.driver=com.vertica.jdbc.Driver
#vertica database ip address
jdbc.dbip=192.168.113.117
jdbc.dbip=hg-computer
jdbc.dbport=5433
......
//package com.hp.cmsz.entity;
//
//import javax.persistence.Entity;
//import javax.persistence.Table;
//
//@Entity
//@Table(name="etl.APP_EWARNING_DETAIL_T")
//public class APPEWarningDetail {
// private Long EwarningDetailId;
//// private Long EwarningDetailId;
//
//
//
//}
......@@ -38,7 +38,7 @@ public class AccuracyRule implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="AccuracyRuleSequence")
@SequenceGenerator(name = "AccuracyRuleSequence", sequenceName = "accuracy_rule_info_t_seq", allocationSize=1)
@SequenceGenerator(name = "AccuracyRuleSequence", sequenceName = "ccolap.accuracy_rule_seq", allocationSize=1)
public Long getAccuracyRuleId() {
return accuracyRuleId;
......
......@@ -17,7 +17,7 @@ import javax.persistence.Table;
*
*/
@Entity
@Table(name = "dim_business_info_t")
@Table(name = "dim_business_info_t",schema="ccolap")
public class Business implements Serializable{
private Long businessId ;//业务ID
......
package com.hp.cmsz.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
* dim_kpi_t表对应的实体类
*
* @author Ma Wenmeng
*
*/
@Entity
@Table(name = "etl.dim_kpi_t")
public class DimKpi implements Serializable{
/**
*
*/
private Long kpiId;
private String code;
private String name;
private Long busnameId;
private Date crtTime;
private String crtUser;
private String currentVersion;
private Date invalidTime;
private Long origKpiId;
private Long kpiTypeId;
private String bacType;
private String isActive;
private Long kpiCycleTypeId;
private String calCycle;
private String ifPercentageKpi;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DimKpiSequence")
@SequenceGenerator(name = "DimKpiSequence", sequenceName = "dim_kpi_seq", allocationSize=1)
public Long getKpiId() {
return kpiId;
}
public void setKpiId(Long kpiId) {
this.kpiId = kpiId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getBusnameId() {
return busnameId;
}
public void setBusnameId(Long busnameId) {
this.busnameId = busnameId;
}
public Date getCrtTime() {
return crtTime;
}
public void setCrtTime(Date crtTime) {
this.crtTime = crtTime;
}
public String getCrtUser() {
return crtUser;
}
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
public String getCurrentVersion() {
return currentVersion;
}
public void setCurrentVersion(String currentVersion) {
this.currentVersion = currentVersion;
}
public Date getInvalidTime() {
return invalidTime;
}
public void setInvalidTime(Date invalidTime) {
this.invalidTime = invalidTime;
}
public Long getOrigKpiId() {
return origKpiId;
}
public void setOrigKpiId(Long origKpiId) {
this.origKpiId = origKpiId;
}
public Long getKpiTypeId() {
return kpiTypeId;
}
public void setKpiTypeId(Long kpiTypeId) {
this.kpiTypeId = kpiTypeId;
}
public String getBacType() {
return bacType;
}
public void setBacType(String bacType) {
this.bacType = bacType;
}
public String getIsActive() {
return isActive;
}
public void setIsActive(String isActive) {
this.isActive = isActive;
}
public Long getKpiCycleTypeId() {
return kpiCycleTypeId;
}
public void setKpiCycleTypeId(Long kpiCycleTypeId) {
this.kpiCycleTypeId = kpiCycleTypeId;
}
public String getCalCycle() {
return calCycle;
}
public void setCalCycle(String calCycle) {
this.calCycle = calCycle;
}
public String getIfPercentageKpi() {
return ifPercentageKpi;
}
public void setIfPercentageKpi(String ifPercentageKpi) {
this.ifPercentageKpi = ifPercentageKpi;
}
}
......@@ -60,7 +60,6 @@ public class InsideXcdWorkingOrderInfo {
@Id
@GeneratedValue(strategy= GenerationType.SEQUENCE, generator="XcdWorkingOrderInfoSequence")
@SequenceGenerator(name = "XcdWorkingOrderInfoSequence", sequenceName = "seq_inner_Working_Order_id", allocationSize=1)
public Long getInnerWorkingOrderId() {
return innerWorkingOrderId;
}
......
......@@ -25,6 +25,8 @@ public class ModelParameter implements Serializable{
private String parameterValue;//参数值
private String parameterDataType;//参数数据类型
private Long dataModelId;//数据模型ID
private Long taskId;//任务表ID
private Long ifSystemDefault;//是否系统默认
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="ModelParameterSequence")
......@@ -59,7 +61,16 @@ public class ModelParameter implements Serializable{
public void setDataModelId(Long dataModelId) {
this.dataModelId = dataModelId;
}
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public Long getIfSystemDefault() {
return ifSystemDefault;
}
public void setIfSystemDefault(Long ifSystemDefault) {
this.ifSystemDefault = ifSystemDefault;
}
}
package com.hp.cmsz.entity;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
/**
* quality_rule_warehouse_info_t表对应的实体类
......@@ -14,27 +17,27 @@ import javax.persistence.SequenceGenerator;
* @author Liu Na
*
*/
public class QualityRule implements Serializable {
@Entity
@Table(name = "quality_rule_warehouse_info_t")
public class QualityRule {
private Long qualityRuleId;//质量规则ID
private Long businessId;//业务ID
private Long kpiId;//指标ID
private Long channelId;//渠道ID
private Long provinceId;//省份维表ID
private Long taskId;//任务ID
private Long dataSourceId;//数据来源ID
private String kpiMonitorTime;//指标检测时间
private String kpiMonitorRange;//指标检查范围
private double integrityThresholdValue;//完整性阈值
private Long timelinessThresholdValue;//及时性阈值
private String kpiMonitorRunTime;
private String businessTime;//指标业务时间
private Date ruleCrtTime;//规则创建时间
private Date ruleUpdateTime;//规则更新时间
private String rileValidFlag;//规则是否有效
private String ruleValidFlag;//规则是否有效
private String ifSystemValue;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="QualityRuleSequence")
@SequenceGenerator(name = "QualityRuleSequence", sequenceName = "quality_rule_warehouse_info_t_seq", allocationSize=1)
@SequenceGenerator(name = "QualityRuleSequence", sequenceName = "ccolap.quality_rule_deq", allocationSize=1)
public Long getQualityRuleId() {
return qualityRuleId;
}
......@@ -65,12 +68,6 @@ public class QualityRule implements Serializable {
public void setProvinceId(Long provinceId) {
this.provinceId = provinceId;
}
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public Long getDataSourceId() {
return dataSourceId;
}
......@@ -83,23 +80,17 @@ public class QualityRule implements Serializable {
public void setKpiMonitorTime(String kpiMonitorTime) {
this.kpiMonitorTime = kpiMonitorTime;
}
public String getKpiMonitorRange() {
return kpiMonitorRange;
}
public void setKpiMonitorRange(String kpiMonitorRange) {
this.kpiMonitorRange = kpiMonitorRange;
}
public double getIntegrityThresholdValue() {
return integrityThresholdValue;
public String getKpiMonitorRunTime() {
return kpiMonitorRunTime;
}
public void setIntegrityThresholdValue(double integrityThresholdValue) {
this.integrityThresholdValue = integrityThresholdValue;
public void setKpiMonitorRunTime(String kpiMonitorRunTime) {
this.kpiMonitorRunTime = kpiMonitorRunTime;
}
public Long getTimelinessThresholdValue() {
return timelinessThresholdValue;
public String getBusinessTime() {
return businessTime;
}
public void setTimelinessThresholdValue(Long timelinessThresholdValue) {
this.timelinessThresholdValue = timelinessThresholdValue;
public void setBusinessTime(String businessTime) {
this.businessTime = businessTime;
}
public Date getRuleCrtTime() {
return ruleCrtTime;
......@@ -113,13 +104,17 @@ public class QualityRule implements Serializable {
public void setRuleUpdateTime(Date ruleUpdateTime) {
this.ruleUpdateTime = ruleUpdateTime;
}
public String getRileValidFlag() {
return rileValidFlag;
public String getRuleValidFlag() {
return ruleValidFlag;
}
public void setRileValidFlag(String rileValidFlag) {
this.rileValidFlag = rileValidFlag;
public void setRuleValidFlag(String ruleValidFlag) {
this.ruleValidFlag = ruleValidFlag;
}
public String getIfSystemValue() {
return ifSystemValue;
}
public void setIfSystemValue(String ifSystemValue) {
this.ifSystemValue = ifSystemValue;
}
}
......@@ -3,6 +3,7 @@ package com.hp.cmsz.entity.commonmanage;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.FetchType;
......@@ -17,18 +18,13 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import com.hp.cmsz.entity.DataModel;
import com.hp.cmsz.entity.*;
@Entity
@Table(name = "RUN_TASK_T", schema = "ETL")
public class RunTask {
@Id
//@TableGenerator(name = "ID_GENERATOR", table = "ID_GEN", pkColumnName = "GEN_NAME", pkColumnValue = "NBR_PK", valueColumnName = "GEN_VALUE", allocationSize = 1)
//@GeneratedValue(strategy = GenerationType.TABLE, generator = "ID_GENERATOR")
/*@GenericGenerator(name = "idGenerator", strategy = "uuid")
@GeneratedValue(generator = "idGenerator")*/
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "RunTaskSequence")
@SequenceGenerator(name = "RunTaskSequence", sequenceName = "run_task_t_seq", allocationSize = 1)
private Long taskId;
......@@ -53,6 +49,27 @@ public class RunTask {
@JoinColumn(name = "MODEL_ID")
private DataModel dataModelView;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "province_id")
private Province provinceView;
private Long kpiId;
// @ManyToOne(fetch = FetchType.EAGER)
// @JoinColumn(name = "channel_id")
// private Channel channelView;
//
// @ManyToOne(fetch = FetchType.EAGER)
// @JoinColumn(name = "dataSource_id")
// private DataSource dataSourceView;
// @ManyToOne(fetch = FetchType.EAGER)
// @JoinColumn(name = "business_id")
// private Business businessView;
@Temporal(TemporalType.TIMESTAMP)
private Date taskNextrunTime;
......@@ -179,7 +196,46 @@ public class RunTask {
this.taskContext = taskContext;
}
/*public String getParallelFlg() {
public Province getProvinceView() {
return provinceView;
}
public void setProvinceView(Province provinceView) {
this.provinceView = provinceView;
}
public Long getKpiId() {
return kpiId;
}
public void setKpiId(Long kpiId) {
this.kpiId = kpiId;
}
// public Channel getChannelView() {
// return channelView;
// }
//
// public void setChannelView(Channel channelView) {
// this.channelView = channelView;
// }
//
// public DataSource getDataSourceView() {
// return dataSourceView;
// }
//
// public void setDataSourceView(DataSource dataSourceView) {
// this.dataSourceView = dataSourceView;
// }
//
// public Business getBusinessView() {
// return businessView;
// }
//
// public void setBusinessView(Business businessView) {
// this.businessView = businessView;
// }
/*public String getParallelFlg() {
return parallelFlg;
}
......
......@@ -34,7 +34,7 @@ public interface AccuracyRuleDao extends JpaSpecificationExecutor<AccuracyRule>,
//根据准确性规则ID更新准确性规则信息
@Modifying
@Query("update AccuracyRule ar set ar.ruleType=:ruleType, ar.scopeMaxValue=:scopeMaxValue, ar.scopeMinValue=:scopeMinValue, ar.repeatedCheckGranularity=:repeatedCheckGranularity, ar.repeatedCheckStartTime=:repeatedCheckStartTime, ar.repeatedCheckEndTime=:repeatedCheckEndTime, ar.ifRepeatedCheckSeries=:ifRepeatedCheckSeries, ar.repeatedCheckMaxTime=:repeatedCheckMaxTime, ar.ifRepeatedCheckSummation=:ifRepeatedCheckSummation where ar.accuracyRuleId =:accuracyRuleId")
void updateAccuracyRuleByAccuracyRuleId(@Param("ruleType")String ruleType,@Param("scopeMaxValue")double scopeMaxValue,@Param("scopeMinValue")double scopeMinValue,@Param("repeatedCheckGranularity")String repeatedCheckGranularity,@Param("repeatedCheckStartTime")Date repeatedCheckStartTime,@Param("repeatedCheckEndTime")Date repeatedCheckEndTime,@Param("ifRepeatedCheckSeries")String ifRepeatedCheckSeries,@Param("repeatedCheckMaxTime")Long repeatedCheckMaxTime,@Param("ifRepeatedCheckSummation")String ifRepeatedCheckSummation);
void updateAccuracyRuleByAccuracyRuleId(@Param("ruleType")String ruleType,@Param("scopeMaxValue")double scopeMaxValue,@Param("scopeMinValue")double scopeMinValue,@Param("repeatedCheckGranularity")String repeatedCheckGranularity,@Param("repeatedCheckStartTime")Date repeatedCheckStartTime,@Param("repeatedCheckEndTime")Date repeatedCheckEndTime,@Param("ifRepeatedCheckSeries")String ifRepeatedCheckSeries,@Param("repeatedCheckMaxTime")Long repeatedCheckMaxTime,@Param("ifRepeatedCheckSummation")String ifRepeatedCheckSummation,@Param("accuracyRuleId")Long accuracyRuleId);
//根据准确性规则ID删除一条准确性规则信息
@Modifying
......
......@@ -39,6 +39,10 @@ public interface BusinessDao extends JpaSpecificationExecutor<Business>,
@Query("select business.businessId, business.businessName from Business business,ChannelDataSourceMap channelDataSourceMap where business.channelDataSourceMapId=channelDataSourceMap.channelDataSourceMapId and channelDataSourceMap.channelId = :channelIdList and channelDataSourceMap.dataSourceId =:datasourceIdList and business.businessId >= 0 order by business.businessId")
List<Object[]> findBusinessIdAndBusinessNameByDataSourceIdAndChannelId(@Param("channelIdList") Long channelIdList,@Param("datasourceIdList") Long datasourceIdList);
//由单个数据来源ID和单个渠道ID得到业务,加入isActive=N
@Query("select business.businessId, business.businessName from Business business,ChannelDataSourceMap channelDataSourceMap where business.isActive = 'Y' and business.channelDataSourceMapId=channelDataSourceMap.channelDataSourceMapId and channelDataSourceMap.channelId = :channelId and channelDataSourceMap.dataSourceId =:datasourceId and business.businessId >= 0 order by business.businessId")
List<Object[]> findBusinessIdAndBusinessNameByDataSourceIdAndChannelIdWithIsActive(@Param("channelId") Long channelId,@Param("datasourceId") Long datasourceId);
@Query("select business.businessId, business.businessName from Business business,ChannelDataSourceMap channelDataSourceMap,Channel channel where channel.channelId=channelDataSourceMap.channelId and business.channelDataSourceMapId=channelDataSourceMap.channelDataSourceMapId and channel.channelName=:channelName and business.businessId >= 0 order by business.businessId")
List<Object[]> findBusinessByChannelName(@Param("channelName")String channelName);
......
......@@ -19,6 +19,9 @@ public interface ChannelDao extends JpaSpecificationExecutor<Channel>,
@Query("from Channel channel where channel.channelId >=0 order by channel.channelId")
List<Channel> findChannel();
@Query("from Channel channel where channel.channelId >=0 and channel.channelId <>7 order by channel.channelId")
List<Channel> findChannelWithoutAll();
List<Channel> findByChannelIdInOrderByChannelIdAsc(List<Long> channelIdList);
@Query("select channel from Channel channel, ChannelDataSourceMap channelDataSourceMap where channelDataSourceMap.channelId=channel.channelId and channelDataSourceMap.dataSourceId =:datasourceId and channel.channelId >=0 order by channel.channelId")
......
package com.hp.cmsz.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import com.hp.cmsz.entity.DimKpi;
public interface DimKpiDao extends JpaSpecificationExecutor<DimKpi>,
PagingAndSortingRepository<DimKpi, Long>{
//通过kpiTypeId查找数据采集频率
@Query("select dk.calCycle from DimKpi dk where dk.kpiTypeId = ?1")
List<String> findCayCycleByKpiTypeIdIn(@Param("kpiTypeId")Long kpiTypeId);
//通过kpiTypeId修改数据采集频率
@Modifying
@Query("update from DimKpi dk set dk.calCycle=:calCycle where dk.kpiTypeId=:kpiTypeId")
void updateDimKpiByKpiTypeId(@Param("calCycle")String calCycle,@Param("kpiTypeId")Long kpiTypeId);
}
......@@ -38,6 +38,10 @@ public interface KpiDao extends JpaSpecificationExecutor<Kpi>,PagingAndSortingRe
@Query("select kpi.kpiId, kpi.kpiName from Kpi kpi,Business business where kpi.businessId=business.businessId and business.businessId IN (:businessIdList) and kpi.kpiId >=0")
List<Object[]> findAllKpiIdAndKpiNameByBusinessId(@Param("businessIdList") List<Long> businessIdList);
//由业务联动得到指标
@Query("select kpi.kpiId, kpi.kpiName from Kpi kpi,Business business where business.businessId = kpi.businessId and kpi.isActive = 'Y' and business.businessId in (:businessIds) and kpi.kpiId>=0 order by kpi.kpiId ")
List<Object[]> findKpiIdAndKpiNameByBusinessIds(@Param("businessIds")List<Long> businessIdList);
//由单个业务ID得到指标
@Query("select kpi.kpiId, kpi.kpiName from Kpi kpi,Business business where kpi.businessId=business.businessId and business.businessId = :businessIdList and kpi.kpiId >=0")
List<Object[]> findKpiIdAndKpiNameByBusinessId(@Param("businessIdList") Long businessIdList);
......
......@@ -27,10 +27,13 @@ public interface ModelParameterDao extends JpaSpecificationExecutor<ModelParamet
@Modifying
@Query("update ModelParameter mp set mp.parameterName=:parameterName,mp.parameterValue=:parameterValue, mp.parameterDataType=:parameterDataType where mp.parameterId =:parameterId")
void updateParamByParameterId(@Param("parameterName")String parameterName,@Param("parameterValue")String parameterValue,@Param("parameterDataType")String parameterDataType,@Param("parameterId")Long parameterId);
//根据数据模型ID查找参数d
List<ModelParameter> findByDataModelId(Long dataModelId);
//根据数据模型ID查找系统默认的参数d
List<ModelParameter> findByDataModelIdAndIfSystemDefault(Long dataModelId, Long ifSystemDefault);
//根据数据模型ID查找参数d
List<ModelParameter> findByDataModelIdIn(List<Long> dataModelId);
......
package com.hp.cmsz.repository;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
......@@ -20,7 +21,7 @@ import com.hp.cmsz.entity.QualityRule;
public interface QualityRuleDao extends JpaSpecificationExecutor<QualityRule>,
PagingAndSortingRepository<QualityRule, Long>{
List<QualityRule> findAll();
//根据质量规则ID查找质量规则
QualityRule findByQualityRuleId(Long qualityRuleId);
......@@ -35,14 +36,14 @@ 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.kpiMonitorRange=:kpiMonitorRange,dm.integrityThresholdValue=:integrityThresholdValue, qr.timelinessThresholdValue=:timelinessThresholdValue, 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("kpiMonitorRange")String kpiMonitorRange,@Param("integrityThresholdValue")double integrityThresholdValue,@Param("timelinessThresholdValue")Long timelinessThresholdValue,@Param("ruleCrtTime")Date ruleCrtTime,@Param("ruleUpdateTime")Date ruleUpdateTime,@Param("qualityRuleId")Long qualityRuleId);
@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);
//根据质量规则ID得到数据条数
@Query("select count(*) from QualityRule qualityRule where qualityRule.qualityRuleId=:qualityRuleId")
Long getNumOfQualityRuleByQualityRuleId(@Param("qualityRuleId")String qualityRuleId);
//根据省份、渠道、业务、指标查询质量规则
List<QualityRule> findByProvinceIdInAndBusinessIdInAndKpiIdInAndChannelIdInOrderByQualityRuleIdDesc(List<Long> provinceId, List<Long> businessId, List<Long> kpiId, List<Long> channelId);
//根据省份、渠道、业务、数据来源筛选查询质量规则
List<QualityRule> findByProvinceIdInAndBusinessIdInAndDataSourceIdInAndChannelIdInOrderByQualityRuleIdDesc(Long[] province, Long[] business, Long[] datasource, Long[] channel);
}
......@@ -30,6 +30,8 @@ public class BusinessService {
}
public List<Business> getByChannelDataSourceMapIdIn(List<Long> channelDataSourceMapIdList){
return (List<Business>)businessDao.findByChannelDataSourceMapIdIn(channelDataSourceMapIdList);
}
......
......@@ -29,8 +29,8 @@ public class AccuracyRuleService {
//根据准确性规则ID更新准确性规则
@Transactional(readOnly=false)
public void updateAccuracyRuleByAccuracyRuleId(String ruleType,double scopeMaxValue,double scopeMinValue,String repeatedCheckGranularity,Date repeatedCheckStartTime,Date repeatedCheckEndTime,String ifRepeatedCheckSeries,Long repeatedCheckMaxTime,String ifRepeatedCheckSummation){
accuracyRuleDao.updateAccuracyRuleByAccuracyRuleId(ruleType, scopeMaxValue, scopeMinValue, repeatedCheckGranularity, repeatedCheckStartTime, repeatedCheckEndTime, ifRepeatedCheckSeries, repeatedCheckMaxTime, ifRepeatedCheckSummation);;
public void updateAccuracyRuleByAccuracyRuleId(String ruleType,double scopeMaxValue,double scopeMinValue,String repeatedCheckGranularity,Date repeatedCheckStartTime,Date repeatedCheckEndTime,String ifRepeatedCheckSeries,Long repeatedCheckMaxTime,String ifRepeatedCheckSummation,Long accuracyRuleId){
accuracyRuleDao.updateAccuracyRuleByAccuracyRuleId(ruleType, scopeMaxValue, scopeMinValue, repeatedCheckGranularity, repeatedCheckStartTime, repeatedCheckEndTime, ifRepeatedCheckSeries, repeatedCheckMaxTime, ifRepeatedCheckSummation,accuracyRuleId);
}
//根据准确性规则ID删除一条准确性规则信息
......
package com.hp.cmsz.service.analysissupport;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.hp.cmsz.repository.DimKpiDao;
@Service
@Transactional
public class DimKpiService {
@Autowired
private DimKpiDao dimKpiDao;
//根据kpiTypeId修改数据采集频率
@Transactional(readOnly=false)
private void updateByKpiTypeId(String calCycle,Long kpiTypeId){
dimKpiDao.updateDimKpiByKpiTypeId(calCycle, kpiTypeId);
}
}
package com.hp.cmsz.service.analysissupport;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
......@@ -7,6 +8,7 @@ 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;
/**
......@@ -21,6 +23,11 @@ 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){
......@@ -29,8 +36,8 @@ public class QualityRuleService {
//根据质量规则ID修改质量规则
@Transactional(readOnly=false)
public void updateByQualityRuleId(Long businessId, Long kpiId, Long channelId, Long provinceId, Long dataSourceId, String kpiMonitorTime,String kpiMonitorRange,double integrityThresholdValue,Long timelinessThresholdValue ,Date ruleCrtTime,Date ruleUpdateTime,Long qualityRuleId){
qualityRuleDao.updateQualityRuleByQualityRuleId(businessId, kpiId, channelId, provinceId, dataSourceId, kpiMonitorTime, kpiMonitorRange, integrityThresholdValue, timelinessThresholdValue, ruleCrtTime, ruleUpdateTime, qualityRuleId);
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);
}
}
package com.hp.cmsz.web.analysissupport;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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 com.google.gson.Gson;
import com.hp.cmsz.entity.AccuracyRule;
import com.hp.cmsz.entity.Business;
import com.hp.cmsz.entity.Channel;
import com.hp.cmsz.entity.DataSource;
import com.hp.cmsz.entity.DataType;
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.BusinessDao;
import com.hp.cmsz.repository.ChannelDao;
import com.hp.cmsz.repository.DataSourceDao;
import com.hp.cmsz.repository.DataTypeDao;
import com.hp.cmsz.repository.KpiDao;
import com.hp.cmsz.repository.ProvinceDao;
import com.hp.cmsz.repository.QualityRuleDao;
import com.hp.cmsz.service.analysissupport.AccuracyRuleService;
import com.hp.cmsz.web.PageURLController;
/**
......@@ -22,6 +46,109 @@ import com.hp.cmsz.web.PageURLController;
@RequestMapping(value="AnalysisSupport/QualityRuleConfiguration")
public class QualityRuleConfigurationController {
// @Autowired
// private ProvinceDao provinceDao;
//
// @Autowired
// private ChannelDao channelDao;
//
// @Autowired
// private BusinessDao businessDao;
//
// @Autowired
// private KpiDao kpiDao;
//
// @Autowired
// private DataTypeDao dataTypeDao;
//
// @Autowired
// private DataSourceDao dataSourceDao;
//
// @Autowired
// private QualityRuleDao qualityRuleDao;
//
//// @Autowired
//// private QualityRuleService qualityRuleService;
//
// @Autowired
// private AccuracyRuleDao accuracyRuleDao;
//
// @Autowired
// private AccuracyRuleService accuracyRuleService;
////
//// @Autowired
//// private CmszOperationLogService cmszOperationLogService;
//
// @RequestMapping(value = "")
// public String ruleMaintainHome(@RequestParam(value = "qualityRuleId", defaultValue ="") String qualityRuleId,
// Map model){
//
// QualityRule qualityRule = null;
// List<AccuracyRule> accuracyRuleList = null;
// if(!qualityRuleId.trim().equals("")){
// qualityRule = qualityRuleDao.findByQualityRuleId(Long.parseLong(qualityRuleId));
// accuracyRuleList = accuracyRuleDao.findByQualityRuleId(Long.parseLong(qualityRuleId));
// }
//
// //查询出所有的省份
// List<Province> provinceList=(List<Province>)provinceDao.findProvince();
// //查询出所有的渠道信息
// List<Channel> channelList=(List<Channel>)channelDao.findChannelWithoutAll();
// //查询出所有的指标
// List<Kpi> kpiList=(List<Kpi>)kpiDao.findAll();
// //查询出所有的业务
// List<Business> businessList=(List<Business>)businessDao.findAll();
// //查询出所有的数据类型
// List<DataType> dataTypeList= (List<DataType>)dataTypeDao.findAll();
// //查询出所有的数据来源
// List<DataSource> dataSourceList=(List<DataSource>)dataSourceDao.findAll();
// Gson gson = new Gson();
// model.put("provinceList", provinceList);
// model.put("channelList", channelList);
// model.put("kpiList", kpiList);
// model.put("businessList", gson.toJson(businessList));
// model.put("dataTypeList", dataTypeList);
// model.put("dataSourceList", dataSourceList);
//
// return PageURLController.RuleConfiguration;
// }
//
// //修改准确性规则信息
// @RequestMapping(value = "/updateAccuracyRule*",method=RequestMethod.GET)
// @ResponseBody
// public void updateParameter(
// @RequestParam(value="ruleType") String ruleType,
// @RequestParam(value="scopeMaxValue") double scopeMaxValue,
// @RequestParam(value="scopeMinValue") double scopeMinValue,
// @RequestParam(value="repeatedCheckGranularity") String repeatedCheckGranularity,
// @RequestParam(value="repeatedCheckStartTime") Date repeatedCheckStartTime,
// @RequestParam(value="repeatedCheckEndTime") Date repeatedCheckEndTime,
// @RequestParam(value="ifRepeatedCheckSeries") String ifRepeatedCheckSeries,
// @RequestParam(value="repeatedCheckMaxTime") Long repeatedCheckMaxTime,
// @RequestParam(value="ifRepeatedCheckSummation") String ifRepeatedCheckSummation,
// @RequestParam(value="qualityRuleId")String qualityRuleId,
// @RequestParam(value="accuracyRuleId")String accuracyRuleId){
//
// if(qualityRuleId.trim().equals("")){
// AccuracyRule accuracyRule = new AccuracyRule();
// accuracyRule.setAccuracyRuleId(Long.parseLong(qualityRuleId));
// accuracyRule.setRuleType(ruleType);
// accuracyRule.setScopeMinValue(scopeMaxValue);
// accuracyRule.setScopeMinValue(scopeMinValue);
// accuracyRule.setRepeatedCheckGranularity(repeatedCheckGranularity);
// accuracyRule.setRepeatedCheckStartTime(repeatedCheckStartTime);
// accuracyRule.setRepeatedCheckEndTime(repeatedCheckEndTime);
// accuracyRule.setIfRepeatedCheckSeries(ifRepeatedCheckSeries);
// accuracyRule.setRepeatedCheckMaxTime(repeatedCheckMaxTime);
// accuracyRule.setIfRepeatedCheckSummation(ifRepeatedCheckSummation);
//
// accuracyRuleDao.save(accuracyRule);
// }else{
// accuracyRuleService.updateAccuracyRuleByAccuracyRuleId(ruleType, scopeMaxValue, scopeMinValue, repeatedCheckGranularity, repeatedCheckStartTime, repeatedCheckEndTime, ifRepeatedCheckSeries, repeatedCheckMaxTime, ifRepeatedCheckSummation, Long.parseLong(accuracyRuleId));;
// }
//
// }
@RequestMapping()
public String updateQualityRuleForm() {
......
package com.hp.cmsz.web.analysissupport;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -11,13 +13,18 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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 com.google.gson.Gson;
import com.hp.cmsz.entity.Business;
import com.hp.cmsz.entity.Channel;
import com.hp.cmsz.entity.ChannelDataSourceMap;
import com.hp.cmsz.entity.DataModel;
import com.hp.cmsz.entity.DataSource;
import com.hp.cmsz.entity.DataType;
......@@ -27,6 +34,7 @@ import com.hp.cmsz.entity.Province;
import com.hp.cmsz.repository.AccuracyRuleDao;
import com.hp.cmsz.repository.BusinessDao;
import com.hp.cmsz.repository.ChannelDao;
import com.hp.cmsz.repository.ChannelDataSourceMapDao;
import com.hp.cmsz.repository.DataSourceDao;
import com.hp.cmsz.repository.DataTypeDao;
import com.hp.cmsz.repository.KpiDao;
......@@ -34,6 +42,7 @@ 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;
......@@ -55,9 +64,15 @@ public class QualityRuleMaintainController {
private ChannelDao channelDao;
@Autowired
private ChannelDataSourceMapDao channelDataSourceMapDao;
@Autowired
private BusinessService businessService;
@Autowired
private BusinessDao businessDao;
@Autowired
private KpiDao kpiDao;
@Autowired
......@@ -88,89 +103,182 @@ public class QualityRuleMaintainController {
//查询出所有的指标
List<Kpi> kpiList=(List<Kpi>)kpiDao.findAll();
//查询出所有的业务
List<String> businessList=businessService.getAllBusinessIdAndBusinessName();
List<Object[]> businessList=(List<Object[]>)businessDao.findAllBusinessIdAndBusinessName();
//查询出所有的数据类型
List<DataType> dataTypeList= (List<DataType>)dataTypeDao.findAll();
//查询出所有的数据来源
List<DataSource> dataSourceList=(List<DataSource>)dataSourceDao.findAll();
Gson gson = new Gson();
model.put("provinceList", provinceList);
model.put("channelList", channelList);
model.put("kpiList", kpiList);
model.put("businessList", businessList);
model.put("businessList", gson.toJson(businessList));
model.put("dataTypeList", dataTypeList);
model.put("dataSourceList", dataSourceList);
return PageURLController.RuleMaintain;
}
@RequestMapping(value = "/findBusinessId*")
@ResponseBody
public void datasource_select(@RequestParam(value = "dataSource", defaultValue ="" ) String dataSource,
@RequestParam(value = "channel", defaultValue ="" ) String channel,
HttpServletResponse response) {
System.out.println(dataSource);
List<Object []> resultList = new ArrayList<Object []>();
List<Object[]> list = (List<Object[]>)businessDao.findBusinessIdAndBusinessNameByDataSourceIdAndChannelIdWithIsActive(Long.parseLong(channel),Long.parseLong(dataSource));
for(int i=0;i<list.size();i++){
Object[] objs = list.get(i);
//将重复的业务名的Id写在同一个对象中
for(int j=0;j<list.size();j++){
if(i == j){}else{
Object[] objs1 = list.get(j);
if(objs[1].equals(objs1[1])){
objs[0] = objs[0] +","+ objs1[0];
list.remove(j);
j--;
}
}
}
resultList.add(objs);
}
Gson gson = new Gson();
response.setContentType("text/Xml;chartset=gbk");
PrintWriter out = null;
try{
out = response.getWriter();
out.println(gson.toJson(resultList));
}
catch(IOException ex){
ex.printStackTrace();
}
finally{
out.close();
}
}
// @RequestMapping(value="/findBusinessId*")
// @ResponseBody
// public void findBusinessId(@RequestParam(value = "dataSource", defaultValue ="" ) String dataSource,
// @RequestParam(value = "channelId", defaultValue ="" ) String channelId,
// HttpServletResponse response){
// List<Object[]> channelDataSourceMapIdList = (List<Object[]>)businessDao.findBusinessIdAndBusinessNameByDataSourceIdAndChannelIdWithIsActive(Long.parseLong(dataSource),Long.parseLong(channel));
// Gson gson = new Gson();
// response.setContentType("text/Xml;charset=gbk");
// PrintWriter out = null;
// try {
// out = response.getWriter();
// out.println(gson.toJson(dataSceAndBus));
// }
// catch (IOException ex1) {
// ex1.printStackTrace();
// }finally{ out.close(); }
// }
@RequestMapping(value="/findKpiId*")
@ResponseBody
public void findKpiId(@RequestParam(value = "businessIds", defaultValue ="" ) String businessIds,
HttpServletResponse response){
String[] strs = businessIds.split(",");
List<Long> businessIdlist = new ArrayList<Long>();
for(int i=0;i<strs.length;i++){
businessIdlist.add(Long.valueOf(strs[i]));
List<Object[]> businessKpiList = (List<Object[]>)kpiDao.findKpiIdAndKpiNameByBusinessIds(businessIdlist);
Gson gson = new Gson();
response.setContentType("text/Xml;charset=gbk");
PrintWriter out = null;
try {
out = response.getWriter();
out.println(gson.toJson(businessKpiList));
}
catch (IOException ex1) {
ex1.printStackTrace();
}finally{ out.close(); }
}
// private List<Long> qualityRuleIdList = new ArrayList<Long>();
// //新增准确性规则
// @RequestMapping(value = "/createAccuracyRule*", method = RequestMethod.GET)
// @ResponseBody
// public void createAccuracyRule(
// @RequestParam(value="paramName") String paramName,
// @RequestParam(value="paramValue") String paramValue,
// @RequestParam(value="paramType") String paramType,
// @RequestParam(value="paramName") String paramName,
// @RequestParam(value="paramValue") String paramValue,
// @RequestParam(value="paramType") String paramType,
// @RequestParam(value="paramName") String paramName,
// @RequestParam(value="paramValue") String paramValue,
// @RequestParam(value="paramType") String paramType,
// @RequestParam(value="ruleType") String ruleType,
// @RequestParam(value="scopeMaxValue") String scopeMaxValue,
// @RequestParam(value="scopeMinValue") String scopeMinValue,
// @RequestParam(value="repeatedCheckGranularity") String repeatedCheckGranularity,
// @RequestParam(value="repeatedCheckStartTime") String repeatedCheckStartTime,
// @RequestParam(value="repeatedCheckEndTime") String repeatedCheckEndTime,
// @RequestParam(value="ifRepeatedCheckSeries") String ifRepeatedCheckSeries,
// @RequestParam(value="repeatedCheckMaxTime") String repeatedCheckMaxTime,
// @RequestParam(value="ifRepeatedCheckSummation") String ifRepeatedCheckSummation,
// HttpServletResponse response,HttpServletRequest request) {
//
// ModelParameter modelParameter = new ModelParameter();
// if(!paramName.trim().equals("")){modelParameter.setParameterName(paramName);}
// if(!paramValue.trim().equals("")){modelParameter.setParameterValue(paramValue);}
// if(!paramType.trim().equals("")){modelParameter.setParameterDataType(paramType);}
// AccuracyRule accuracyRule = new accuracyRule();
// if(!ruleType.trim().equals("")){
// if(ruleType == 1){
// accuracyRule.setruleType("范围");
// }else if(ruleType == 2){
// accuracyRule.setruleType("重复");
// }
// }
// if(!scopeMaxValue.trim().equals("")){accuracyRule.setscopeMaxValue(scopeMaxValue);}
// if(!scopeMinValue.trim().equals("")){accuracyRule.setscopeMinValue(scopeMinValue);}
// if(!repeatedCheckGranularity.trim().equals("")){accuracyRule.setrepeatedCheckGranularity(repeatedCheckGranularity);}
// if(!repeatedCheckStartTime.trim().equals("")){accuracyRule.setrepeatedCheckStartTime(repeatedCheckStartTime);}
// if(!repeatedCheckEndTime.trim().equals("")){accuracyRule.setrepeatedCheckEndTime(repeatedCheckEndTime);}
// if(!ifRepeatedCheckSeries.trim().equals("")){accuracyRule.setifRepeatedCheckSeries(ifRepeatedCheckSeries);}
// if(!repeatedCheckMaxTime.trim().equals("")){accuracyRule.setrepeatedCheckMaxTime(repeatedCheckMaxTime);}
// if(!ifRepeatedCheckSummation.trim().equals("")){accuracyRule.setifRepeatedCheckSummation(ifRepeatedCheckSummation);}
//
// modelParameterDao.save(modelParameter);
// accuracyRuleDao.save(accuracyRule);
//
// Long dataModelId = modelParameter.getParameterId();
// dataModelIdList.add(dataModelId);
// Long accuracyRuleId = accuracyRule.getaccuracyRuleId();
// qualityRuleIdList.add(qualityRuleId);
// }
// //新增质量模型
// @RequestMapping(value = "/saveModelDataForm", method = RequestMethod.POST)
// public String saveModelDataForm(HttpServletResponse response,HttpServletRequest request) throws ParseException{
// String dataModelName = "";
// String modelDesc = "";
// String ruleDefinition = "";
// String evaluationMethod = "";
// String evaluationStandard = "";
// String modelType = "";
// String deployedServer = "";
// String modelStatus = "";
// //String cycleMinutes = "";
// String modelExeScriptName = "";
// String kpiTypeId = "";
// String businessEndTime = "";
// String businessStartTime = "";
// Date publishTime = new Date();
// Date updateTime = new Date();
// DataModel dataModel = new DataModel();
// @RequestMapping(value = "/saveRuleDataForm", method = RequestMethod.POST)
// public String saveRuleDataForm(HttpServletResponse response,HttpServletRequest request) throws ParseException{
// Long qualityRuleId = "";
// Long businessId = "";
// Long kpiId = "";
// Long channelId = "";
// Long provinceId = "";
// Long dataSourceId = "";
// String kpiMonitorTime = "";
// String kpiMonitorRunTime = "";
// String businessTime = "";
// Date ruleCrtTime = "";
// Date ruleUpdateTime = "";
// String ruleValidFlag = "";
// String ifSystemValue = "";
// QualityRule qualityRule = new qualityRule();
// SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat batchFormat = new SimpleDateFormat("yyyyMMdd000001");
// dataModel.setBatchNo(Long.parseLong(batchFormat.format(sd.parse(businessStartTime))));
// dataModel.setDataModelName(dataModelName);
// if(!modelDesc.trim().equals("")){dataModel.setModelDesc(modelDesc);}
// if(!ruleDefinition.trim().equals("")){dataModel.setRuleDefinition(ruleDefinition);}
// if(!evaluationMethod.trim().equals("")){dataModel.setEvaluationMethod(evaluationMethod);}
// if(!evaluationStandard.trim().equals("")){dataModel.setEvaluationStandard(evaluationStandard);}
// if(!modelType.trim().equals("")){dataModel.setDataModelTypeId(Long.parseLong(modelType));}
// if(!deployedServer.trim().equals("")){dataModel.setServerId(Long.parseLong(deployedServer));}
// if(!modelStatus.trim().equals("")){dataModel.setModelStatus(Long.parseLong(modelStatus));}
// if(!kpiTypeId.trim().equals("")){dataModel.setKpiTypeId(Long.parseLong(kpiTypeId));}
// /*if(!cycleMinutes.trim().equals("")){dataModel.setCycleMinutes(Long.parseLong(cycleMinutes));}*/
// dataModel.setModelPublishTime(publishTime);
// dataModel.setModelUpdateTime(updateTime);
// dataModel.setBusinessStartTime(sd.parse(businessStartTime));
// dataModel.setBusinessEndTime(sd.parse(businessEndTime));
// if(!qualityRuleId.trim().equals("")){qualityRule.setqualityRuleId(Long.parseLong(qualityRuleId));}
// if(!businessId.trim().equals("")){qualityRule.setbusinessId(Long.parseLong(businessId));}
// if(!kpiId.trim().equals("")){qualityRule.setkpiId(Long.parseLong(kpiId));}
// if(!channelId.trim().equals("")){qualityRule.setchannelId(Long.parseLong(channelId));}
// if(!provinceId.trim().equals("")){qualityRule.setprovinceId(Long.parseLong(provinceId));}
// if(!dataSourceId.trim().equals("")){qualityRule.setdataSourceId(Long.parseLong(dataSourceId));}
// if(!kpiMonitorTime.trim().equals("")){qualityRule.setkpiMonitorTime(kpiMonitorTime);}
// qualityRule.setkpiMonitorRunTime(kpiMonitorTime);
// if(!businessTime.trim().equals("")){qualityRule.setbusinessTime(businessTime);}
// qualityRule.setruleCrtTime(sd.parse(ruleCrtTime));
// qualityRule.setruleUpdateTime(sd.parse(ruleUpdateTime));
// qualityRule.setruleValidFlag(1);
// qualityRule.setifSystemValue(1);
// qualityRuleDao.save(qualityRule);
// cmszOperationLogService.createLog("增加","新建质量模型","quality_rule_warehouse_info_t. QUALITY_RULE_ID="+ qualityRule.getQualityRuleId().toString());
// Long dataModelId = dataModel.getDataModelId();
// Long qualityRuleId = qualityRule.getqualityRuleId();
// return "redirect:AnalysisSupport/QualityRuleResult";
// }
}
}
......@@ -19,15 +19,17 @@ 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.ChannelDao;
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;
......@@ -44,172 +46,180 @@ import com.hp.cmsz.web.PageURLController;
@RequestMapping(value="AnalysisSupport/QualityRuleResult")
public class QualityRuleResultController {
// @Autowired
// private ProvinceDao provinceDao;
//
// @Autowired
// private ChannelDao channelDao;
//
// @Autowired
// private BusinessService businessService;
//
// @Autowired
// private KpiDao kpiDao;
//
// @Autowired
// private QualityRuleDao qualityRuleDao;
//
// @Autowired
// private QualityRuleService qualityRuleService;
//
// @Autowired
// private AccuracyRuleService accuracyRuleService;
//
// @Autowired
// private AccuracyRuleDao accuracyRuleDao;
//
// @Autowired
// private CmszOperationLogService cmszOperationLogService;
//
// private String staticProvinceId = "";
// private String staticChannelId = "";
// private String staticKpiId = "";
// private String staticBusinessId = "";
// List<QualityRule> staticQualityRuleList = new ArrayList<QualityRule>();
@Autowired
private ProvinceDao provinceDao;
@Autowired
private ChannelService channelService;
@Autowired
private BusinessService businessService;
@Autowired
private KpiDao kpiDao;
@Autowired
private DataSourceDao dataSourceDao;
@Autowired
private QualityRuleDao qualityRuleDao;
@Autowired
private QualityRuleService qualityRuleService;
@Autowired
private AccuracyRuleService accuracyRuleService;
@Autowired
private AccuracyRuleDao accuracyRuleDao;
@Autowired
private CmszOperationLogService cmszOperationLogService;
List<QualityRule> staticQualityRuleList = new ArrayList<QualityRule>();
@RequestMapping(value = "")
public String ruleResultHome(
@RequestParam(value = "rulePageNum", defaultValue="1") String rulePageNum,
Map model){
// //查询出所有的省份
// List<Province> provinceList=(List<Province>)provinceDao.findProvince();
// //查询出所有的渠道信息
// List<Channel> channelList=(List<Channel>)channelDao.findChannel();
// //查询出所有的指标
// List<Kpi> kpiList=(List<Kpi>)kpiDao.findAll();
// //查询出所有的业务
// List<String> businessList=businessService.getAllBusinessIdAndBusinessName();
// //查询出所有的质量规则
// List<QualityRule> qualityRuleList=(List<QualityRule>)qualityRuleDao.findAll();
//
// Gson gson = new Gson();
// model.put("provinceList", gson.toJson(provinceList));
// model.put("channelList", gson.toJson(channelList));
// model.put("kpiList", gson.toJson(kpiList));
// model.put("businessList", gson.toJson(businessList));
// model.put("qualityRuleList", gson.toJson(qualityRuleList));
// model.put("rulePageNum", rulePageNum);
// cmszOperationLogService.createLog("查询","质量规则","质量规则首页");
//查询出所有省份的信息
List<Province> provinceList=(List<Province>)provinceDao.findAll();
//查询出所有的渠道信息
//List<Channel> channelList=(List<Channel>)channelDao.findChannel();
List<Channel> channelList = channelService.getAllChannels();
//查询出所有的指标
List<Kpi> kpiList=(List<Kpi>)kpiDao.findAll();
//查询出所有的业务
List<String> businessList=businessService.getAllBusinessIdAndBusinessName();
//查询出所有的数据来源信息
List<DataSource> datasourceList=(List<DataSource>)dataSourceDao.findDataSource();
//查询出所有的质量规则
List<QualityRule> qualityRuleList=(List<QualityRule>)qualityRuleDao.findAll();
Gson gson = new Gson();
model.put("provinceList", gson.toJson(provinceList));
model.put("channelList", channelList);
model.put("kpiList", kpiList);
model.put("businessList",businessList);
model.put("datasourceList", datasourceList);
model.put("qualityRuleList", qualityRuleList);
model.put("rulePageNum", rulePageNum);
cmszOperationLogService.createLog("查询","质量规则","质量规则首页");
return PageURLController.RuleResult;
}
// //根据筛选项更新表格
// @RequestMapping(value = "/ruleTableChange*",method = RequestMethod.GET)
// @ResponseBody
// public void modelTableChange(
// @RequestParam(value = "provinceId", defaultValue="") String provinceId,
// @RequestParam(value = "channelId", defaultValue="") String channelId,
// @RequestParam(value = "kpiId", defaultValue="") String kpiId,
// @RequestParam(value = "businessId", defaultValue="") String businessId,
// HttpServletResponse response) throws UnsupportedEncodingException{
// staticProvinceId = provinceId;
// staticChannelId = channelId;
// staticKpiId = kpiId;
// staticBusinessId = businessId;
// List<QualityRule> qualityRuleList = new ArrayList<QualityRule>();
//
// List<Long> provinceIdList = new ArrayList<Long>();
// for(int i=0;i<provinceId.split(",").length;i++){
// provinceIdList.add(Long.parseLong(provinceId.split(",")[i]));
// }
// List<Long> channelIdList = new ArrayList<Long>();
// for(int i=0;i<channelId.split(",").length;i++){
// channelIdList.add(Long.parseLong(channelId.split(",")[i]));
// }
// List<Long> kpiIdList = new ArrayList<Long>();
// for(int i=0;i<kpiId.split(",").length;i++){
// kpiIdList.add(Long.parseLong(kpiId.split(",")[i]));
// }
// List<Long> businessIdList = new ArrayList<Long>();
// for(int i=0;i<businessId.split(",").length;i++){
// businessIdList.add(Long.parseLong(businessId.split(",")[i]));
// }
//
// if(provinceId.equals("") && channelId.equals("") && businessId.equals("") && kpiId.equals("")){
// qualityRuleList = qualityRuleDao.findAll();
// } else {
// qualityRuleList = qualityRuleDao.findByProvinceIdInAndBusinessIdInAndKpiIdInAndChannelIdInOrderByQualityRuleIdDesc(provinceIdList, businessIdList, kpiIdList, channelIdList);
// }
//
// cmszOperationLogService.createLog("查询","质量规则","由筛选项得到质量规则");
// staticQualityRuleList = qualityRuleList;
//
// Gson gson = new Gson();
// response.setContentType("text/Xml;charset=gbk");
// PrintWriter out = null;
// try {
// out = response.getWriter();
// out.println(gson.toJson(qualityRuleList));
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
// }
//
// //删掉质量规则
// @RequestMapping(value = "/deleteOneRule*",method = RequestMethod.GET)
// @ResponseBody
// public void deleteRule(
// @RequestParam(value = "qualityRuleId") String qualityRuleId,
// HttpServletResponse response){
// List<Long> qualityRuleIdList = new ArrayList<Long>();
// String[] qualityRuleIdStr = qualityRuleId.split(",");
// for(int i=0; i<qualityRuleIdStr.length; i++){
// qualityRuleIdList.add(Long.parseLong(qualityRuleIdStr[i]));
// }
//
// qualityRuleService.deleteByQualityRuleId(qualityRuleIdList);
// accuracyRuleService.deleteAccuracyRuleByQualityRuleId(qualityRuleIdList);
// cmszOperationLogService.createLog("删除","更新质量规则","quality_rule_warehouse_info_t. QUALITY_RULE_ID="+qualityRuleId);
// //刷新模型表格
// List<QualityRule> qualityRuleList = new ArrayList<QualityRule>();
// qualityRuleList = qualityRuleDao.findAll();
// staticQualityRuleList = qualityRuleList;
//
// Gson gson = new Gson();
// response.setContentType("text/Xml;charset=gbk");
// PrintWriter out = null;
//
// try {
// out = response.getWriter();
// out.println(gson.toJson(qualityRuleList));
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
//
// //查看准确性规则内容
// @RequestMapping(value = "/findAccuracy*",method = RequestMethod.GET)
// @ResponseBody
// public void findAccuracy(
// @RequestParam(value = "qualityRuleId") String qualityRuleId,
// HttpServletResponse response){
// List<AccuracyRule> accuracyRuleList = accuracyRuleDao.findByQualityRuleId(Long.parseLong(qualityRuleId));
// cmszOperationLogService.createLog("查询","准确性规则","查询准确性规则");
// Gson gson = new Gson();
// response.setContentType("text/Xml;charset=gbk");
// PrintWriter out = null;
//
// try {
// out = response.getWriter();
// out.println(gson.toJson(accuracyRuleList));
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
//根据筛选项更新表格
@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,
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);
Gson gson = new Gson();
response.setContentType("text/Xml;charset=gbk");
PrintWriter out = null;
try {
out = response.getWriter();
out.println(gson.toJson(qualityRuleS));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//删掉质量规则
@RequestMapping(value = "/deleteOneRule*",method = RequestMethod.GET)
@ResponseBody
public void deleteRule(
@RequestParam(value = "qualityRuleId") String qualityRuleId,
HttpServletResponse response){
List<Long> qualityRuleIdList = new ArrayList<Long>();
String[] qualityRuleIdStr = qualityRuleId.split(",");
for(int i=0; i<qualityRuleIdStr.length; i++){
qualityRuleIdList.add(Long.parseLong(qualityRuleIdStr[i]));
}
qualityRuleService.deleteByQualityRuleId(qualityRuleIdList);
accuracyRuleService.deleteAccuracyRuleByQualityRuleId(qualityRuleIdList);
cmszOperationLogService.createLog("删除","更新质量规则","quality_rule_warehouse_info_t. QUALITY_RULE_ID="+qualityRuleId);
//刷新模型表格
List<QualityRule> qualityRuleList = (List<QualityRule>) qualityRuleDao.findAll();
staticQualityRuleList = qualityRuleList;
Gson gson = new Gson();
response.setContentType("text/Xml;charset=gbk");
PrintWriter out = null;
try {
out = response.getWriter();
out.println(gson.toJson(qualityRuleList));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//查看准确性规则内容
@RequestMapping(value = "/findAccuracy*",method = RequestMethod.GET)
@ResponseBody
public void findAccuracy(
@RequestParam(value = "qualityRuleId") String qualityRuleId,
HttpServletResponse response){
List<AccuracyRule> accuracyRuleList = accuracyRuleDao.findByQualityRuleId(Long.parseLong(qualityRuleId));
cmszOperationLogService.createLog("查询","准确性规则","查询准确性规则");
Gson gson = new Gson();
response.setContentType("text/Xml;charset=gbk");
PrintWriter out = null;
try {
out = response.getWriter();
out.println(gson.toJson(accuracyRuleList));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.hp.cmsz.web.commonmanage;
import java.io.UnsupportedEncodingException;
import java.util.List;
//import com.hp.cmsz.entity.APPEWarningDetail;
import com.hp.cmsz.entity.*;
import com.hp.cmsz.repository.*;
import com.hp.cmsz.service.PublicService;
import org.apache.commons.lang3.StringUtils;
import org.apache.regexp.RE;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Controller;
......@@ -19,6 +25,9 @@ import com.hp.cmsz.service.commonmanage.RunTaskService;
import com.hp.cmsz.service.commonmanage.TaskDetailService;
import com.hp.cmsz.web.PageURLController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Controller
@RequestMapping(value = "/BaseManage/TaskManage/*")
public class TaskManageController {
......@@ -31,6 +40,25 @@ public class TaskManageController {
@Autowired
private CmszOperationLogService cmszOperationLogService;
@Autowired
private ModelParameterDao modelParameterDao;
@Autowired
private ChannelDao channelDao;
@Autowired
private DataSourceDao dataSourceDao;
@Autowired
private BusinessDao businessDao;
@Autowired
private com.hp.cmsz.repository.PublicDao PublicDao;
@Autowired
private ChannelDataSourceMapDao channelDataSourceMapDao;
@RequestMapping(value = "/taskHome")
public ModelAndView taskHome(String selectTab) {
ModelAndView modelAndView = new ModelAndView(PageURLController.TaskHome);
......@@ -80,6 +108,7 @@ public class TaskManageController {
}
Page<RunTask> taskList = runTaskService.getRunTaskPage(runTask, pageNumber, pageSize, sortType);
System.out.println(taskList.getSize());
modelAndView.addObject("taskList", taskList);
//modelAndView.addObject("queryCondition", runTask);
modelAndView.addObject("pageSize", pageSize);
......@@ -125,19 +154,49 @@ public class TaskManageController {
runTask = runTaskService.getRunTask(taskId);
} else {
runTask = new RunTask();
runTaskService.saveRunTask(runTask);//能够让模型参数根据任务id来进行关联,先把taskId传到前端
}
if (StringUtils.isNotEmpty(defaultTaskType)) {
runTask.setDefaultTaskType(new Long(defaultTaskType));
}
//模型列表
List<DataModel> dataModelList = runTaskService.getDataModelViewList();
//默认第一个模型的参数列表
List<ModelParameter> modelParameterList = null;
if(dataModelList.size()!=0){
modelParameterList = modelParameterDao.findByDataModelIdAndIfSystemDefault(dataModelList.get(0).getDataModelId(),0L);
}
//查询出所以省份信息
List<Province> provinceList = (List<Province>) PublicDao.findAll();
//查询出所有的渠道信息
List<Channel> channelList=(List<Channel>)channelDao.findChannel();
//查询出所有的数据来源信息
List<DataSource> datasourceList=(List<DataSource>)dataSourceDao.findDataSource();
//查询出所有的业务
List<Business> businessList= (List<Business>) businessDao.findAll();
List<ChannelDataSourceMap> channelDataSourceMapList = (List<ChannelDataSourceMap>) channelDataSourceMapDao.findAll();
modelAndView.addObject("runTask", runTask);
modelAndView.addObject("provinceList", provinceList);
modelAndView.addObject("channelList", channelList);
modelAndView.addObject("datasourceList", datasourceList);
modelAndView.addObject("businessList", businessList);
modelAndView.addObject("channelDataSourceMapList", channelDataSourceMapList);
//modelAndView.addObject("isModel", isModel);
modelAndView.addObject("taskGroupList", runTaskService.getTaskGroupList());
/*modelAndView.addObject("taskTypeList", runTaskService.getTaskTypeList());*/
modelAndView.addObject("sanboxList", taskDetailService.findTaskList(RunTaskDetail.TASK_TYPE_SANDBOX));
modelAndView.addObject("recoverList", taskDetailService.findTaskList(RunTaskDetail.TASK_TYPE_RECOVER));
modelAndView.addObject("dataModelList", runTaskService.getDataModelViewList());
modelAndView.addObject("dataModelList", dataModelList);
modelAndView.addObject("dataModelParameterList", modelParameterList);
modelAndView.addObject("taskTypeList", runTaskService.getTaskTypeList());
cmszOperationLogService.createLog("新增", "模型任务", "RUN_TASK_T.taskId=" + runTask.getTaskId());
return modelAndView;
}
......@@ -175,6 +234,37 @@ public class TaskManageController {
return url;
}
@RequestMapping(value = "/getModelParameterList")
@ResponseBody
public List<ModelParameter> getModelParameterList(String modelId){
return modelParameterDao.findByDataModelIdAndIfSystemDefault(Long.parseLong(modelId),0L);
}
@RequestMapping(value = "/createModelParam*", method = RequestMethod.GET)
@ResponseBody
public void createModelParam(
@RequestParam(value="paramName") String paramName,
@RequestParam(value="paramValue") String paramValue,
@RequestParam(value="paramType") String paramType,
@RequestParam(value="taskId") String taskId,
@RequestParam(value="modelId") String modelId,
HttpServletResponse response, HttpServletRequest request) {
ModelParameter modelParameter = new ModelParameter();
if(!paramName.trim().equals("")){modelParameter.setParameterName(paramName);}
if(!paramValue.trim().equals("")){modelParameter.setParameterValue(paramValue);}
if(!paramType.trim().equals("")){modelParameter.setParameterDataType(paramType);}
if(!taskId.trim().equals("")){modelParameter.setTaskId(Long.parseLong(taskId));}
if(!modelId.trim().equals("")){modelParameter.setDataModelId(Long.parseLong(modelId));}
modelParameter.setIfSystemDefault(1L);
modelParameterDao.save(modelParameter);
}
@RequestMapping(value = "/taskDeleteFrame")
public String taskDeleteFrame(Long taskId, @RequestParam(required = false) String defaultTaskType) {
runTaskService.deleteRunTask(taskId);
......@@ -198,4 +288,13 @@ public class TaskManageController {
@RequestParam(required = false) String defaultTaskType) throws UnsupportedEncodingException {
return runTaskService.checkNameAndCode(java.net.URLDecoder.decode(name, "UTF-8"), code, id, defaultTaskType);
}
// public APPEWarningDetail ModelPreview(String id){
//
//
// return null;
// };
}
\ No newline at end of file
......@@ -109,9 +109,8 @@ public class ModelMaintainController {
if(!paramName.trim().equals("")){modelParameter.setParameterName(paramName);}
if(!paramValue.trim().equals("")){modelParameter.setParameterValue(paramValue);}
if(!paramType.trim().equals("")){modelParameter.setParameterDataType(paramType);}
modelParameter.setIfSystemDefault(0L);
modelParameterDao.save(modelParameter);
Long dataModelId = modelParameter.getParameterId();
dataModelIdList.add(dataModelId);
}
......
......@@ -103,7 +103,7 @@ public class ModelParameterConfigurationController {
if(!dataModelId.trim().equals("")){
dataModel = dataModelDao.findByDataModelId(Long.parseLong(dataModelId));
modelParameterList = modelParameterDao.findByDataModelId(Long.parseLong(dataModelId));
modelParameterList = modelParameterDao.findByDataModelIdAndIfSystemDefault(Long.parseLong(dataModelId),0L);
}
......
......@@ -428,6 +428,9 @@ public class RegularityAnalysisController {
//Comment by Huach on 20140731 begin
String dbConXml =Constant.CONFIG_FILE;// "/home/pentaho/conf" + System.getProperty("file.separator") + "application.properties";
//Comment by Huach on 20140731 end
System.out.println("-=====");
System.out.println(PropertiesUtil.readValue(dbConXml, "jdbc.dbip"));
System.out.println("======");
s.set("dbHost", PropertiesUtil.readValue(dbConXml, "jdbc.dbip"));
s.set("dbPort", Integer.valueOf(PropertiesUtil.readValue(dbConXml, "jdbc.dbport")));
......
......@@ -12,7 +12,7 @@ local.ip.prefix=192.168
#jdbc.driver=com.vertica.jdbc.Driver
#vertica database ip address
jdbc.dbip=192.168.113.117
jdbc.dbip=hg-computer
jdbc.dbport=5433
......
......@@ -12,7 +12,7 @@ local.ip.prefix=192.168
#jdbc.driver=com.vertica.jdbc.Driver
#vertica database ip address
jdbc.dbip=192.168.113.117
jdbc.dbip=hg-computer
jdbc.dbport=5433
......
......@@ -22,13 +22,6 @@
.table-null tr td:last-child .form-control,.table-null tr td:last-child table{
width: 400px;
}
.file-box{ position:relative;}
.file{ position:absolute; top:0; height:30px; filter:alpha(opacity:0);opacity:0;width:470px;cursor: pointer; }
/* .file-box{ position:relative;width:340px}
.txt{ height:22px; border:1px solid #cdcdcd; width:180px;}
.btn{ background-color:#FFF; border:1px solid #CDCDCD;height:24px; width:70px;}
.file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0);opacity: 0;width:260px } */
</style>
</head>
......@@ -53,60 +46,68 @@
<form action="#" class="form-horizontal" id="ruleMaintainForm" method="post" enctype="multipart/form-data">
<table id="ruleMaintainTable" class="table-null">
<tr><td>省份(<font color="red">必填</font>):</td>
<td><tags:ProvinceTag /></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}">
<option value="${dataSource.dataSourceId}">${dataSource.dataSourceName}</option>
</c:forEach>
</select></td>
</tr>
<tr><td>渠道(<font color="red">必填</font>):</td>
<td><tags:ChannelTag /></td>
<td><select class="form-control" name="channel" id="channel" >
<c:forEach var="channel" items="${channelList}">
<option value="${channel.channelId}">${channel.channelName}</option>
</c:forEach>
</select></td>
</tr>
<tr><td>业务(<font color="red">必填</font>):</td>
<td><tags:BusinessTag /></td>
<td >
<div id="businesstd"></div>
<input type="hidden" id="business" name="business" value='${businessList}' />
</td>
</tr>
<tr><td>数据来源(<font color="red">必填</font>):</td>
<td><tags:DataSourceTag /></td>
<tr><td>指标(<font color="red">必填</font>):</td>
<td>
<div id="kpitd"></div>
<input type="hidden" id="kpi" name="kpi" value='${kpiList}' />
</td>
</tr>
<tr><td>数据采集频率(<font color="red">必填</font>):</td>
<td><select class="form-control" name="" id="" style="display: inline;">
<option value="0">30分钟</option>
<option value="1">1小时</option>
<option value="2">1天</option>
<option value="3">1月</option>
<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>
<tr><td>指标监控时间(<font color="red">必填</font>):</td>
<td>
<div>
<input type="text" class="form-control" name="kpiMonitorTime" id="kpiMonitorTime" style="display: inline;" />
<select class="form-control" name="" id="" style="display: inline;">
<input type="text" style="width:200px" name="kpiMonitorTime" id="kpiMonitorTime" style="display: inline;" />
<select style="width:200px" name="kpiUnit" id="kpiUnit" style="display: inline;">
<option value="0">分钟</option>
<option value="1">小时</option>
<option value="2"></option>
<option value="3"></option>
</select>
</div></td>
</select></td>
</tr>
<tr><td>指标检测范围<font color="red">必填</font>):</td>
<tr><td>指标业务时间<font color="red">必填</font>):</td>
<td>
<div>
<input type="text" class="form-control" name="kpiMonitorRange" id="kpiMonitorRange" style="display: inline;" />
<select class="form-control" name="" id="" style="display: inline;">
<option value="0">分钟</option>
<option value="1">小时</option>
<option value="2"></option>
<option value="3"></option>
</select>
</div></td>
<input type="text" class="form-control" name="businessTime" id="businessTime" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'businessTime\')}'})" />
</td>
</tr>
<tr><td>完整性阈值(<font color="red">必填</font>):</td><td><input type='text' name='integrityThresholdValue' id='integrityThresholdValue' class="form-control" style="display: inline;"/></td></tr>
<tr><td>及时性阈值(<font color="red">必填</font>):</td><td><input type='text' name='timelinessThresholdValue' id='timelinessThresholdValue' class="form-control" style="display: inline;"/></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="accuracyRule" id="accuracyRule" >
<option value="0"></option>
<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><input type='text' name='repeatedCheckGranularity' id='repeatedCheckGranularity' class="form-control" style="display: inline;"/></td></tr>
......@@ -116,7 +117,6 @@
<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>
<button type="reset" class="btn btn-warning" id="ruleBack">返回</button>
</td></tr>
</table>
......@@ -132,10 +132,10 @@
<script type="text/javascript">
$(".range").hide();
$(".repeate").hide();
$("#accuracyRule").change(function (){
var selectValue = $("#accuracyRule").val();
$("#ruleType").change(function (){
var selectValue = $("#ruleType").val();
console.log(selectValue);
if (selectValue == 0){
if (selectValue == ""){
$(".range").hide();
$(".repeate").hide();
}
......@@ -149,54 +149,54 @@ $("#accuracyRule").change(function (){
}
})
//form表单重置
$("#modelReset").click(function(){
deleteAllTr();
});
//form表单提交
$("#modelSubmit").click(function(){
if($.trim($("#dataModelName").val())==""){
$.alert("数据模型名称不能为空");
}else if($("#modelExeScriptName").val()==""){
$.alert("模型执行脚本不能为空");
}else if($("#businessStartTime").val()==""){
$.alert("业务开始时间不能为空");
}else if($("#businessEndTime").val()==""){
$.alert("业务结束时间不能为空");
$("#ruleSubmit").click(function(){
if($.trim($("kpiMonitorTime").val())==""){
$.alert("指标监控时间不能为空");
}else if($("#businessTime").val()==""){
$.alert("指标业务时间不能为空");
}else if($("#ruleCrtTime").val()==""){
$.alert("规则创建时间不能为空");
}else if($("#ruleUpdateTime").val()==""){
$.alert("规则更新时间不能为空");
}else{
if($.trim($("#paramName").val())!=""){
if($.trim($("#ruleType").val())!=""){
$.dialog({
title: "提醒",
content: "有参数尚未添加,确定提交",
content: "有准确性规则参数尚未添加,确定提交",
ok: function(){
$("#modelSubmit").attr("disabled",true);
$("#ruleSubmit").attr("disabled",true);
var i = $("#addTr").find("tr").size();
if(i==0){
var createForm=$("#modelMaintainForm");
createForm.attr("action","${ctx}/ModelManage/ModelMaintain/saveModelDataForm");
var createForm=$("#ruleMaintainForm");
createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
createForm.submit();
createForm.attr("action","#");
}else{
$("#addTr").find("tr").each(function(){
//alert($(this).find("td").eq(0).html());
var paramName = $(this).find("td").eq(0).html();
var paramValue = $(this).find("td").eq(1).html();
var paramType = $(this).find("td").eq(2).html();
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();
$.ajax({
type : "GET",
contentType : "application/json",
url: "${ctx}/ModelManage/ModelMaintain/createModelParam?paramName="+encodeURIComponent(paramName)+"&paramValue="+encodeURIComponent(paramValue)+"&paramType="+encodeURIComponent(paramType),
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=$("#modelMaintainForm");
createForm.attr("action","${ctx}/ModelManage/ModelMaintain/saveModelDataForm");
var createForm=$("#ruleMaintainForm");
createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
createForm.submit();
createForm.attr("action","#");
}
......@@ -210,32 +210,37 @@ $("#accuracyRule").change(function (){
cancelValue: "取消",
});
}else{
$("#modelSubmit").attr("disabled",true);
$("#ruleSubmit").attr("disabled",true);
var i = $("#addTr").find("tr").size();
if(i==0){
var createForm=$("#modelMaintainForm");
createForm.attr("action","${ctx}/ModelManage/ModelMaintain/saveModelDataForm");
var createForm=$("#ruleMaintainForm");
createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
createForm.submit();
createForm.attr("action","#");
}else{
$("#addTr").find("tr").each(function(){
//alert($(this).find("td").eq(0).html());
var paramName = $(this).find("td").eq(0).html();
var paramValue = $(this).find("td").eq(1).html();
var paramType = $(this).find("td").eq(2).html();
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();
$.ajax({
type : "GET",
contentType : "application/json",
url: "${ctx}/ModelManage/ModelMaintain/createModelParam?paramName="+encodeURIComponent(paramName)+"&paramValue="+encodeURIComponent(paramValue)+"&paramType="+encodeURIComponent(paramType),
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=$("#modelMaintainForm");
createForm.attr("action","${ctx}/ModelManage/ModelMaintain/saveModelDataForm");
var createForm=$("#ruleMaintainForm");
createForm.attr("action","${ctx}/AnalysisSupport/QualityRuleMaintain/saveRuleDataForm");
createForm.submit();
createForm.attr("action","#");
}
......@@ -248,9 +253,114 @@ $("#accuracyRule").change(function (){
}
});
$("#modelBack").click(function(){
location.href="${ctx}/ModelManage/ModelResult";
$("#ruleBack").click(function(){
location.href="${ctx}/AnalysisSupport/QualityRuleResult";
});
var dataSourceValue = $("#dataSource").val();
var channelValue = $("#channel").val();
$("#dataSource").change(function(){
dataSourceValue = $("#dataSource").val();
console.log(dataSourceValue);
updateBusiness(dataSourceValue,channelValue);
});
$("#channel").change(function(){
channelValue = $("#channel").val();
console.log(channelValue);
updateBusiness(dataSourceValue,channelValue);
});
function getBusinessCheckedValues(){
var businessArray = new Array();
var i=0;
$("#business: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;
}
var businessIds = getBusinessCheckedValuesString();
function updateKpi(businessIds){
$.ajax({
type : "GET",
contentType : "application/json",
url: "${ctx}/AnalysisSupport/QualityRuleMaintain/findKpiId?businessIds="+businessIds,
async: false,
beforeSend: function(data) {},
success: function(data){
var td = $("#kpitd");
td.empty();
console.log(data)
data = JSON.parse(data)
data.forEach(function(t){
td.append("<input type='checkbox' name='kpiinput' class='kpiItem' value='"+t[0]+"' checked >"+t[1]+"</input>")
});
}
});
}
function updateBusiness(dataSource,channel){
console.log(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();
console.log(data)
data = JSON.parse(data)
console.log(data)
data.forEach(function(t){
td.append("<input type='checkbox' name='businessinput' class='businessItem' value='"+t[0]+"' checked >"+t[1]+"</input>")
businessIds+=t[0]+",";
console.log("ids:"+businessIds);
});
updateKpi(businessIds);
}
});
$("#business").click(function(){
var clickFlag=true;
$("#business").each(function(){
if($(this).attr("checked") == null||$(this).attr("checked") == false){ clickFlag=false;}
});
$("#business").attr("checked",clickFlag);
updateKpi(businessIds);
});
}
</script>
</body>
......
......@@ -40,12 +40,11 @@
<div class="slideMenu" id="cbp-spmenu-s2" style="">
<div class="form">
<tags:ProvinceTag />
<tags:ChannelTag />
<tags:BusinessTag />
<tags:Public_ProvinceTag />
<tags:GJFX_datasource_channle_business/>
<button id="submit" class="btn btn-primary" onclick="modelResultSubmit()">提交</button>
<button id="disable" class="btn btn-warning" onclick="modelResultReset()">重置</button>
<button id="submit" class="btn btn-primary" onclick="ruleResultSubmit()">提交</button>
<button id="disable" class="btn btn-warning" onclick="ruleResultReset()">重置</button>
</div>
</div>
......@@ -92,8 +91,15 @@
</div>
<script type="text/javascript" src="${ctx}/static/js/ruleResultDetailTable.js"></script>
<script type="text/javascript">
var receiveRulePageNum = "${rulePageNum}";
ruleResultDetailTable();
if(receiveRulePageNum!=1){
$("#goPageNo").attr("value",receiveRulePageNum);
$("#jumpButton").click();
}
$("#createRule").click(function(){
$.dialog({
......@@ -136,6 +142,114 @@ $("#createRule").click(function(){
});
});
function ruleResultSubmit(){
var dataSource=getStatsDataSourceCheckedValuesString();
var chnnal=getStatsChannelCheckedValuesString();
var bussines=getStatsBusinessCheckedValuesString();
var province=getProvinceCheckedValuesString();
if(dataSource==""){
$.alert("数据来源的选择不能为空");
}else if(chnnal===""){
$.alert("渠道的选择不能为空");
}else if(bussines===""){
$.alert("业务的选择不能为空");
}else if(province===""){
$.alert("省份的选择不能为空");
}else{
toggleMenu('slidePushMenus');//隐藏筛选项
//数据来源标签
$('#DataSourceTag').text("数据来源").append($("<span class='badge'></span>").text(getStatsDataSourceCheckedValues().length)).attr('data-original-title',getStatsDataSourceCheckedTitles()).tooltip();
//渠道标签
$('#ChannelTag').text("渠道").append($("<span class='badge'></span>").text(getStatsChannelCheckedValues().length)).attr('data-original-title',getStatsChannelCheckedTitles()).tooltip();
//业务标签
$('#BusinessTag').text("业务").append($("<span class='badge'></span>").text(getStatsBusinessCheckedValues().length)).attr('data-original-title',getStatsBusinessCheckedTitlesString()).tooltip();
//省份标签
$('#ProvinceTag').text("省份").append($("<span class='badge'></span>").text(getProvinceCheckedValues().length)).attr('data-original-title',getProvinceCheckedTitles()).tooltip();
$.ajax({
type : 'GET',
contentType : 'application/json',
url: "${ctx}/AnalysisSupport/QualityRuleResult/ruleTableChange?province="+province+"&dataSource="+dataSource+"&chnnal="+chnnal+"&bussines="+bussines,
dataType : 'text',
async: false,
beforeSend: function(data) {
},
success: function(data) {
$("#qualityRuleView").val(data);
ruleResultDetailTable();
ruleId="";
$("#updateRule").attr("disabled", true);
toggleMenu('slidePushMenus2');//隐藏筛选项
updateTag(true);
}
});
}
function ruleResultReset(){
ProvinceReset();
statsDataSourceReset();//三级联动重置
}
//更新按钮点击
$("#updateModel").click(function(){
var pageNum = $("#goPageNo").val();
$.dialog({
title: "提醒",
content:"确定修改模型?",
ok: function(){location.href="${ctx}/AnalysisSupport/RuleConfiguration?qualityRuleId="+ruleId+"&rulePageNum="+pageNum;},
okValue:"确定",
cancel: function(){},
cancelValue:"取消",
lock:true
});
//查看准确性规则
function lookParm(qualityRuleId){
$.dialog({
title:"准确性规则",
content:"<div id='paramList'>"+
"<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='20%'>参数ID号</th> <th width='35%'>参数名</th> <th width='20%'>参数值</th> <th width='25%'>参数类型</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div>"+
"</div>",
lock:true,
width:800,
initialize:function(){
$.ajax({
type : 'GET',
contentType : 'application/json',
url: "${ctx}/AnalysisSupport/QualityRuleResult/findAccuracy?qualityRuleId="+qualityRuleId,
dataType : 'text',
beforeSend: function(data) {
},
success: function(data){
for(var i=0;i<data.length;i++){
if(data[i]=='\"'){
data=data.replace('\"','\'');
}
}
data=eval("("+data+")");
if(data!=null && data!=""){
var paramTbody = $('#paramList tbody');
for(var i=0;i<data.length;i++){
if(data[i].parameterValue=="undefined" || data[i].parameterValue==null || data[i].parameterValue==""){
data[i].parameterValue="";
}
paramTbody.append($("<tr></tr>").append("<td>"+data[i].parameterId+"</td>")
.append("<td>"+data[i].parameterName+"</td>")
.append("<td>"+data[i].parameterValue+"</td>")
.append("<td>"+data[i].parameterDataType+"</td>"));
}
}
}
});
}
});
}
});
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -291,7 +291,8 @@
cancel: function(){},
cancelValue: "取消",
});
}else{
}
else{
$("#modelSubmit").attr("disabled",true);
var i = $("#addTr").find("tr").size();
......
......@@ -28,6 +28,10 @@
$("#taskLogFrame").attr('src', '${ctx}/BaseManage/TaskLogManage/taskLogListFrame');
}
});
});
</script>
......@@ -60,7 +64,7 @@
<div class="row me-row" style="margin-top:0px">
<div class="content clearfix">
<div class="row" style="margin-top:0px">
<iframe id="taskManageFrame" style="height:680px" scrolling="no" src="${ctx}/BaseManage/TaskManage/taskListFrame?defaultTaskType=1"> </iframe>
<iframe id="taskManageFrame" style="height:800px" src="${ctx}/BaseManage/TaskManage/taskListFrame?defaultTaskType=1"> </iframe>
</div>
</div>
</div>
......@@ -69,5 +73,60 @@
</div>
</div>
</div>
<script type="">
function OpenDialog(data) {
// var data = JSON.parse(data);
var content ="<div class='dialog-p' style='max-height: 560px; overflow-y: scroll; overflow-x: auto;'>" +
" <div class='col-xs-12'>" +
" <div class='panel panel-default'>" +
" <div class='panel-heading'>模型预览<input onclick='createWorkingDetail()' id='createWorkingDetail' style='float:right' type='button' class='btn btn-primary' value='参数修改'></div>" +
" <div class='panel-body'>"+
" <table class='table table-vertical'>"+
" <tr><td>"+
" <table class='table table-vertical'>" +
" <tr>" +
" <td width='10%'>省份</td>" +
" <td>自定义</td>" +
" <td width='10%'>数据来源</td>" +
" <td>自定义</td>" +
" <td width='10%'>业务</td>" +
" <td>自定义</td>" +
" <td width='10%'>渠道</td>" +
" <td>自定义</td>" +
" </tr>" +
" <tr>" +
" <td>指标编码</td>" +
" <td>自定义</td>" +
" <td>指标名称</td>" +
" <td>自定义</td>" +
" <td>预测开始时间</td>" +
" <td>自定义</td>" +
" <td>预测结束时间</td>" +
" <td>自定义</td>" +
" </tr>" +
" <tr>" +
" <td colspan='8' align='center'>图表展示</td>" +
" </tr>" +
" <tr>" +
" <td colspan='8'>" +
" <div class=''>" +
<%--" <iframe id='ewarningIf' style='height:560px;padding: 7px;' scrolling='no' src='${biserver_config}&path=MonitorOperation/WarnAnalysis&action=GJFX_DETAIL_RELATED_EWARN.xaction&wrapper=false&height=534&WarningID="+getCol(t1, 'warningId')+ "&WarningSourceTag="+getCol(t1, 'warningSourceId')+ "&ctx=${ctx}" +"'></iframe>" +--%>
" </div>" +
" </td>" +
" </tr>" +
"</table>";
$.dialog({
title:'模型预览结果',
content:content,
lock: true
});
}
function preview() {
OpenDialog();
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -25,7 +25,7 @@
</style>
<script type="text/javascript" src="${ctx}/static/js/validation.js"></script>
<script language="javascript">
<script language="javascript" type="text/javascript">
var sandboxOptions = new Array();
var recoverOptions = new Array();
var dataModelOptions = new Array();
......@@ -34,6 +34,10 @@ var minuteOption = new Array();
var hourOption = new Array();
var dayOption = new Array();
var monthOption = new Array();
var provinceOptions = new Array();
var datasourceOptions = new Array();
var channelOptions = new Array();
var businessOptions = new Array();
$(document).ready(function() {
changeInputStatus('parallelFlg', 'parallelNums');
......@@ -56,6 +60,60 @@ var monthOption = new Array();
</c:forEach>
$('#modelId').append(dataModelOptions);
<c:forEach items="${provinceList}" var="province">
var option = new Option('${province.provinceName}','${province.provinceId}');
provinceOptions.push(option);
</c:forEach>
$('#provinceId').append(provinceOptions);
<c:forEach items="${datasourceList}" var="datasource" varStatus="status">
var option = new Option('${datasource.dataSourceName}','${datasource.dataSourceId}');
datasourceOptions.push(option);
<c:if test ="${status.first}">
<c:forEach items="${channelDataSourceMapList}" var="channelDataSourceMap" >
<c:if test ="${channelDataSourceMap.dataSourceId == datasource.dataSourceId}">
var channelName = "";
<c:forEach items="${channelList}" var="channel" varStatus="channelStatus">
<c:if test="${channel.channelId == channelDataSourceMap.channelId}" >
channelName='${channel.channelName}';
</c:if>
</c:forEach>
var channelOption = new Option(channelName,'${channelDataSourceMap.channelId}');
channelOptions.push(channelOption);
</c:if>
</c:forEach>
</c:if>
</c:forEach>
$('#datasourceViewId').append(datasourceOptions);
$('#channelId').append(channelOptions);
function changeBusinessData(){
$('#businessId').empty();
businessOptions=[];
<c:forEach items="${channelDataSourceMapList}" var="channelDataSourceMap">
if('${channelDataSourceMap.channelId}' == $("#channelId").val() && '${channelDataSourceMap.dataSourceId}' == $("#datasourceViewId").val()){
<c:forEach items="${businessList}" var="business">
<c:if test="${business.channelDataSourceMapId == channelDataSourceMap.channelDataSourceMapId}">
var option = new Option('${business.businessName}','${business.businessId}');
businessOptions.push(option);
</c:if>
</c:forEach>
}
</c:forEach>
$('#businessId').append(businessOptions);
}
changeBusinessData();
<c:forEach items="${dataModelParameterList}" var="dataModelParameter">
var tr = "<tr><td>${dataModelParameter.parameterName}</td><td><input type='text' class='parameterValue' name='parameterValue' value='${dataModelParameter.parameterValue}'/></td><td>${dataModelParameter.parameterDataType}</td></tr>";
$('#addTr').append(tr);
</c:forEach>
changeTaskType();
$('#modelId').val('${runTask.dataModelView.dataModelId}');
$('#detailSelect').val('${runTask.taskDetail.taskInfoId}');
......@@ -83,12 +141,59 @@ var monthOption = new Array();
if($('#frequencyValueHidden').val()) {
$('#frequencyValue').val($('#frequencyValueHidden').val());
}
$('#modelId').change(function(){
var modelId = $('#modelId').val();
$.ajax({
type : 'GET',
contentType : 'application/json',
url: "${ctx}/BaseManage/TaskManage/getModelParameterList?modelId="+modelId,
dataType : 'text',
beforeSend: function(data) {},
success: function(data) {
$('#addTr').empty();
data = JSON.parse(data)
data.forEach(function(t){
var tr = "<tr><td>"+t.parameterName+"</td><td><input type='text' id='parameterValue' value='"+t.parameterValue+"'/></td><td>"+t.parameterDataType+"</td></tr>";
$('#addTr').append(tr);
})
}
});
});
$('#datasourceViewId').change(function(){
$("#channelId").empty();
channelOptions =[];
<c:forEach items="${channelDataSourceMapList}" var="channelDataSourceMap" >
if('${channelDataSourceMap.dataSourceId}'==$("#datasourceViewId").val()){
var channelName = "";
<c:forEach items="${channelList}" var="channel" varStatus="channelStatus">
<c:if test="${channel.channelId == channelDataSourceMap.channelId}" >
channelName='${channel.channelName}';
</c:if>
</c:forEach>
var channelOption = new Option(channelName,'${channelDataSourceMap.channelId}');
channelOptions.push(channelOption);
}
</c:forEach>
$('#channelId').append(channelOptions);
changeBusinessData();
});
$('#channelId').change(function(){
changeBusinessData();
})
});
function changeInputStatus(eleId, objId) {
$('#' + objId).attr('disabled', !$('#' + eleId).attr('checked'));
}
function submitForm() {
var url = '${ctx}/BaseManage/TaskManage/checkNameAndCode';
var data = 'name=' + $('#name').val() + "&code=" + $('#code').val() + "&id=" + $('#taskId').val() + "&defaultTaskType=" + $('#defaultTaskType').val() ;
......@@ -97,7 +202,37 @@ var monthOption = new Array();
$('#frequency').focus();
return;
} */
if (validate()) {
var i = $("#addTr").find("tr").size();
if(i==0){
checkAndSubmit(url, encodeURI(encodeURI(data)));
}else {
$("#addTr").find("tr").each(function () {
//alert($(this).find("td").eq(0).html());
var modelId = $('#modelId').val();
var paramName = $(this).find("td").eq(0).html();
var paramValue = $(this).find("td").eq(1).find("input").val();
var paramType = $(this).find("td").eq(2).html();
var taskId = $('#taskId').val();
console.log(paramValue)
$.ajax({
type: "GET",
contentType: "application/json",
url: "${ctx}/BaseManage/TaskManage/createModelParam?modelId="+encodeURIComponent(modelId)+"&paramName=" + encodeURIComponent(paramName) + "&paramValue=" + encodeURIComponent(paramValue) + "&paramType=" + encodeURIComponent(paramType) + "&taskId=" + encodeURIComponent(taskId),
dataType: "text",
async: false,
beforeSend: function (data) {
},
success: function () {
i--;
if (i == 0) {
checkAndSubmit(url, encodeURI(encodeURI(data)));
}
}
});
});
}
}
}
function checkFrequency() {
......@@ -184,8 +319,8 @@ var monthOption = new Array();
}
function showDetail() {
$('#detailLabel').removeClass("hidden");
$('#detailDiv').removeClass("hidden");
$('#detailLabel').removeClass("hidden");
$('#modelLabel').addClass("hidden");
$('#modelDiv').addClass("hidden");
......@@ -233,6 +368,20 @@ var monthOption = new Array();
$('#frequencyValue').append(monthOption);
}
}
function abandonTask(){
$.ajax({
type: "GET",
contentType: "application/json",
url: "${ctx}/BaseManage/TaskManage/taskDeleteFrame?taskId="+$('#taskId').val(),
dataType: "text",
async: false,
beforeSend: function (data) {
},
success: function () {
window.location.href='${ctx}/BaseManage/TaskManage/taskListFrame?defaultTaskType=${runTask.defaultTaskType}'
}
});
}
</script>
</head>
<body>
......@@ -271,6 +420,38 @@ var monthOption = new Array();
</tr>
<tr>
<td id="provinceLabel">省份:</td>
<td id="provinceDiv">
<select class="form-control input-sm" id="provinceId" name="provinceView.provinceId">
</select>
</td>
</tr>
<tr>
<td id="dataSourceLabel">数据来源:</td>
<td id="dataSourceDiv">
<select class="form-control input-sm" id="datasourceViewId" name="dataSource.dataSourceId" >
</select>
</td>
</tr>
<tr>
<td id="channelLabel">渠道:</td>
<td id="channelDiv">
<select class="form-control input-sm" id="channelId" >
</select>
</td>
</tr>
<tr>
<td id="businessLabel">业务:</td>
<td id="businessDiv">
<select class="form-control input-sm" id="businessId" >
</select>
</td>
</tr>
<tr>
<td>任务组:</td>
<td>
<select class="form-control input-sm" id="taskGroup" name="taskGroup.taskgroupId">
......@@ -345,7 +526,6 @@ var monthOption = new Array();
</select>
</td>
</tr>
<tr id="detailRow">
<td id="detailLabel">数据维护任务信息:</td>
<td id="detailDiv">
......@@ -353,7 +533,6 @@ var monthOption = new Array();
</select>
</td>
</tr>
<tr>
<td>下次运行时间(<font color="red">必填</font>):</td>
<td>
......@@ -379,17 +558,18 @@ var monthOption = new Array();
</tr>
</c:if>
<tr>
<td>任务内容</td>
<td>模型参数</td>
<td>
<c:if test="${runTask.defaultTaskType == 1 }">
<textarea class="form-control input-sm" rows="6" maxlength="666" disabled>r_model_task_agent.pl</textarea>
<input type="hidden" name="taskContext" value="r_model_task_agent.pl">
</c:if>
<c:if test="${runTask.defaultTaskType != 1 }">
<textarea class="form-control input-sm" rows="6" id="taskContextArea" maxlength="666">${runTask.taskContext}</textarea>
<input type="hidden" name="taskContext" id="taskContext" value="{runTask.taskContext}">
</c:if>
<div style="width:420px;height: 130px;overflow: auto">
<table class="table table-hover table-striped" id="displayParam" >
<thead>
<tr><th>参数名</th><th>参数值</th><th>参数类型</th></tr>
</thead>
<tbody id="addTr">
</tbody>
</table>
</div>
</td>
</tr>
<c:if test="${runTask.defaultTaskType != 3 }">
......@@ -405,7 +585,7 @@ var monthOption = new Array();
<td>
<button type="button" id="modelSubmit" class="btn btn-primary" onclick="saveForm('taskId');">确定</button>
<!-- <button type="reset" class="btn btn-default" id="modelReset">清空</button> -->
<button type="reset" class="btn btn-warning" id="modelBack" onclick="window.location.href='${ctx}/BaseManage/TaskManage/taskListFrame?defaultTaskType=${runTask.defaultTaskType}'">返回</button>
<button type="reset" class="btn btn-warning" id="modelBack" onclick="abandonTask()">返回</button>
</td>
</tr>
</table>
......
......@@ -121,30 +121,7 @@ taskName = "自定义任务";
cancelValue:"取消",
lock:true
});
/* $('#newTaskStatus').val(status);
$('#targetTaskId').val(id);
$('#queryForm').submit();
$.ajax({
type : 'post',
'url' : '${ctx}/BaseManage/TaskManage/queryResultFrame',
data : $('#queryForm').serialize() + "&page=" + page,
success : function(data) {
alert("操作成功")
}
}); */
}
/* function updateStatus(status, id) {
$.ajax({
type : 'post',
'url' : '${ctx}/BaseManage/TaskManage/updateStatusFrame',
data : "newTaskStatus=" + status + "&taskId=" +id,
success : function(data) {
queryResult($('#currentPage').val);
}
});
} */
function queryResult(page) {
$.ajax({
......@@ -157,6 +134,11 @@ taskName = "自定义任务";
}
});
}
function preview(){
var id = $('input[name="taskId"]:checked').val();
parent.preview();
}
$(document).ready(function(){
queryResult(1);
......@@ -267,5 +249,6 @@ taskName = "自定义任务";
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
......@@ -12,9 +12,10 @@
<button class="btn-sm btn btn-warning btn-sm btn-group btn-group-cog" onclick="deleteTask();">删除</button>
<button class="btn-sm btn btn-primary btn-sm btn-group btn-group-cog" onclick="addTask();">新建</button>
<%--create by afe 2017-10-26--%>
<button class="btn-sm btn btn-primary btn-sm btn-group btn-group-cog" onclick="">模型预览</button>
<button class="btn-sm btn btn-primary btn-sm btn-group btn-group-cog" id="ModelPreview" onclick="preview()">模型预览</button>
</div>
</div>
<table class="table table-hover table-striped">
<thead>
<tr>
......@@ -39,6 +40,7 @@
</tr>
</thead>
<tbody>
<c:forEach items="${taskList.content}" var="runTask">
<tr>
<td><input type="radio" name="taskId" id="taskId" value="${runTask.taskId}" /></td>
......
......@@ -30,6 +30,11 @@
});
$("#${selectTab}").click();
});
</script>
</head>
......
......@@ -128,17 +128,16 @@ function ruleResultDetailTable(){
header[0] = ["","<input type='radio' name='update'id='update' onclick='javascript:radioChoose(this);'/>","1%",""];
header[1] = ["质量规则ID","qualityRuleId","7%","15"];
header[2] = ["省份","provinceName","7%","15"];
header[3] = ["渠道","qualityRuleId","7%","15"];
header[4] = ["业务","qualityRuleId","7%","15"];
header[5] = ["数据来源","qualityRuleId","7%","15"];
header[6] = ["数据采集频率","qualityRuleId","7%","15"];
header[7] = ["指标监控时间","qualityRuleId","7%","15"];
header[8] = ["指标监控时间范围","qualityRuleId","7%","15"];
header[9] = ["完整性阈值","qualityRuleId","7%","15"];
header[10] = ["及时性阈值","qualityRuleId","7%","15"];
header[11] = ["数据类型","qualityRuleId","7%","15"];
header[12] = ["准确性规则","qualityRuleId","7%","15"];
header[2] = ["数据来源","dataSourceName","7%","15"];
header[3] = ["渠道","channelName","7%","15"];
header[4] = ["业务","businessName","7%","15"];
header[5] = ["指标名称","qualityRuleId","7%","15"];
header[6] = ["指标编码","qualityRuleId","7%","15"];
header[7] = ["数据类型","qualityRuleId","7%","15"];
header[8] = ["数据采集频率","qualityRuleId","7%","15"];
header[9] = ["指标监控时间","qualityRuleId","7%","15"];
header[10] = ["指标业务时间","qualityRuleId","7%","15"];
header[11] = ["准确性规则","qualityRuleId","7%","15"];
window.pagging = new table_pagging({limit:12,tableId:'ruleResultTable',header:header});
//pagging.pagging(jsonData);
......@@ -299,17 +298,6 @@ table_pagging.prototype = {
tdContext = "&nbsp;";
}
/*if(K==3){
if(tdContext!="&nbsp;"){
var strLength = tdContext.lastIndexOf(".");
var strBody = tdContext.substring(0,strLen-14);
var strExt = tdContext.substring(strLen);
tdContext=strBody+strExt;
}
}*/
// if(k==12){ //显示协查单的详细列表
// tdContext= "<a target='_blank' href='/CmszMonitorAnalysis/MonitorOperation/WorkingOrderReasult?xcdId="+this.getData(this.objectlist[i],this.header[k][1])+"'>"+ tdContext+"</a>"
if(k==9){
if(tdContext!="&nbsp;"){
......@@ -323,8 +311,8 @@ table_pagging.prototype = {
}
}
if(k==11){
tdContext = "<a href='javascript:;' onclick='lookParm(\""+this.getData(this.objectlist[i],"dataModelId")+"\",\""+this.getData(this.objectlist[i],"dataModelName")+"\")'>查看参数</a>";
//tdContext = "<a href='javascript:;' onclick=\"openDialog('"+this.getData(this.objectlist[i],"dataModelId")+"','"+ this.getData(this.objectlist[i],"dataModelName")"')\">查看参数</a>";
tdContext = "<a href='javascript:;' onclick='lookParm(\""+this.getData(this.objectlist[i],"qualityRuleId")+"\")'>查看参数</a>";
}
if(k==4){
if (this.header[k][4] && !(tdContext == "&nbsp;")) {
......@@ -364,12 +352,6 @@ table_pagging.prototype = {
}
}
console.log(tdContext);
td.innerHTML = tdContext;
......@@ -557,8 +539,8 @@ table_pagging.prototype = {
if(clickObj.checked){
//alert(clickObj);
//alert(clickObj.nextSibling.innerHTML);
$("#updateModel").attr("disabled", false);
modelId=parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].dataModelId);
$("#updateRule").attr("disabled", false);
ruleId=parseInt(obj[parseInt(clickObj.nextSibling.innerHTML)].qualityRuleId);
}
}
\ No newline at end of file
......@@ -88,7 +88,7 @@ function checkKpi() {
}
function checkAndSubmit(url, data) {
if (validate()) {
$.ajax({
type : 'POST',
url: url,
......@@ -105,7 +105,7 @@ function checkAndSubmit(url, data) {
}
}
});
}
}
function saveForm(id) {
......
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