生产计划排产,制定每小时计划产量(“查表法”SQL计算)

根据日生产计划产量排产,制定每2小时理论计划生产产量。

每2小时计划产量 = 每2小时工作时间(秒)/生产计划节拍(秒)。

假设,生产计划节拍 : 25.0(秒)/台

工厂以每天8点00分钟作为当日工作日的起始时间。

相关表设计如下:

01. 工作课程表(表名称:duty_time)如下

...|.....|.....|....|work_flag
本日|08:00|08:20|早会|非工作时间(0)
本日|08:20|12:00|工作|工作时间(1)
本日|12:00|12:35|吃饭|非工作时间(0)
本日|12:35|17:30|工作|工作时间(1)
本日|17:30|18:00|吃饭|非工作时间(0)
本日|18:00|20:00|工作|工作时间(1)
本日|20:00|20:20|晚会|非工作时间(0)
本日|20:20|01:00|工作|工作时间(1)
次日|01:00|01:35|吃饭|非工作时间(0)
次日|01:35|06:30|工作|工作时间(1)
次日|06:30|07:00|吃饭|非工作时间(0)
次日|07:00|08:00|工作|工作时间(1)

将工作课表起止时间转换分钟数(分) (表名称:duty_time) 分钟数(分)=时*60+分;跨日(次日)+1440;

day|start_time|end_time|work_type|work_flag|start_int|end_int
本日|08:00|08:20|早会|非工作时间(0)|480|500
...|.....|.....|....|...........|....|...
...|.....|.....|....|...........|....|...
次日|07:00|08:00|工作| 工作时间(1) |1860|1920

每2小时计划生产量:8点~10点时间段,记录在10点时计划产量。

时间点|计划产量(xxx)10|xxx12|xxx14|xxx16|xxx18|xxx20|xxx22|xxx00|xxx02|xxx04|xxx06|xxx08|xxx

 

02. 制作每2小时时间段数值表(表名称:segment_model),起始时间是逻辑工作日8点 分钟数(分)=时*60+分;跨日(次日)+1440;

序号|开始时间点|结束时间点|开始时间点分钟|结束时间点分钟|
no|start_time|end_time|start_int|end_int
01|08:00|10:00| 480| 600
02|10:00|12:00| 600| 720
03|12:00|14:00| 720| 840
04|14:00|16:00| 840| 960
05|16:00|18:00| 960|1080
06|18:00|20:00|1080|1200
07|20:00|22:00|1200|1320
08|22:00|00:00|1320|1440
09|00:00|02:00|1440|1560
10|02:00|04:00|1560|1680
11|04:00|06:00|1680|1800
12|06:00|08:00|1800|1920

 

03. 制作分钟数值表“查表法模板表”(表名称:minute_time_table),起始时间是逻辑工作日 分钟数(分)=时*60+分;跨日(次日)+1440; 以每天8点00分钟作为当日工作日的起始时间点。制作“模板表”,模板表以8点01分开始,每次递增一分钟。 “模板表”算法思想是:“截止08点x分钟”时,理论计划产量 =(x分钟-08点)*60(秒)/生产节拍(秒)。所以从08点01分钟开始做模板数据。

 序号|时:分|分钟数
no  |minute_time|minute_int
0001|08:01| 481
0002|08:02| 482
0003|08:03| 483
....|.....|...
....|.....|...
....|.....|...
0958|23:58|1438
0959|23:59|1439
0960|00:00|1440
0961|00:01|1441
0962|00:02|1442
....|.....|...
....|.....|...
....|.....|...
1438|07:58|1918
1439|07:59|1919
1440|08:00|1920

04. SQL简单算法,求解

SELECT tmp.id,tmp.start_time,tmp.end_time,SUM(tmp.work_flag) AS work_time_duration,SUM(tmp.work_flag)*60/25.0 AS work_count
FROM (
/*=====*/SELECT sgmt.id,sgmt.start_time,sgmt.end_time,sgmt.start_int,sgmt.end_int,mint.minute_time,mint.minute_int,--duty.start_time,--duty.end_time,--duty.start_int,--duty.end_int,duty.work_type,duty.work_flagFROM demo.segment_model AS sgmtLEFT JOIN demo.minute_time_table AS mintON mint.minute_int > sgmt.start_intAND mint.minute_int<= sgmt.end_intLEFT JOIN demo.duty_time AS dutyON duty.start_int < mint.minute_intAND duty.end_int >= mint.minute_int
/*======*/
)AS tmpGROUP BY tmp.id,tmp.start_time,tmp.end_timeORDER BY tmp.id

