以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  订单排程求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=141560)

--  作者:yifan3429
--  发布时间:2019/10/4 11:21:00
--  订单排程求助
每个车间的每日产值是固定的
订单根据每日产值的负荷 生成若干加工单。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目排程规划.foxdb



--  作者:有点酸
--  发布时间:2019/10/4 16:42:00
--  
真好,想别人帮自己全部做好,去连问题描述都懒得多说两句。

--  作者:yifan3429
--  发布时间:2019/10/4 23:04:00
--  
我是不晓得怎么描述 做了个实例,希望老师能明白。就是产值是固定的,订单号123 根据产值来排期  100万每天33万左右就是3个工单   如果100万每天20万左右就是5个工单 
--  作者:有点蓝
--  发布时间:2019/10/6 15:11:00
--  
我不懂业务,看意思大概这样吧

dim 产值目标 as integer = 10000
dim sum as integer = 0
for each r as row in tables().rows
if sum + r("金额") < 产值目标 then
dim nr as row = tables("排期表").addnew
nr(“金额”) = r("金额")
sum += r("金额") 
end if
next

--  作者:yifan3429
--  发布时间:2019/10/8 7:57:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20191008075446.png
图片点击可在新窗口打开查看
蓝老师谢谢您
我重新梳理了下思路,您帮我看看怎么实现,循环 累计额,新增单号
图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20191008075533.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/10/8 7:57:34编辑过]

--  作者:有点蓝
--  发布时间:2019/10/8 10:10:00
--  
Dim 产值目标 As Integer = 21000
Dim sum As Integer = 0
Dim idx As Integer = 1
Dim dh As String = Tables("订单").rows(0)("订单号")
For Each r As Row In Tables("订单").rows
    If dh = r("订单号")
        If sum + r("金额") <= 产值目标 Then
            r("工单号") = idx
            sum += r("金额")
        Else
            idx += 1
            r("工单号") = idx
            sum = r("金额")
        End If
    Else
        dh = r("订单号")
        idx = 1
        r("工单号") = idx
        sum = r("金额")
    End If
Next

--  作者:yifan3429
--  发布时间:2019/10/8 14:04:00
--  
感谢蓝老师  太棒了