Пример #1
0
        public override void SaveReportToDB()
        {
            Dictionary <string, string> Pict2 = new Dictionary <string, string>();
            WordHelper helper                = SetReportBasicInfo(false);
            string     currentTime           = DateTime.Today.ToString("yyyy-MM-dd");
            Dictionary <string, string> Dict = new Dictionary <string, string>();

            foreach (TestType tt in 实验类型)
            {
                if (tt == TestType.耐压试验)
                {
                    Dict.Add("$P$", this.P口耐压.ToString());
                    Dict.Add("$T$", this.T口耐压.ToString());
                    Dict.Add("$A$", this.A口耐压.ToString());
                    Dict.Add("$B$", this.B口耐压.ToString());
                    helper.InserttextValue(Dict);//写入文本
                }
                if (tt == TestType.稳态压差流量特性试验)
                {
                    string 图片路径1 = 路径 + "\\report\\液动换向阀\\液动换向阀稳态压差流量特性试验曲线(左位)" + "--" + currentTime + ".bmp";
                    string 图片路径2 = 路径 + "\\report\\液动换向阀\\液动换向阀稳态压差流量特性试验曲线(右位)" + "--" + currentTime + ".bmp";
                    Pict2.Add("$稳态压差流量特性曲线1$", 图片路径1);
                    Pict2.Add("$稳态压差流量特性曲线2$", 图片路径2);
                    string key1 = TestType.稳态压差流量特性试验.ToString() + "(左位)";
                    string key2 = TestType.稳态压差流量特性试验.ToString() + "(右位)";
                    this.dictCurvePanel[key1].SaveBMP(图片路径1);
                    this.dictCurvePanel[key2].SaveBMP(图片路径2);
                }
                else if (tt == TestType.内部泄漏试验)
                {
                    图片路径 = 路径 + "\\report\\液动换向阀\\液动换向阀内部泄漏试验曲线" + "--" + currentTime + ".bmp";
                    Pict2.Add("$内部泄漏试验曲线$", 图片路径);
                    string key = TestType.内部泄漏试验.ToString() + "曲线";
                    this.dictCurvePanel[key].SaveBMP(图片路径);
                }
                else if (tt == TestType.工作范围试验)
                {
                    图片路径 = 路径 + "\\report\\液动换向阀\\液动换向阀工作范围试验曲线.bmp";
                    Pict2.Add("$工作范围试验$", 图片路径);
                    工作流量1d = Array.ConvertAll(工作流量1.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作压力1d = Array.ConvertAll(工作压力1.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作流量2d = Array.ConvertAll(工作流量2.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作压力2d = Array.ConvertAll(工作压力2.ToArray(), new Converter <float, double>(FloatToDouble));
                    double          最大值x = (工作流量1d.Max()) > (工作流量2d.Max()) ? (工作流量1d.Max()) : (工作流量2d.Max());
                    double          最大值y = (工作压力1d.Max()) > (工作压力2d.Max()) ? (工作压力1d.Max()) : (工作压力2d.Max());
                    List <double[]> args = new List <double[]> {
                        工作流量1d, 工作压力1d, 工作流量2d, 工作压力2d
                    };
                    List <string> Curname = new List <string>()
                    {
                        "曲线1", "曲线2"
                    };
                    ZedSave.SavePic(图片路径, "工作范围特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true);
                    工作压力1.Clear();
                    工作流量1.Clear();
                    工作压力2.Clear();
                    工作流量2.Clear();
                    Array.Clear(工作流量1d, 0, 工作流量1d.Length);
                    Array.Clear(工作压力1d, 0, 工作压力1d.Length);
                    Array.Clear(工作流量2d, 0, 工作流量2d.Length);
                    Array.Clear(工作压力2d, 0, 工作压力2d.Length);
                }
            }
            helper.Insertpicture(Pict2);//写入图片
            helper.SaveDocument(保存路径);

            //保存试验报告到本地,调取本地试验报告为二进制格式保存到数据库
            FileStream getBinWord = new FileStream(保存路径, FileMode.Open);

            this.testReport = new byte[getBinWord.Length];
            getBinWord.Read(testReport, 0, (int)getBinWord.Length);
            getBinWord.Close();
            File.Delete(保存路径);
            foreach (KeyValuePair <string, string> u in Pict2)
            {
                File.Delete(u.Value);
            }
            MessageBox.Show("报告已生成");
        }
        public override void SaveReportToDB()
        {
            WordHelper wordh = new WordHelper();

            wordh.CreateNewDocument(模板路径);
            保存路径 = 路径 + "\\report\\机动换向阀试验报告.doc";
            Dict.Add("$项目$", "机动换向阀试验");
            Dict.Add("$人员$", "章晓伟");
            Dict.Add("$日期$", "12月19日");
            wordh.InserttextValue(Dict);//写入文本
            foreach (TestType tt in 实验类型)
            {
                if (tt == TestType.耐压试验)
                {
                    Dict.Add("$P$", "20");
                    Dict.Add("$T$", "20");
                    Dict.Add("$A$", "20");
                    Dict.Add("$B$", "20");
                    wordh.InserttextValue(Dict);//写入文本
                }
                if (tt == TestType.稳态压差流量特性试验)
                {
                    图片路径 = 路径 + "\\report\\机动换向阀稳态压差流量特性试验曲线.bmp";
                    Pict.Add("$稳态压差流量特性曲线$", 图片路径);
                    稳态流量1d = Array.ConvertAll(稳态流量1.ToArray(), new Converter <float, double>(FloatToDouble));
                    稳态压力1d = Array.ConvertAll(稳态压力1.ToArray(), new Converter <float, double>(FloatToDouble));
                    稳态流量2d = Array.ConvertAll(稳态流量2.ToArray(), new Converter <float, double>(FloatToDouble));
                    稳态压力2d = Array.ConvertAll(稳态压力2.ToArray(), new Converter <float, double>(FloatToDouble));
                    double          最大值x = (稳态流量1d.Max()) > (稳态流量2d.Max()) ? (稳态流量1d.Max()) : (稳态流量2d.Max());
                    double          最大值y = (稳态压力1d.Max()) > (稳态压力2d.Max()) ? (稳态压力1d.Max()) : (稳态压力2d.Max());
                    List <double[]> args = new List <double[]> {
                        稳态流量1d, 稳态压力1d, 稳态流量2d, 稳态压力2d
                    };
                    List <string> Curname = new List <string>()
                    {
                        "曲线1", "曲线2"
                    };
                    ZedSave.SavePic(图片路径, "稳态压差流量特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true);
                    稳态压力1.Clear();
                    稳态流量1.Clear();
                    稳态压力2.Clear();
                    稳态流量2.Clear();
                    Array.Clear(稳态流量1d, 0, 稳态流量1d.Length);
                    Array.Clear(稳态压力1d, 0, 稳态压力1d.Length);
                    Array.Clear(稳态流量2d, 0, 稳态流量2d.Length);
                    Array.Clear(稳态压力2d, 0, 稳态压力2d.Length);
                }
                else if (tt == TestType.内部泄漏试验)
                {
                    图片路径 = 路径 + "\\report\\机动换向阀内部泄漏试验曲线.bmp";
                    Pict.Add("$内部泄漏试验曲线$", 图片路径);
                    泄露流量1d = Array.ConvertAll(泄露流量1.ToArray(), new Converter <float, double>(FloatToDouble));
                    泄露压力1d = Array.ConvertAll(泄露压力1.ToArray(), new Converter <float, double>(FloatToDouble));
                    double          最大值x = 泄露流量1d.Max();
                    double          最大值y = 泄露压力1d.Max();
                    List <double[]> args = new List <double[]> {
                        泄露流量1d, 泄露压力1d
                    };
                    List <string> Curname = new List <string>()
                    {
                        "曲线1"
                    };
                    ZedSave.SavePic(图片路径, "内部泄漏试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true);
                    泄露流量1.Clear();
                    泄露压力1.Clear();
                    Array.Clear(泄露流量1d, 0, 泄露流量1d.Length);
                    Array.Clear(泄露压力1d, 0, 泄露压力1d.Length);
                }
            }
            wordh.Insertpicture(Pict);//写入图片
            wordh.SaveDocument(保存路径);
            MessageBox.Show("报告已生成");
        }
        public override void GenerateReport()
        {
            WordHelper helper                = SetReportBasicInfo(true);
            string     currentTime           = DateTime.Today.ToString("yyyy-MM-dd");
            Dictionary <string, string> Dict = new Dictionary <string, string>();

            foreach (TestType tt in 实验类型)
            {
                if (tt == TestType.耐压试验)
                {
                    Dict.Add("$P$", this.P口耐压.ToString() + "MPa");
                    Dict.Add("$T$", this.T口耐压.ToString() + "MPa");
                    Dict.Add("$A$", this.A口耐压.ToString() + "MPa");
                    Dict.Add("$B$", this.B口耐压.ToString() + "MPa");
                    helper.InserttextValue(Dict);//写入文本
                }
                if (tt == TestType.稳态压差流量特性试验)
                {
                    string 图片路径1 = 路径 + "\\report\\电液换向阀\\电液换向阀稳态压差流量特性试验曲线(左位)" + "--" + currentTime + ".bmp";
                    //string 图片路径2 = 路径 + "\\report\\电液换向阀\\电液换向阀稳态压差流量特性试验曲线(右位)" + "--" + currentTime + ".bmp";
                    string key1 = TestType.稳态压差流量特性试验.ToString() + "(电磁铁左位)";
                    //string key2 = TestType.稳态压差流量特性试验.ToString() + "(电磁铁右位)";
                    Pict.Add("$稳态压差流量特性曲线1$", 图片路径1);
                    // Pict.Add("$稳态压差流量特性曲线2$", 图片路径2);
                    this.dictCurvePanel[key1].SaveBMP(图片路径1);
                    //this.dictCurvePanel[key2].SaveBMP(图片路径2);
                }
                else if (tt == TestType.内部泄漏试验)
                {
                    图片路径 = 路径 + "\\report\\电液换向阀\\电液换向阀内部泄漏试验曲线" + "--" + currentTime + ".bmp";
                    Pict.Add("$内部泄漏试验曲线$", 图片路径);
                    string key = TestType.内部泄漏试验.ToString() + "曲线";
                    this.dictCurvePanel[key].SaveBMP(图片路径);
                }
                else if (tt == TestType.工作范围试验)
                {
                    图片路径 = 路径 + "\\report\\电液换向阀\\电液换向阀工作范围试验曲线" + "--" + currentTime + ".bmp";
                    Pict.Add("$工作范围试验$", 图片路径);
                    工作流量1d = Array.ConvertAll(工作流量1.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作压力1d = Array.ConvertAll(工作压力1.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作流量2d = Array.ConvertAll(工作流量2.ToArray(), new Converter <float, double>(FloatToDouble));
                    工作压力2d = Array.ConvertAll(工作压力2.ToArray(), new Converter <float, double>(FloatToDouble));
                    double          最大值x = (工作流量1d.Max()) > (工作流量2d.Max()) ? (工作流量1d.Max()) : (工作流量2d.Max());
                    double          最大值y = (工作压力1d.Max()) > (工作压力2d.Max()) ? (工作压力1d.Max()) : (工作压力2d.Max());
                    List <double[]> args = new List <double[]> {
                        工作流量1d, 工作压力1d, 工作流量2d, 工作压力2d
                    };
                    List <string> Curname = new List <string>()
                    {
                        "曲线1", "曲线2"
                    };
                    ZedSave.SavePic(图片路径, "工作范围特性试验", "流量(L/min)", "压力(MPa)", 0, 最大值x, 0, 最大值y, args, Curname, true);
                    工作压力1.Clear();
                    工作流量1.Clear();
                    工作压力2.Clear();
                    工作流量2.Clear();
                    Array.Clear(工作流量1d, 0, 工作流量1d.Length);
                    Array.Clear(工作压力1d, 0, 工作压力1d.Length);
                    Array.Clear(工作流量2d, 0, 工作流量2d.Length);
                    Array.Clear(工作压力2d, 0, 工作压力2d.Length);
                }
            }
            helper.Insertpicture(Pict);//写入图片
            helper.SaveDocument(保存路径);
            MessageBox.Show("报告已生成");
        }