每2个小时时间段的工作分钟数(扣除开会,吃饭时间,只统计工作时间分钟数值),以及在工作时间分钟数值下的理论计划生产数量,结果如下

id|开始时间|  结束时间| 工作分钟| 生产数量
id|start_time|end_time|duration|work_count
01|  08:00|  10:00|	  100|	  240
02|  10:00|  12:00|	  120|	  288
03|  12:00|  14:00|	  085|	  204
04|  14:00|  16:00|	  120|	  288
05|  16:00|  18:00|	  120|	  288
06|  18:00|  20:00|	  120|	  288
07|  20:00|  22:00|	  100|	  240
08|  22:00|  00:00|	  120|	  288
09|  00:00|  02:00|	  085|	  204
10|  02:00|  04:00|	  120|	  288
11|  04:00|  06:00|	  120|	  288
12|  06:00|  08:00|	  090|	  216

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决MYSQL5.7版本only_full_group_by报错解决方法

问题 出现this is incompatible with sql_modeonly_full_group_by这个语句就说明启动了only_full_group_by规则了 介绍only_full_group_by规则&#xff1a; 这种情况可能是5.7版本的规则比较严格&#xff0c;当启用“only_full_group_by”模式时&#xff0c;MySQL会对执行GROU…

SpringBoot中MyBatisPlus的使用

MyBatis Plus 是 MyBatis 的增强工具&#xff0c;提供了许多强大的功能&#xff0c;简化了 MyBatis 的使用。下面是在 Spring Boot 中使用 MyBatis Plus 的步骤&#xff1a; 添加依赖&#xff1a;在 Maven 或 Gradle 的配置文件中添加 MyBatis Plus 的依赖。 配置数据源&#…

Day10:平面转换、渐变色

目标&#xff1a;使用位移、缩放、旋转、渐变效果丰富网页元素的呈现方式。 一、平面转换 1、简介 作用&#xff1a;为元素添加动态效果&#xff0c;一般与过渡配合使用。 概念&#xff1a;改变盒子在平面内的形态&#xff08;位移、旋转、缩放、倾斜&#xff09;。 平面转换…

Tale全局函数对象base

目录 1、 Tale全局函数对象base 1.1、 * tale alert删除 1.2、 * 成功弹框 1.3、 * 弹出成功,并在500毫秒后刷新页面 1.4、 * 警告弹框 1.5、 * 询问确认弹框,这里会传入then函数进来

【前端Vue】——课堂笔记(二)

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

小米投屏怎么投?收好这3个投屏指南!(2024新)

近年来&#xff0c;小米凭借过硬的品质和合理的价格成为手机市场的一股强劲力量。随着其销量的上升&#xff0c;人们可以通过多种方式使用它来获得乐趣和便利。比如小米MIUI 11自带一个“光环”——Miracast&#xff0c;可以让用户在电脑上控制小米/红米/小米&#xff0c;获得更…

The book

Deep Learning for Coders with Fastai and PyTorch: AI Applications Without a PhD is the book that forms the basis for this course. We recommend reading the book as you complete the course. There’s a few ways to read the book – you can buy it as a paper bo…

flask流式接口

一、接口封装 from flask import Flask, request, Response, stream_with_context app Flask(__name__) app.logger.disabled Truedef chat_stream_(prompt):for new_text in [1,2,3]:yield new_textapp.route(/chat_stream, methods[POST]) def chat_stream():prompt requ…

CameraProvider启动流程

从Android 8.0之后&#xff0c;Android 引入Treble机制&#xff0c;主要是为了解决目前Android 版本之间升级麻烦的问题&#xff0c;将OEM适配的部分vendor与google 对android 大框架升级的部分system部分做了分离&#xff0c;一旦适配了一个版本的vendor信息之后&#xff0c;之…

【excel】设置可变下拉菜单(一级联动下拉菜单)

