using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Windows.Forms;
|
using TProduct.Model;
|
|
namespace TProduct.WinFrmUI.TPump
|
{
|
/// <summary>
|
/// 性能测试(合格判断)
|
/// </summary>
|
public partial class FeatTestViewMainPage
|
{
|
|
List<TProduct.Model.TestJudgeItemResultViewModel> _testJudgeResults = null;
|
|
private void InitialJudgeItem()
|
{
|
if (this._featTestItem == null)
|
return;
|
|
//测试标准
|
_testStandard = TProduct.Common.TestStandardHelper.Instance.GetStandard(TProduct.Model.eProductType.Pump, this._featTestItem.TestStandardID);
|
if (_testStandard == null)
|
{
|
_testStandard = TProduct.Common.TestStandardHelper.Instance.GetDefaultStandard(eProductType.Pump, eTestType.FeatTest);
|
}
|
_testGrade = TProduct.Common.TestStandardHelper.Instance.GetGrade(TProduct.Model.eProductType.Pump, _testStandard.ID, this._featTestItem.TestGradeID);
|
if (_testGrade == null)
|
{
|
_testGrade = TProduct.Common.TestStandardHelper.Instance.GetDefaultGrade(TProduct.Model.eProductType.Pump, _testStandard.ID);
|
}
|
|
_testJudgeItems = TProduct.Common.TestStandardHelper.Instance.GetJudgeItems(TProduct.Model.eProductType.Pump, _testStandard.ID, _testGrade.ID);
|
}
|
|
/// <summary>
|
/// 判别
|
/// </summary>
|
private void JudgeTestResult()
|
{
|
TProduct.Common.PumpTestJudgeHelper helper = new TProduct.Common.PumpTestJudgeHelper();
|
helper.SetRatedParas(this._currentPump, this._ratedParas);
|
helper.SetStandard(this._testStandard, this._testGrade, this._testJudgeItems);
|
//
|
if (this._featTestItem.ItemParas != null &&
|
this._featTestItem.ItemParas.FlowInZeroH > 0)
|
{
|
helper.SetFlowInZeroH(this._featTestItem.ItemParas.FlowInZeroH);
|
}
|
|
|
var isOk2 = helper.Judge(this._allRecords, out _testJudgeResults);
|
|
this._chartMainCtrl.SetJudgePointQH(helper.JudgePointQH);
|
this._chartMainCtrl.SetEquipCurve(helper.EquipCurve);
|
|
SaveJudgeResult(isOk2);
|
}
|
|
|
private void barBtn合格性判定_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
if (this._allRecords == null || this._allRecords.Count() < 4)
|
{
|
MessageBox.Show("点数量过少,暂时无法判断");
|
return;
|
}
|
|
ResultJudgeForm frm = new ResultJudgeForm();
|
frm.SetRatedParas(this._currentPump, this._ratedParas);
|
frm.SetRecordPoints(this._allRecords);
|
frm.SetBindingData(this._featTestItem, this._testStandard, this._testGrade, this._testJudgeItems, this._testJudgeResults);
|
frm.OnSaveResult += (isOk2, new_testJudgeResults) =>
|
{
|
this._testJudgeResults = new_testJudgeResults;
|
|
SaveJudgeResult(isOk2);
|
|
};
|
frm.OnSaveGrade += (standard_id, grade_id, judgeItemList) =>
|
{
|
this._testStandard = TProduct.Common.TestStandardHelper.Instance.GetStandard(TProduct.Model.eProductType.Pump, standard_id);
|
this._testGrade = TProduct.Common.TestStandardHelper.Instance.GetGrade(TProduct.Model.eProductType.Pump, standard_id, grade_id);
|
this._testJudgeItems = judgeItemList;
|
|
this._featTestItem.TestStandardID = this._testStandard.ID;
|
this._featTestItem.TestGradeID = this._testGrade.ID;
|
|
new BLL.TestProjectItemBundle().UpdateGradeID(this._featTestItem.BundleID, this._featTestItem.TestStandardID,
|
this._featTestItem.TestGradeID);
|
|
if (OnChangeFeatTestInfo != null)
|
{
|
OnChangeFeatTestInfo(this._featTestItem);
|
}
|
|
this._chartMainCtrl.RefreshJudgeItem(judgeItemList);
|
this._chartMainCtrl.UpdateRatedParas();
|
};
|
frm.Show();
|
}
|
public Action<Model.eTestJudgeResult, Model.eTestJudgeResult> OnChangeJudgeResult = null;
|
private void SaveJudgeResult(Model.eTestJudgeResult judgeResult)
|
{
|
if (judgeResult != this._featTestItem.ItemJudgeResult)
|
{
|
this._featTestItem.ItemJudgeResult = judgeResult;
|
new BLL.TestProjectItem().UpdateJudgeResult(this._featTestItem.ItemID,
|
(int)this._featTestItem.ItemJudgeResult);
|
}
|
|
if (judgeResult != this._testProject.JudgeResult)
|
{
|
this._testProject.JudgeResult = judgeResult;
|
new BLL.TestProject().UpdateJudgeResult(this._testProject.ID,
|
(int)this._testProject.JudgeResult);
|
}
|
|
if(_testJudgeResults != null)
|
{
|
Model.FeatTestResult result = new Model.FeatTestResult();
|
|
var judge_q = _testJudgeResults.Find(x => x.TargeType == eTestJudgeTargetType.流量);
|
result.Flow = judge_q.JudgeValue;
|
|
var judge_h = _testJudgeResults.Find(x => x.TargeType == eTestJudgeTargetType.扬程);
|
result.Head = judge_h.JudgeValue;
|
|
var judge_e = _testJudgeResults.Find(x => x.TargeType == eTestJudgeTargetType.泵效率);
|
if(judge_e != null)
|
{
|
result.Eta = judge_e.JudgeValue;
|
}
|
|
if(_featTestItem.ItemTestResult != result.ToJsonString())
|
{
|
_featTestItem.ItemTestResult = result.ToJsonString();
|
new BLL.TestProjectItem().UpdateTestResult(this._featTestItem.ItemID, this._featTestItem.ItemTestResult);
|
}
|
|
}
|
|
|
if (OnChangeJudgeResult != null)
|
OnChangeJudgeResult(this._testProject.JudgeResult, this._featTestItem.ItemJudgeResult);
|
|
ShowJudgeResult();
|
}
|
|
/// <summary>
|
/// 设置显示Button按钮的文字
|
/// </summary>
|
private void ShowJudgeResult()
|
{
|
if (this._featTestItem.ItemJudgeResult == eTestJudgeResult.合格)
|
{
|
barButtonItem判断结果.Caption = "合格";
|
barButtonItem判断结果.LargeImageIndex = 0;
|
}
|
else if (this._featTestItem.ItemJudgeResult == eTestJudgeResult.不合格)
|
{
|
barButtonItem判断结果.Caption = "不合格";
|
barButtonItem判断结果.LargeImageIndex = 1;
|
}
|
else
|
{
|
barButtonItem判断结果.Caption = "未判断";
|
barButtonItem判断结果.LargeImageIndex = 2;
|
}
|
}
|
|
}
|
}
|