ningshuxia
2024-04-30 b50a06a3185619c4cbbc521ab026f1bfa4d13aae
Schedule/IStation.Client/Form1.cs
@@ -12,15 +12,16 @@
            };
        }
        string _floder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data");
        private void btnAnaCombine_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Text += "正在分析泵组合";
            var folder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data");
            var ch1 = folder + "\\" + "陈行一输.json";
            this.richTextBox1.Text += "\r\n正在分析泵组合";
            var ch1 = _floder + "\\" + "陈行一输.json";
            var ch1_json = File.ReadAllText(ch1);
            var ch1Pumps = JsonHelper.Json2Object<List<Model.Pump>>(ch1_json);
            var ch2 = folder + "\\" + "陈行二输.json";
            var ch2 = _floder + "\\" + "陈行二输.json";
            var ch2_json = File.ReadAllText(ch2);
            var ch2Pumps = JsonHelper.Json2Object<List<Model.Pump>>(ch2_json);
@@ -35,18 +36,90 @@
            });
        }
        private void btnAnaConclusion_Click(object sender, EventArgs e)
        private void btnAnaCh1Combine_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Text += "正在分析泵组合结论";
            var ch1 = _floder + "\\" + "陈行一输.json";
            var ch1_json = File.ReadAllText(ch1);
            var ch1Pumps = JsonHelper.Json2Object<List<Model.Pump>>(ch1_json);
            this.richTextBox1.Text += "\r\n正在分析1输水泵组合";
            Task.Run(() =>
            {
                var helper = new Algorithm.SchedulingAnaHelper();
                helper.AnaCombine(ch1Pumps);
                this.Invoke(() =>
                {
                    this.richTextBox1.Text += "\r\n分析1输水泵组合完毕";
                });
            });
        }
        private void btnAnaCh2Combine_Click(object sender, EventArgs e)
        {
            var ch2 = _floder + "\\" + "陈行二输.json";
            var ch2_json = File.ReadAllText(ch2);
            var ch2Pumps = JsonHelper.Json2Object<List<Model.Pump>>(ch2_json);
            this.richTextBox1.Text += "\r\n正在分析2输水泵组合";
            Task.Run(() =>
            {
                var helper = new Algorithm.SchedulingAnaHelper();
                helper.AnaCombine(ch2Pumps);
                this.Invoke(() =>
                {
                    this.richTextBox1.Text += "\r\n分析2输水泵组合完毕";
                });
            });
        }
        private void btnAnaChConclusion_Click(object sender, EventArgs e)
        {
            this.richTextBox1.Text += "\r\n正在分析全部泵组合结论";
            Task.Run(() =>
            {
                var helper = new Algorithm.SchedulingAnaHelper();
                helper.AnaConclusion();
                this.Invoke(() =>
                {
                    this.richTextBox1.Text += "\r\n泵组合分析完毕";
                    this.richTextBox1.Text += "\r\n全部泵组合分析完毕";
                });
            });
        }
        private void btnAna_Click(object sender, EventArgs e)
        {
            if (!double.TryParse(this.txtFlow.Text, out double targetFlow))
            {
                MessageBox.Show("请输入流量!");
                return;
            }
            if (!double.TryParse(this.txtHead.Text, out double targetHead))
            {
                MessageBox.Show("请输入压力!");
                return;
            }
            var combine = this.txtOpenCombineList.Text.Trim();
            if (string.IsNullOrEmpty(combine))
            {
                MessageBox.Show("请输入泵组合!");
                return;
            }
            var combineList = IntListHelper.ToList(combine);
            if (combineList == null || combineList.Count < 1)
            {
                MessageBox.Show("请输入有效泵组合!\r\n','号间隔!");
                return;
            }
            var ch1 = _floder + "\\" + "陈行一输.json";
            var ch1_json = File.ReadAllText(ch1);
            var ch1Pumps = JsonHelper.Json2Object<List<Model.Pump>>(ch1_json);
            var helper = new Algorithm.SchedulingHelper();
            helper.Ana(ch1Pumps, targetFlow, targetHead, combineList);
        }
    }
}