文章目录 【需求】制作动态下拉菜单&#xff0c;显示无重复的“班级”列表【思路】设置辅助列&#xff0c;使用UNIQUE()函数去重&#xff0c;并用FILTER()去掉结果中的“0”【步骤】step1 辅助列step2 设置下拉菜单 【总结】 【需求】制作动态下拉菜单&#xff0c;显示无重复的…

工业通信原理——LVDS通信原理

工业通信原理——LVDS通信原理 简介 LVDS&#xff08;Low Voltage Differential Signaling&#xff0c;低压差分信号传输&#xff09;是一种数字信号传输技术&#xff0c;通常用于高速数据传输&#xff0c;特别是在需要长距离传输、抗干扰能力强的场景中应用广泛。下面我将详…

深度学习之AlexNet、VGG-19、VGG-16、LeNet-5、ResNet模型的训练

一&#xff0e;AlexNet 1.1.导入资源包 import cv2 import matplotlib.pyplot as plt import numpy as np import os import random注&#xff1a; cv2&#xff1a;这是 OpenCV 模块&#xff0c;用于处理图像和视频&#xff0c;包括摄像头捕捉、图像处理、特征检测等。 matpl…

Playwright 自动化操作

之前有见同事用过playwright进行浏览器模拟操作&#xff0c;但是没有仔细了解&#xff0c;今天去详细看了下&#xff0c;发现playwright着实比selenium牛逼多了 Playwright 相对于selenium优点 1、自动下载chromnium, 无需担心chrome升级对应版本问题&#xff1b; 2、支持录屏操…

干Java的有4年的工作经验;想转行做labview能行吗?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 Java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;bVIEW和Java都是软件工具&a…

推荐几款优秀的文档加密软件 | 企业文件加密解决方案

在数字化时代&#xff0c;信息安全问题日益突出&#xff0c;文档加密软件成为了保护数据安全的重要手段。但是&#xff0c;市面上的文档加密软件种类繁多&#xff0c;功能各异&#xff0c;如何选择一款好用的文档加密软件成为了许多用户关注的焦点。本文将为大家提供一份实用的…

【第十三节】C++控制台版本坦克大战小游戏

目录 一、游戏简介 1.1 游戏概述 1.2 知识点应用 1.3 实现功能 1.4 开发环境 二、项目设计 2.1 类的设计 2.2 各类功能 三、程序运行截图 3.1 游戏主菜单 3.2 游戏进行中 3.3 双人作战 3.4 编辑地图 一、游戏简介 1.1 游戏概述 本项目是一款基于C语言开发的控制台…

5. MySQL运算符和函数

文章目录 【 1. 算术运算符 】【 2. 逻辑运算符 】2.1 逻辑非 (NOT 或者 !)2.2 逻辑与运算符 (AND 或者 &&)2.3 逻辑或 (OR 或者 ||)2.4 异或运算 (XOR) 【 3. 比较运算符 】3.1 等于 3.2 安全等于运算符 <>3.3 不等于运算符 (<> 或者 !)3.4 小于等于运算符…

Linux基本命令的使用(cp mv)

一、cp命令-1 1、CP命令作用&#xff1a;复制一个源文件到目标文件&#xff08;夹&#xff09; 2、 语法&#xff1a;cp [选项] 源文件 目标文件&#xff08;夹&#xff09; ① 复制到文件夹下&#xff0c;则文件名保持不变 ② 复制到文件中&#xff0c;则文件名变更 二、cp命…

微服务保护-雪崩问题

雪崩&#xff1a; 微服务调用链路中的某个微服务故障&#xff0c;引起整个链路微服务都不可用&#xff0c;这就是雪崩。&#xff08;在微服务中&#xff0c;某个微服务故障&#xff0c;导致整个微服务都不可用&#xff09; 雪崩产生的原因&#xff1a; 微服务相互调用&#xf…

【文件fd】回顾C语言文件操作 | 详细解析C语言文件操作写w追加a | 重定向和“w““a“

目录 前言 回顾C语言的操作 Q1 Q2 Q3 C语言文件操作 w方式 a方式 重定向和"w""a"方式 前言 前面进程虚拟地址空间让我们对进程的理解更加深入。在基础IO我们会详细介绍文件和文件系统。本专题的核心内容是文件。 深刻理解文件&#xff08;站在…