Commit b9f1f019 by huangfusuper

Merge remote-tracking branch 'origin/developer' into developer

parents 05eb2e45 d94a4f06
...@@ -765,7 +765,14 @@ public class ApiFlowServiceImpl implements ApiFlowService { ...@@ -765,7 +765,14 @@ public class ApiFlowServiceImpl implements ApiFlowService {
if (null == flowStatisticData){ if (null == flowStatisticData){
flowStatisticData = new StatisticData(); flowStatisticData = new StatisticData();
flowStatisticData.setUnstart(flowList.size()); flowStatisticData.setUnstart(flowList.size());
}else {
Integer sum = runRecordingMapper.findFlowNum(new Date(startTime), new Date(endTime), flowIdList);
if (flowList.size() > sum){
//如果工作流
flowStatisticData.setUnstart(flowList.size() - sum + flowStatisticData.getUnstart());
}
} }
StatisticData nodeStatisticData = jobTaskRunLogMapper.findStatusByStartAndEndTime(new Date(startTime), new Date(endTime), flowIdList); StatisticData nodeStatisticData = jobTaskRunLogMapper.findStatusByStartAndEndTime(new Date(startTime), new Date(endTime), flowIdList);
List<Node> nodeList = nodeMapper.findbyFlowIds(flowIdList); List<Node> nodeList = nodeMapper.findbyFlowIds(flowIdList);
if (null == nodeStatisticData){ if (null == nodeStatisticData){
...@@ -1032,6 +1039,7 @@ public class ApiFlowServiceImpl implements ApiFlowService { ...@@ -1032,6 +1039,7 @@ public class ApiFlowServiceImpl implements ApiFlowService {
BeanUtils.copyProperties(waitingRecord, runRecording); BeanUtils.copyProperties(waitingRecord, runRecording);
runRecording.setFlowStatus("1"); runRecording.setFlowStatus("1");
runRecording.setTriggerTime(System.currentTimeMillis()); runRecording.setTriggerTime(System.currentTimeMillis());
runRecording.setWorkspaceId(flow.getWorkspaceId());
Integer waitId = waitingRecordMapper.insertSelective(waitingRecord); Integer waitId = waitingRecordMapper.insertSelective(waitingRecord);
runRecordingMapper.saveRunRecording(runRecording); runRecordingMapper.saveRunRecording(runRecording);
......
...@@ -207,4 +207,8 @@ public interface RunRecordingMapper { ...@@ -207,4 +207,8 @@ public interface RunRecordingMapper {
RunRecording findNewStatus(Integer flowId); RunRecording findNewStatus(Integer flowId);
int updateState(RunRecording runRecording); int updateState(RunRecording runRecording);
Integer findFlowNum(@Param("startTime")Date startTime,
@Param("endTime")Date endTime,
@Param("flowIdList")List<Integer> flowIdList);
} }
\ No newline at end of file
...@@ -82,7 +82,7 @@ public class StatusSnapshootThreadRunHelper extends BaseThreadRunHelper { ...@@ -82,7 +82,7 @@ public class StatusSnapshootThreadRunHelper extends BaseThreadRunHelper {
Long time = LocalDate.now().atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli(); Long time = LocalDate.now().atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli();
RunRecording maxRunRecording = maxRunRecordingList.get(0); RunRecording maxRunRecording = maxRunRecordingList.get(0);
//从凌晨到现在是否有运行实例 //从凌晨到现在是否有运行实例
if (time.longValue() > maxRunRecording.getTriggerTime().longValue()){ if (time.longValue() > maxRunRecording.getStartTime().getTime()){
flowStatusSnapshoot.setFlowStatus(1); flowStatusSnapshoot.setFlowStatus(1);
flowStatusSnapshoot.setUnstartNode(flow.getFlowNodeCount()); flowStatusSnapshoot.setUnstartNode(flow.getFlowNodeCount());
flowStatusSnapshootList.add(flowStatusSnapshoot); flowStatusSnapshootList.add(flowStatusSnapshoot);
...@@ -101,8 +101,13 @@ public class StatusSnapshootThreadRunHelper extends BaseThreadRunHelper { ...@@ -101,8 +101,13 @@ public class StatusSnapshootThreadRunHelper extends BaseThreadRunHelper {
String preHourDate = preHourLocalDateTime.format(DATE_FORMATTER); String preHourDate = preHourLocalDateTime.format(DATE_FORMATTER);
String preHourHour = String.valueOf(preHourLocalDateTime.getHour()); String preHourHour = String.valueOf(preHourLocalDateTime.getHour());
List<FlowStatusSnapshoot> preHourFlowStatusSnapshootList = flowStatusSnapshootMapper.findByDateAndHourAndFlowId(preHourDate, preHourHour, flow.getFlowId()); List<FlowStatusSnapshoot> preHourFlowStatusSnapshootList = flowStatusSnapshootMapper.findByDateAndHourAndFlowId(preHourDate, preHourHour, flow.getFlowId());
if (null != preHourFlowStatusSnapshootList || preHourFlowStatusSnapshootList.size() > 0){ if (null != preHourFlowStatusSnapshootList && preHourFlowStatusSnapshootList.size() > 0){
flowStatusSnapshootList.addAll(preHourFlowStatusSnapshootList); preHourFlowStatusSnapshootList.forEach(preHourFlowStatusSnapshoot->{
preHourFlowStatusSnapshoot.setDay(date);
preHourFlowStatusSnapshoot.setHour(hour);
preHourFlowStatusSnapshoot.setSnapshootTime(hourTime);
flowStatusSnapshootList.add(preHourFlowStatusSnapshoot);
});
}else { }else {
//如果上个小时也没有,就设置为未运行 //如果上个小时也没有,就设置为未运行
flowStatusSnapshoot.setFlowStatus(1); flowStatusSnapshoot.setFlowStatus(1);
......
...@@ -145,14 +145,14 @@ ...@@ -145,14 +145,14 @@
from job_task_run_log from job_task_run_log
where log_id = #{logId,jdbcType=INTEGER} where log_id = #{logId,jdbcType=INTEGER}
</select> </select>
<select id="findStatusByStartAndEndTime" resultType="com.byit.dto.plugin.StatisticData"> <select id="findStatusByStartAndEndTime" resultType="com.byit.dto.plugin.StatisticData" useCache="false" flushCache="true">
select sum(case when run_code = '0' then 1 else 0 end) as runIng, select sum(case when run_code = '0' then 1 else 0 end) as runIng,
sum(case when run_code = '1' or run_code = '3' then 1 else 0 end) as success, sum(case when run_code = '1' or run_code = '3' then 1 else 0 end) as success,
sum(case when run_code = '2' or run_code = '4' or run_code = '6' then 1 else 0 end) as fail, sum(case when run_code = '2' or run_code = '4' or run_code = '6' then 1 else 0 end) as fail,
sum(case when run_code = '5' then 1 else 0 end) as 'kill' sum(case when run_code = '5' then 1 else 0 end) as 'kill'
from job_task_run_log from job_task_run_log
where start_time &gt;= #{startTime} where trigger_time &gt;= #{startTime}
and end_time &lt;= #{endTime} and trigger_time &lt;= #{endTime}
<if test="flowIdList != null"> <if test="flowIdList != null">
and flow_id in ( and flow_id in (
<foreach collection="flowIdList" item="flowId" separator=","> <foreach collection="flowIdList" item="flowId" separator=",">
...@@ -186,8 +186,8 @@ ...@@ -186,8 +186,8 @@
select <include refid="Base_Column_List" /> select <include refid="Base_Column_List" />
from job_task_run_log from job_task_run_log
where node_id = #{nodeId} where node_id = #{nodeId}
and start_time &gt;= #{startTime} and trigger_time &gt;= #{startTime}
and end_time &lt;= #{endTime} and trigger_time &lt;= #{endTime}
and schedule_type = '5' and schedule_type = '5'
order by start_time desc order by start_time desc
</select> </select>
...@@ -199,8 +199,8 @@ ...@@ -199,8 +199,8 @@
#{nodeId} #{nodeId}
</foreach> </foreach>
) )
and start_time &gt;= #{startTime} and trigger_time &gt;= #{startTime}
and end_time &lt;= #{endTime} and trigger_time &lt;= #{endTime}
and schedule_type = '5' and schedule_type = '5'
order by start_time desc order by start_time desc
</select> </select>
......
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
where flow_id = #{flowId} where flow_id = #{flowId}
and flow_status != '4' and flow_status != '4'
</select> </select>
<select id="findStatusByStartAndEndTime" resultType="com.byit.dto.plugin.StatisticData"> <select id="findStatusByStartAndEndTime" resultType="com.byit.dto.plugin.StatisticData" useCache="false" flushCache="true">
select sum(case when flow_status = '1' then 1 else 0 end ) unstart, select sum(case when flow_status = '1' then 1 else 0 end ) unstart,
sum(case when flow_status='2' then 1 else 0 end ) runing, sum(case when flow_status='2' then 1 else 0 end ) runing,
sum(case when flow_status='3' then 1 else 0 end ) stop, sum(case when flow_status='3' then 1 else 0 end ) stop,
...@@ -209,7 +209,7 @@ ...@@ -209,7 +209,7 @@
sum(case when flow_run_result='5' then 1 else 0 end ) 'kill' sum(case when flow_run_result='5' then 1 else 0 end ) 'kill'
from run_recording from run_recording
where start_time &gt;= #{startTime} where start_time &gt;= #{startTime}
and end_time &lt;= #{endTime} and start_time &lt;= #{endTime}
<if test="flowIdList != null"> <if test="flowIdList != null">
and flow_id in ( and flow_id in (
<foreach collection="flowIdList" item="flowId" separator=","> <foreach collection="flowIdList" item="flowId" separator=",">
...@@ -222,7 +222,7 @@ ...@@ -222,7 +222,7 @@
select <include refid="Base_Column_List" /> select <include refid="Base_Column_List" />
from run_recording from run_recording
where flow_id = #{flowId} where flow_id = #{flowId}
and trigger_time = (select max(trigger_time) and start_time = (select max(start_time)
from run_recording from run_recording
where flow_id = #{flowId} where flow_id = #{flowId}
) )
...@@ -249,6 +249,23 @@ ...@@ -249,6 +249,23 @@
where flow_id = #{flowId} where flow_id = #{flowId}
) )
</select> </select>
<select id="findFlowNum" resultType="java.lang.Integer">
select count(1)
from (
select flow_id
from run_recording
where start_time &gt;= #{startTime}
and start_time &lt;= #{endTime}
<if test="flowIdList != null">
and flow_id in (
<foreach collection="flowIdList" item="flowId" separator=",">
#{flowId}
</foreach>
)
</if>
GROUP BY flow_id
) flow
</select>
<delete id="deleteById" parameterType="java.lang.Integer"> <delete id="deleteById" parameterType="java.lang.Integer">
<!-- generated @mbg.generated date: 2019-12-25 --> <!-- generated @mbg.generated date: 2019-12-25 -->
......
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