以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于订单排期去除休息日问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87590)

--  作者:2900819580
--  发布时间:2016/7/14 10:09:00
--  [求助]关于订单排期去除休息日问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订单管理系统0714.rar

 

各位老师,排期表,没办法去除工作日,感觉自己思路有问题。请大家指教


--  作者:大红袍
--  发布时间:2016/7/14 10:33:00
--  

Dim pc As WinForm.ComboBox = e.Form.Controls("排产期")
Dim yf As WinForm.TextBox = e.Form.Controls("TextBox1")

Dim dt2 As DataTable =DataTables("休假安排")
Dim dt1 As DataTable = DataTables("计划表_Smt统计表1")
Dim dt As DataTable = DataTables("订单明细跟踪表")
Dim mind As Date = dt.Compute("min(SMT_开始生产_计划)", "")
Dim maxd As Date = dt.Compute("max(SMT_完成生产_计划)", "")
dt1.DeleteFor("")

 

Do While mind <= maxd
    Dim fdr As DataRow = dt2.Find("日期=#" & mind & "#")
    If fdr Is Nothing Then
        Dim nr As DataRow = dt1.AddNew
        nr("日期") = mind
        Dim sum As Double = 0
        For Each dr As DataRow In dt.Select("SMT_开始生产_计划 <= #" & mind & "# and SMT_完成生产_计划 >= #" & mind & "# and 排产期 = \'" & pc.Text & "\'" )
            Dim jqs As Integer = dt2.compute("count(日期)", "日期 >= #" & dr("SMT_开始生产_计划") & "# and 日期 <= #" & dr("SMT_完成生产_计划") & "#")
            Dim sp1 As TimeSpan = dr("SMT_完成生产_计划") - dr("SMT_开始生产_计划")
            Dim D1 As Integer = sp1.Days +1 - jqs
            sum += dr("需生产数量") /d1
        Next
        nr("欠数") = sum
    End If
    mind = mind.AddDays(1)
Loop


Dim Chart As WinForm.Chart \'定义一个图表变量
Dim Series As WinForm.ChartSeries \'定义一个图系变量
Dim t As Table = Tables("计划表_Smt统计表1") \'定义一个变量t引用数据表
Chart= e.Form.Controls("ChartSmt") \' 引用窗口中的图表
Chart.SeriesList.Clear() \'清除图表原来的图系

chart.AxisX.ClearValueLabel


Chart.ChartType = ChartTypeEnum.Bar
Series = Chart.SeriesList.Add() \'增加一个图系
Series.Length = t.Rows.Count \'图系的数据点数等于表的行数
For i As Integer = 0 To t.Rows.Count - 1 \'指定每个数据点的位置
    Series.X(i) = i \'指定水平坐标
    Series.Y(i) = t.Rows(i)("欠数") \'指定垂直坐标
    Chart.AxisX.SetValueLabel(i, format(t.Rows(i)("日期"), "M/d")) \'指定字符表示
Next
Chart.AxisX.AnnoWithLabels = True \'启用字符标示
Series.DataLabelText = "{#YVAL}"
series.DataLabelCompass = LabelCompassEnum.North


--  作者:2900819580
--  发布时间:2016/7/14 11:03:00
--  
谢谢大红袍老师,

还有一个问题,图表的柱状颜色怎么设定

--  作者:大红袍
--  发布时间:2016/7/14 11:16:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/1042.htm