Example #1
0
    static public List <DM_ModelProject> GetProjectArray(ServerConnection conn, ref string strError)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }

        PacketTable[] arrSendTable = new PacketTable[0];
        Packet        recvPacket   = conn.ExecuteCommand(1, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(null);
        }

        PacketTable recvTable = arrRecvTable[0];

        int nIndexProjectID   = recvTable.GetFieldIndex("ProjectID");
        int nIndexProjectName = recvTable.GetFieldIndex("ProjectName");

        List <DM_ModelProject> arrProject = new List <DM_ModelProject>();

        for (int i = 0; i < recvTable.Rows; i++)
        {
            DM_ModelProject project = new DM_ModelProject();
            project.ProjectID   = (uint)recvTable.GetValue(i, nIndexProjectID);
            project.ProjectName = (string)recvTable.GetValue(i, nIndexProjectName);

            arrProject.Add(project);
        }

        return(arrProject);
    }
Example #2
0
    static public List <DM_ModelSortClass> StatSortClass(ServerConnection conn, UInt32 nProjectID, UInt32 nPartID, int nTopN, Period period, ref string strError)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }

        List <DM_ModelSortClass> arrSortClass = new List <DM_ModelSortClass>();

        PacketTable sendTable = new PacketTable();

        sendTable.AddField("LastNum", PacketTable.FieldType.TypeInt);
        sendTable.AddField("FromDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ToDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ProjectID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("PartID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("ClassID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("IsFD", PacketTable.FieldType.TypeByte);
        sendTable.AddField("DataStatus", PacketTable.FieldType.TypeByte);
        sendTable.AddField("TopN", PacketTable.FieldType.TypeInt);
        sendTable.AddField("PeriodUnit", PacketTable.FieldType.TypeInt);
        sendTable.MakeTable(1);
        sendTable.SetValue(0, 0, period.LastNum);
        sendTable.SetValue(0, 1, period.DateFrom);
        sendTable.SetValue(0, 2, period.DateTo);
        sendTable.SetValue(0, 3, nProjectID);
        sendTable.SetValue(0, 4, nPartID);
        sendTable.SetValue(0, 5, (uint)0);
        sendTable.SetValue(0, 6, (byte)0);
        sendTable.SetValue(0, 7, (byte)1);
        sendTable.SetValue(0, 8, period.LastNum);
        sendTable.SetValue(0, 9, (int)1);

        PacketTable[] arrSendTable = new PacketTable[1];
        arrSendTable[0] = sendTable;
        Packet recvPacket = conn.ExecuteCommand(204, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(null);
        }

        PacketTable recvTable = arrRecvTable[4];

        int nIndexClassName = recvTable.GetFieldIndex("ClassName");
        int nIndexPassrate  = recvTable.GetFieldIndex("Passrate");

        for (int i = 0; i < recvTable.Rows && i < nTopN; i++)
        {
            DM_ModelSortClass passrate = new DM_ModelSortClass();
            passrate.ClassName = (string)recvTable.GetValue(i, nIndexClassName);
            passrate.Passrate  = (float)recvTable.GetValue(i, nIndexPassrate);

            arrSortClass.Add(passrate);
        }

        return(arrSortClass);
    }
Example #3
0
    static public List <DM_Factory> GetFactoryArray(ServerConnection conn, ref string strError)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }
        //查询工厂信息
        PacketTable[] arrSendTable = new PacketTable[0];
        Packet        recvPacket   = conn.ExecuteCommand(4, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(null);
        }

        List <DM_Factory> arrFactory = new List <DM_Factory>();
        PacketTable       recvTable  = arrRecvTable[0];
        int nIndexFactoryName        = recvTable.GetFieldIndex("FactoryName");
        int nIndexDatabaseID         = recvTable.GetFieldIndex("DatabaseID");
        int nIndexServerID           = recvTable.GetFieldIndex("ServerID");

        for (int nRow = 0; nRow < recvTable.Rows; nRow++)
        {
            DM_Factory factory = new DM_Factory();
            factory.ServerID    = (int)recvTable.GetValue(nRow, nIndexServerID);
            factory.DatabaseID  = (int)recvTable.GetValue(nRow, nIndexDatabaseID);
            factory.FactoryName = (string)recvTable.GetValue(nRow, nIndexFactoryName);
            arrFactory.Add(factory);
        }

        return(arrFactory);
    }
