页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

(本文档仅供参考)

需求描述:

工厂目前有多条流水线,每天8点开始运行,17点分停止,希望以图形的形式展示当天流水线各个机器的安排情况。

...

1、把日期时间处理成数字:从数据上看可以考虑把任务执行的消化时长数值作为X轴,但X轴是从0开始的,而机器每天8点开始运行,因此还需要对8点开始的机器+8即:开始时间8。即:开始时间=8点 然后耗时+8,其他时间段 然后直接处理成耗时,对所有的数据进行堆叠。(注:截图是SqlServer语法,时间处理可自行根据数据库类型调整然后直接处理成耗时,对所有的数据进行堆叠。

2、增加排序字段:由于堆叠是按照耗时字段堆叠,顺序可能出现异常,因此可把流水线和机器开始时间拼接,用于排序

代码块
title完整SQL
collapsetrue
(注:以下SqlServer语法,时间处理可自行根据数据库类型调整)
select
 "線別"+
    CONVERT(varchar(100), "時間開始", 120) as sort,
    "線別",
    "機型",
    "時間開始",
    "時間結束",case
        when DATENAME(hour, "時間開始") = 8 then DATEDIFF(second, "時間開始", "時間結束") / 3600.0 + 8
        else DATEDIFF(second, "時間開始", "時間結束") / 3600.0
    end as times
from
    "dbo"."生產排程1"
order by
    "線別",
    "時間開始"

...

3、通过扩展属性处理X轴的数值标签 转为时间标签,并把最小值调整为8点,最大值为17点

代码块
collapsetrue
{
	"xAxis": {
		"position": "top",
		"min":8,
		"max":17,
		"axisLabel": {
			"formatter": "function(param){return param +':00';}"
		},
		"axisTick": {
			"show": true
		},
		"axisLine": {
			"show": true
		},
		"splitLine": {
			"show": true
		},
		"interval": 1
	}
}

...