Example #1
0
    public MDGenGraph GenGraph(string mc_code, string model, string DateStart, string DateEnd)
    {
        MDGenGraph oMDGen = new MDGenGraph();
        DataTable  dTable = new DataTable();
        SqlCommand sql    = new SqlCommand();

        sql.CommandText = "[dbo].[GenData] @mc_code,@model,@DateStart,@DateEnd";
        sql.Parameters.Add(new SqlParameter("@mc_code", mc_code));
        sql.Parameters.Add(new SqlParameter("@model", model));
        sql.Parameters.Add(new SqlParameter("@DateStart", DateStart));
        sql.Parameters.Add(new SqlParameter("@DateEnd", DateEnd));
        dTable = oConn.Query(sql);
        if (dTable.Rows.Count > 0)
        {
            foreach (DataRow row in dTable.Rows)
            {
                MDGenGraph.CMDGenGraph oMD = new MDGenGraph.CMDGenGraph();
                oMD.Date          = row["DataDate"].ToString();
                oMD.QtyOK         = row["QtyOK"] != DBNull.Value ? Convert.ToInt32(row["QtyOK"]) : 0;
                oMD.QtyNG         = row["QtyNG"] != DBNull.Value ? Convert.ToInt32(row["QtyNG"]) : 0;
                oMD.DataDateStart = row["DataDatetimeStart"].ToString();
                oMD.DataDateEnd   = row["DataDatetimeEnd"].ToString();
                oMD.MachineCode   = row["MachineCode"].ToString();
                oMD.MachineName   = row["MachineName"].ToString();
                oMD.ModelCode     = row["ModelCode"].ToString();
                oMD.ModelName     = row["ModelName"].ToString();
                oMDGen.ListOfData.Add(oMD);
            }
        }
        return(oMDGen);
    }
    public string LoadGraph()
    {
        string     result      = "";
        MDGenGraph oMDGenGraph = new MDGenGraph();

        oMDGenGraph = oGenGraph.GenGraph(ViewState["mc_code"].ToString(), ddlModel.SelectedValue, txtDateStart.Text.Trim(), txtDateEnd.Text.Trim());
        if (oMDGenGraph.ListOfData.Count > 0)
        {
            string Title = "";//ddlLine.SelectedItem.Text + " : " + ddlMachine.SelectedItem.Text;
            Title = lbPDLine.Text + " : " + lbMachine.Text;
            string SubTitle = "Model: " + ddlModel.SelectedItem.Text + " : From " + oMDGenGraph.ListOfData[0].DataDateStart + " To " + oMDGenGraph.ListOfData[0].DataDateEnd;

            result += @"				<script>"+ Environment.NewLine;
            result += @"                    Highcharts.chart('container', {" + Environment.NewLine;
            result += @"                        chart: {" + Environment.NewLine;
            result += @"                            type: 'column'" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        title: {" + Environment.NewLine;
            result += @"                            text: '" + Title + "'" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        subtitle: {" + Environment.NewLine;
            result += @"                            text: '" + SubTitle + "'" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        xAxis: {" + Environment.NewLine;
            result += @"                            categories: [" + Environment.NewLine;

            for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++)
            {
                if (i == oMDGenGraph.ListOfData.Count)
                {
                    result += @"                                '" + Convert.ToDateTime(oMDGenGraph.ListOfData[i].Date).ToString("dd MMM yyyy") + "'" + Environment.NewLine;
                }
                else
                {
                    result += @"                                '" + Convert.ToDateTime(oMDGenGraph.ListOfData[i].Date).ToString("dd MMM yyyy") + "'," + Environment.NewLine;
                }
            }

            result += @"                            ]," + Environment.NewLine;
            result += @"                            crosshair: true" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        yAxis: {" + Environment.NewLine;
            result += @"                            min: 0," + Environment.NewLine;
            result += @"                            title: {" + Environment.NewLine;
            result += @"                                text: 'Quantity (PCS)'" + Environment.NewLine;
            result += @"                            }" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        tooltip: {" + Environment.NewLine;
            result += @"                            headerFormat: '<span style=""font-size:10px/"">{point.key}</span><table>'," + Environment.NewLine;
            result += @"                            pointFormat: '<tr><td style=""color: {series.color}; padding: 0"">{series.name}: </td>' +" + Environment.NewLine;
            result += @"                            '<td style=""padding: 0""><b>{point.y}</b></td></tr>'," + Environment.NewLine;
            result += @"                            footerFormat: '</table>'," + Environment.NewLine;
            result += @"                            shared: true," + Environment.NewLine;
            result += @"                            useHTML: true" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;
            result += @"                        plotOptions: {" + Environment.NewLine;
            result += @"                            column: {" + Environment.NewLine;
            result += @"                                pointPadding: 0.2," + Environment.NewLine;
            result += @"                                borderWidth: 0" + Environment.NewLine;
            result += @"                            }," + Environment.NewLine;
            result += @"                            series: {" + Environment.NewLine;
            result += @"                                borderWidth: 0," + Environment.NewLine;
            result += @"                                dataLabels: {" + Environment.NewLine;
            result += @"                                enabled: true," + Environment.NewLine;
            result += @"                                format: '{point.y}'" + Environment.NewLine;
            result += @"                            }" + Environment.NewLine;
            result += @"                          }" + Environment.NewLine;
            result += @"                        }," + Environment.NewLine;


            result += @"                        series: [{" + Environment.NewLine;
            result += @"                            name: 'OK'," + Environment.NewLine;

            result += @"                            data: [" + Environment.NewLine;
            for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++)
            {
                if (i == oMDGenGraph.ListOfData.Count)
                {
                    result += @"                                " + oMDGenGraph.ListOfData[i].QtyOK + "";
                }
                else
                {
                    result += @"                            " + oMDGenGraph.ListOfData[i].QtyOK + "," + Environment.NewLine;
                }
            }

            result += @"                            ]" + Environment.NewLine;



            result += @"                        }, {" + Environment.NewLine;
            result += @"                            name: 'NG'," + Environment.NewLine;



            result += @"                            data: [" + Environment.NewLine;
            for (int i = 0; i < oMDGenGraph.ListOfData.Count; i++)
            {
                if (i == oMDGenGraph.ListOfData.Count)
                {
                    result += @"                                " + oMDGenGraph.ListOfData[i].QtyNG + "";
                }
                else
                {
                    result += @"                            " + oMDGenGraph.ListOfData[i].QtyNG + "," + Environment.NewLine;
                }
            }

            result += @"                            ]" + Environment.NewLine;



            result += @"                        }]" + Environment.NewLine;
            result += @"                    });" + Environment.NewLine;
            result += @"                </script>" + Environment.NewLine;
        }
        else
        {
            result += @"<div><h4>No Data!</h4></div>" + Environment.NewLine;
        }


        return(result);
    }