Example #4
0
    //查询零件
    static public List <DM_ModelPart> GetPartArray(ServerConnection conn, UInt32 nProjectID, ref string strError)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }

        PacketTable sendTable = new PacketTable();

        sendTable.AddField("ProjectID", PacketTable.FieldType.TypeUint);
        sendTable.MakeTable(1);
        sendTable.SetValue(0, 0, nProjectID);

        PacketTable[] arrSendTable = new PacketTable[1];
        arrSendTable[0] = sendTable;
        Packet recvPacket = conn.ExecuteCommand(2, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(null);
        }

        PacketTable recvTable = arrRecvTable[0];

        int nIndexPartID   = recvTable.GetFieldIndex("PartID");
        int nIndexParentID = recvTable.GetFieldIndex("ParentID");
        int nIndexPartName = recvTable.GetFieldIndex("PartName");

        List <DM_ModelPart> arrPart = new List <DM_ModelPart>();

        for (int i = 0; i < recvTable.Rows; i++)
        {
            DM_ModelPart part = new DM_ModelPart();
            part.PartID   = (uint)recvTable.GetValue(i, nIndexPartID);
            part.ParentID = (uint)recvTable.GetValue(i, nIndexParentID);
            part.PartName = (string)recvTable.GetValue(i, nIndexPartName);

            arrPart.Add(part);
        }

        return(arrPart);
    }
Example #5
0
    static public string OutReportPDF(Packet packet)
    {
        if (packet == null)
        {
            Export handler = new Export();
            return(handler.Error("服务器错误"));
        }

        byte nResult = 0;

        if (!packet.Read(ref nResult))
        {
            Export handler = new Export();
            return(handler.Error("无法读取执行的结果"));
        }

        string strMessage = "";

        if (!packet.Read(ref strMessage))
        {
            Export handler = new Export();
            return(handler.Error("无法读取执行结果提示信息!"));
        }

        int nTableCount = 0;

        if (!packet.Read(ref nTableCount))
        {
            Export handler = new Export();
            return(handler.Error("无法读取参数表的数量"));
        }

        if (nTableCount == 0)
        {
            Export handler = new Export();
            return(null);
        }
        else
        {
            PacketTable paramTable = new PacketTable();
            if (packet.Read(ref paramTable))
            {
                int[] arrFieldIndex = new int[1];
                arrFieldIndex[0] = paramTable.GetFieldIndex("PDF");
                byte[] ByPDF    = (byte[])paramTable.GetValue(0, arrFieldIndex[0]);
                string Fileurl  = System.Web.HttpContext.Current.Server.MapPath("../");
                string FileName = Fileurl + "Asset\\pluginPdf\\Test.pdf";
                // 创建新的、空的数据文件.
                if (File.Exists(FileName))
                {
                    File.Delete(FileName);
                }
                try
                {
                    FileStream fs = new FileStream(FileName, FileMode.CreateNew);
                    // 创建数据编写器.
                    BinaryWriter w = new BinaryWriter(fs);
                    // 写数据来测试。
                    w.Write(ByPDF);

                    w.Close();
                    fs.Close();
                }
                catch (Exception e)
                {
                    string see = e.Message;
                    return(null);
                }
            }

            return(null);
        }
    }
