function checkCultivation() { var f = new SCFile("artcultivation", SCFILE_READONLY); var sql = ""; sql = sql + ' SELECT TOP ' + TOP_COUNT + ' ta01.o.id, ta01.p.id, ta01.sysmodcount '; sql = sql + ' FROM artcultivation ta01, artscindex ta02 '; sql = sql + ' WHERE ta01.o.id = ta02.o.id AND not null(ta01.sysmodcount) AND (null(ta02.cultivation.sysmodcount) or ta01.sysmodcount > ta02.cultivation.sysmodcount) '; sql = sql + ' ORDER BY ta01.o.id DESC '; if (f.doSelect(sql) == RC_SUCCESS) { var i = 0; var startTime = new Date(); do { if (f.p_id!=null && f.o_id!=null){ var aryGen = genCycleData(f.p_id, f.o_id); if (updateESIndex(f.p_id, f.o_id, aryGen[0])) { fnUpdateScindex(f.p_id, f.o_id, aryGen[2], aryGen[1]); i++; } } } while (f.getNext() == RC_SUCCESS) var endTime = (new Date()).getTime(); print("Index Update from Cultivation: ["+i+"] cycle records by ["+system.functions.operator()+"], ["+(endTime-startTime)/1000+"] s "); } }
时间: 2024-04-14 22:31:54 浏览: 125
这是一个名为`checkCultivation`的函数,它的作用是检查并更新艺术培养相关的索引。函数的主要逻辑如下:
1. 首先创建一个只读的`artcultivation`类型的`SCFile`对象,用于查询艺术培养数据。
2. 构建一个SQL查询语句,通过连接`artcultivation`和`artscindex`表,选择满足条件的记录,并按照艺术品ID降序排序。
3. 通过执行上述SQL查询语句,判断是否成功获取到数据。
4. 如果成功获取到数据,则进入循环处理每条记录:
- 检查艺术品ID和培养ID是否非空。
- 调用`genCycleData`函数生成循环数据。
- 如果成功更新ES索引(通过调用`updateESIndex`函数),则调用`fnUpdateScindex`函数更新`artscindex`表中的数据,并将计数器加1。
5. 遍历完所有记录后,计算函数执行时间并打印相关信息。
请注意,以上代码片段中使用的一些函数(如`genCycleData`、`updateESIndex`和`fnUpdateScindex`)的具体实现未在代码中给出。
相关问题
<%@page pageEncoding="UTF-8" import="java.sql.*"%> <!DOCTYPE html> <html style="height: 100%"> <head> <meta charset="utf-8"> <title>柱状图显示数值</title> </head> <body style="height:600px; margin: 0"> <div id="main" style="width: 2000px;height:80%;"></div> <script type="text/javascript" src="js/echarts.min.js"></script> <script> function show(title,value){ var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据 var option = { // 标题 title: { text: 'ECharts 入门示例' }, // 工具箱 toolbox: { show: true, feature: { dataZoom: { yAxisIndex: 'none' }, dataView: {readOnly: false}, magicType: {type: ['line', 'bar']}, restore: {}, saveAsImage: {} } }, // 图例 legend: { data: ['销量'] }, // x轴 xAxis: { data: title }, yAxis: { type: 'value' }, // 数据 series: [{ name: '销量', type: 'bar', data: value, itemStyle: { normal: { label: { show: true, //开启显示 position: 'top', //在上方显示 textStyle: { //数值样式 color: 'black', fontSize: 16 } } } }, }] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); } </script> <% Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://101.43.149.243:3306/test"; Connection con=DriverManager.getConnection(url,"guest","guest"); String sql="select * from logpvbyprovince order by num desc limit 10"; PreparedStatement pst=con.prepareCall(sql); ResultSet rs=pst.executeQuery(); %> <script type="text/javascript"> title=new Array(); value=new Array(); <% while(rs.next()){ %> title.push("<%=rs.getString(1)%>");value.push(<%=rs.getInt(2)%>); <% } rs.close(); pst.close(); con.close(); %> show(title,value); </script> </body> </html>改为用饼图展示
好的,我来为您改写代码,展示用饼图展示前10名省份的数据:
<%@page pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE html>
<html style="height: 100%">
<head>
<meta charset="utf-8">
<title>饼图显示数值</title>
</head>
<body style="height:600px; margin: 0">
<div id="main" style="width: 800px;height:80%;"></div>
<script type="text/javascript" src="js/echarts.min.js"></script>
<script>
function show(title,value){
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '前10名省份饼图',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 10,
data: title
},
series: [
{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: value
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
</script>
<%
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://101.43.149.243:3306/test";
Connection con=DriverManager.getConnection(url,"guest","guest");
String sql="select * from logpvbyprovince order by num desc limit 10";
PreparedStatement pst=con.prepareCall(sql);
ResultSet rs=pst.executeQuery();
%>
<script type="text/javascript">
var title = new Array();
var value = new Array();
<% while(rs.next()){ %>
title.push("<%=rs.getString(1)%>");
value.push({value:<%=rs.getInt(2)%>, name:"<%=rs.getString(1)%>"});
<% } %>
rs.close();
pst.close();
con.close();
show(title, value);
</script>
</body>
</html>
希望这可以帮助您展示饼图。
阅读全文