Example #6
0
    public string ToJson(int count, Packet packet)
    {
        string result = "";

        ExportData  ajaxJson = new ExportData();
        PacketTable table    = new PacketTable();

        for (int i = 0; i < count; i++)
        {
            table.Clear();
            if (!packet.Read(ref table))
            {
                return("PackTable不完整");
            }
            int       nRows = table.Rows;
            int       nCols = table.Cols;
            DataTable dt    = new DataTable();

            for (int m = 0; m < nCols; m++)
            {
                PacketTable.FieldType Type = table.GetField(m).Type;
                string strName             = table.GetField(m).Name;

                if (Type == PacketTable.FieldType.TypeByte)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(byte));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeDateTime)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(DateTime));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeDouble)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(double));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeFloat)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(float));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeImage)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(byte[]));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeInt)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(int));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeString)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(string));
                }
                else if (table.GetField(m).Type == PacketTable.FieldType.TypeUint)
                {
                    dt.Columns.Add(table.GetField(m).Name, typeof(uint));
                }
            }

            for (int nRow = 0; nRow < nRows; nRow++)
            {
                DataRow row = dt.NewRow();
                for (int nCol = 0; nCol < nCols; nCol++)
                {
                    PacketTable.Field field = table.GetField(nCol);
                    if (field.Type == PacketTable.FieldType.TypeByte)
                    {
                        row[nCol] = (byte)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeDouble)
                    {
                        row[nCol] = (double)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeFloat)
                    {
                        row[nCol] = (float)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeImage)
                    {
                        byte[] data = (byte[])table.GetValue(nRow, nCol);
                        row[nCol] = data;
                    }
                    else if (field.Type == PacketTable.FieldType.TypeInt)
                    {
                        row[nCol] = (int)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeUint)
                    {
                        row[nCol] = (UInt32)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeString)
                    {
                        row[nCol] = (string)table.GetValue(nRow, nCol);
                    }
                    else if (field.Type == PacketTable.FieldType.TypeDateTime)
                    {
                        row[nCol] = (DateTime)table.GetValue(nRow, nCol);
                    }
                }
                dt.Rows.Add(row);
            }
            ajaxJson.arrTable.Add(dt);
        }
        ajaxJson.Status = "1";
        ajaxJson.Msg    = "执行成功!";
        result          = JsonConvert.SerializeObject(ajaxJson);
        return(result);
    }
Example #7
0
    public DataTable ToTable(Packet packet, int count = 1)
    {
        DataTable   dt    = new DataTable();
        PacketTable table = new PacketTable();

        table.Clear();
        if (!packet.Read(ref table))
        {
            return(null);
        }

        int nRows = table.Rows;
        int nCols = table.Cols;

        for (int m = 0; m < nCols; m++)
        {
            PacketTable.FieldType Type = table.GetField(m).Type;
            string strName             = table.GetField(m).Name;

            if (Type == PacketTable.FieldType.TypeByte)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(byte));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeDateTime)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(DateTime));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeDouble)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(double));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeFloat)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(float));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeImage)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(byte[]));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeInt)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(int));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeString)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(string));
            }
            else if (table.GetField(m).Type == PacketTable.FieldType.TypeUint)
            {
                dt.Columns.Add(table.GetField(m).Name, typeof(uint));
            }
        }

        for (int nRow = 0; nRow < nRows; nRow++)
        {
            DataRow row = dt.NewRow();
            for (int nCol = 0; nCol < nCols; nCol++)
            {
                PacketTable.Field field = table.GetField(nCol);
                if (field.Type == PacketTable.FieldType.TypeByte)
                {
                    row[nCol] = (byte)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeDouble)
                {
                    row[nCol] = (double)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeFloat)
                {
                    row[nCol] = (float)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeImage)
                {
                    byte[] data = (byte[])table.GetValue(nRow, nCol);
                    row[nCol] = data;
                }
                else if (field.Type == PacketTable.FieldType.TypeInt)
                {
                    row[nCol] = (int)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeUint)
                {
                    row[nCol] = (UInt32)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeString)
                {
                    row[nCol] = (string)table.GetValue(nRow, nCol);
                }
                else if (field.Type == PacketTable.FieldType.TypeDateTime)
                {
                    row[nCol] = (DateTime)table.GetValue(nRow, nCol);
                }
            }
            dt.Rows.Add(row);
        }
        return(dt);
    }
Example #8
0
    static public List <DM_ModelPassRate> StatPassRate(ServerConnection conn, UInt32 nProjectID, UInt32 nPartID, Period period, ref string strError)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }

        PacketTable sendTable = new PacketTable();

        sendTable.AddField("LastNum", PacketTable.FieldType.TypeInt);
        sendTable.AddField("FromDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ToDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ProjectID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("PartID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("ClassID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("IsFD", PacketTable.FieldType.TypeByte);
        sendTable.AddField("DataStatus", PacketTable.FieldType.TypeByte);
        sendTable.MakeTable(1);
        sendTable.SetValue(0, 0, period.LastNum);
        sendTable.SetValue(0, 1, period.DateFrom);
        sendTable.SetValue(0, 2, period.DateTo);
        sendTable.SetValue(0, 3, nProjectID);
        sendTable.SetValue(0, 4, nPartID);
        sendTable.SetValue(0, 5, (uint)0);
        sendTable.SetValue(0, 6, (byte)0);
        sendTable.SetValue(0, 7, (byte)1);

        PacketTable[] arrSendTable = new PacketTable[1];
        arrSendTable[0] = sendTable;
        Packet recvPacket = conn.ExecuteCommand(201, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(null);
        }

        PacketTable             recvTable   = arrRecvTable[0];
        List <DM_ModelPassRate> arrPassrate = new List <DM_ModelPassRate>();

        int nIndexDate     = recvTable.GetFieldIndex("Date");
        int nIndexSeriesNO = recvTable.GetFieldIndex("SeriesNO");
        int nIndexFileName = recvTable.GetFieldIndex("FileName");
        int nIndexPassrate = recvTable.GetFieldIndex("Passrate");
        int nIndexFileID   = recvTable.GetFieldIndex("FileID");
        int nIndexPass     = recvTable.GetFieldIndex("Pass");
        int nIndexTotal    = recvTable.GetFieldIndex("Total");

        for (int i = 0; i < recvTable.Rows; i++)
        {
            //double dDateTime = (double)recvTable.GetValue(i, nIndexDate);

            DM_ModelPassRate passrate = new DM_ModelPassRate();
            passrate.MeasureDate   = (DateTime)recvTable.GetValue(i, nIndexDate);
            passrate.MeasureFileID = (uint)recvTable.GetValue(i, nIndexFileID);
            passrate.PassRate      = (float)recvTable.GetValue(i, nIndexPassrate);
            passrate.PassTotal     = (int)recvTable.GetValue(i, nIndexPass);
            passrate.SampleTotal   = (int)recvTable.GetValue(i, nIndexTotal);
            passrate.SeriesNo      = (string)recvTable.GetValue(i, nIndexSeriesNO);

            arrPassrate.Add(passrate);
        }

        return(arrPassrate);
    }
Example #9
0
    static public bool StatCII(ServerConnection conn, UInt32 nProjectID, UInt32 nPartID, Period period,
                               ref string strError, ref float fCII, ref List <float> arrSigma)
    {
        if (conn == null)
        {
            conn = new ServerConnection();
        }

        PacketTable sendTable = new PacketTable();

        sendTable.AddField("LastNum", PacketTable.FieldType.TypeInt);
        sendTable.AddField("FromDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ToDate", PacketTable.FieldType.TypeDateTime);
        sendTable.AddField("ProjectID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("PartID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("ClassID", PacketTable.FieldType.TypeUint);
        sendTable.AddField("IsFD", PacketTable.FieldType.TypeByte);
        sendTable.AddField("DataStatus", PacketTable.FieldType.TypeByte);
        sendTable.MakeTable(1);
        sendTable.SetValue(0, 0, period.LastNum);
        sendTable.SetValue(0, 1, period.DateFrom);
        sendTable.SetValue(0, 2, period.DateTo);
        sendTable.SetValue(0, 3, nProjectID);
        sendTable.SetValue(0, 4, nPartID);
        sendTable.SetValue(0, 5, (uint)0);
        sendTable.SetValue(0, 6, (byte)0);
        sendTable.SetValue(0, 7, (byte)1);

        PacketTable[] arrSendTable = new PacketTable[1];
        arrSendTable[0] = sendTable;
        Packet recvPacket = conn.ExecuteCommand(203, arrSendTable);

        PacketTable[] arrRecvTable = conn.ReadTable(recvPacket);
        if (arrRecvTable == null)
        {
            strError = conn.ErrorMessage;
            return(false);
        }

        PacketTable recvTableCII = arrRecvTable[0];

        if (recvTableCII.Rows > 0)
        {
            fCII = (float)recvTableCII.GetValue(0, 0);
        }
        else
        {
            fCII = 0;
        }

        PacketTable recvSigmaTable = arrRecvTable[1];

        int nIndexPointDir  = recvSigmaTable.GetFieldIndex("PointDir");
        int nIndexSigma     = recvSigmaTable.GetFieldIndex("Sigma");
        int nIndexNominalID = recvSigmaTable.GetFieldIndex("NominalID");

        for (int i = 0; i < recvSigmaTable.Rows; i++)
        {
            float fSigma6 = (float)recvSigmaTable.GetValue(i, nIndexSigma);
            arrSigma.Add(fSigma6);
        }
        return(true);
    }