| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.Judge.Commons;
- using Core.StlMes.Client.Judge.Models;
- using CoreFS.CA06;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Judge.Controls
- {
- public partial class QcmJhyPhyResultCtrl : UserControl
- {
- private Dal _d;
- private string _tipMsg = "";
- public string TipMsg
- {
- get { return _tipMsg; }
- set { _tipMsg = value; }
- }
- private bool _showProcess = false;
- private List<CraftOrdDesignStdPicEntity> _craftDesignStdPics = new List<CraftOrdDesignStdPicEntity>();
- public QcmJhyPhyResultCtrl(Control container, OpeBase ob, bool showProcess)
- {
- InitializeComponent();
- _d = new Dal(ob);
- _showProcess = showProcess;
- container.Controls.Add(this);
- this.Dock = DockStyle.Fill;
- this.BringToFront();
- if (!showProcess)
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["processDesc"].Hidden = true;
- }
- ValueList isGood = new ValueList();
- isGood.ValueListItems.Add("0", "符合");
- isGood.ValueListItems.Add("1", "不符合");
- ultraGrid1.DisplayLayout.Bands[0].Columns["isGood"].ValueList = isGood;
- ValueList isDefect = new ValueList();
- isDefect.ValueListItems.Add("0", "符合");
- isDefect.ValueListItems.Add("1", "不符合");
- ultraGrid1.DisplayLayout.Bands[0].Columns["isDefect"].ValueList = isDefect;
- ValueList ischeck = new ValueList();
- ischeck.ValueListItems.Add("0", " ");
- ischeck.ValueListItems.Add("1", "√");
- ultraGrid1.DisplayLayout.Bands[0].Columns["ischeck"].ValueList = ischeck;
- ValueList isquote = new ValueList();
- isquote.ValueListItems.Add("0", " ");
- isquote.ValueListItems.Add("1", "√");
- ultraGrid1.DisplayLayout.Bands[0].Columns["isquote"].ValueList = isquote;
- ValueList isjudge = new ValueList();
- isjudge.ValueListItems.Add("0", " ");
- isjudge.ValueListItems.Add("1", "√");
- ultraGrid1.DisplayLayout.Bands[0].Columns["isjudge"].ValueList = isjudge;
- }
- public void QueryByBatchNo(string lotNo, string judgeStoveNo, string batchNo, string ordLnPk, string ordLnDlyPk, string craftSeq, string mscPline,
- string processCode, string pic, string phyCodeMin, string sampleId, string sampleNo, string craftSource, string stoveNo)
- {
- _tipMsg = "";
- var jhyPhyResults = _d.GetTableByXmlId("QcmJhyPhyresultDAL.QueryByBatchNoPhyMin", judgeStoveNo, batchNo, sampleId, sampleNo, phyCodeMin,
- processCode);
- _craftDesignStdPics.Clear();
- _craftDesignStdPics = _d.GetEntitysByXmlId<CraftOrdDesignStdPicEntity>("CraftOrdDesignStdPic.getCraftJfPhyByOrdLnPk",
- ordLnPk, craftSeq, phyCodeMin);
- var craftDesignStdPicsTmp = _d.GetEntitysByXmlId<CraftOrdDesignStdPicEntity>("CraftOrdDesignStdPic.queryCraftPhyByOrdLnPk", ordLnPk, craftSeq,
- mscPline, processCode, pic, phyCodeMin, craftSource);
- foreach (var craftDesignStdPic in craftDesignStdPicsTmp)
- {
- _craftDesignStdPics.Add(craftDesignStdPic);
- }
- foreach (var craftStdPic in _craftDesignStdPics)
- {
- //处理冲击功
- if (sampleId.StartsWith("F") && craftStdPic.PhyName.StartsWith("冲击功K"))
- {
- craftStdPic.JudgeBasis = "D";
- craftStdPic.Addcondition = "";
- craftStdPic.Addpercent = null;
- craftStdPic.AddstdconCode = "";
- craftStdPic.AddstdMax = "";
- craftStdPic.AddstdMaxSign = "";
- craftStdPic.AddstdMin = "";
- craftStdPic.AddstdMinSign = "";
- }
- }
- ultraGrid1.BeginUpdate();
- GridHelper.CopyDataToDatatable(jhyPhyResults, dataTable1, !_showProcess);
- if (_craftDesignStdPics.Count == 0)
- {
- ultraGrid1.EndUpdate();
- return;
- }
- DataRow drG = _d.GetRowByXmlId("JdgSlmOrderLine.getSpecByDlyPk", ordLnDlyPk);
- DataRow chem601 = _d.GetRowByXmlId("QcmJhyElementsDAL.queryAllByStoveNo", stoveNo, "601");
- DataRow chem602 = _d.GetRowByXmlId("QcmJhyElementsDAL.queryAllByStoveNo", stoveNo, "602");
- Color red = Color.FromArgb(255, 106, 106);
- foreach (var row in ultraGrid1.Rows)
- {
- if (row.GetValue("pic") != "") continue;
- var queryCraftDesignStdPics = _craftDesignStdPics.Where(a => a.PhyCodeMin == row.GetValue("PhyCodeMin")
- && a.PhyCode == row.GetValue("PhyCode")
- && a.ItemCodeF == row.GetValue("ItemCodeF")
- && (a.ItemCodeW == row.GetValue("ItemCodeW") || a.PhyCodeMin == "C0007" || a.PhyCodeMin == "C0009" || a.PhyCodeMin == "C0038" || a.PhyCodeMin == "C0004" || a.PhyCodeMin == "C0100" || a.PhyCodeMin == "C0018")
- && a.ItemCodeS == row.GetValue("ItemCodeS")
- );
- var craftDesignStdPicA = _craftDesignStdPics.Where(a => a.SpeclFl == "1" && a.PhyCodeMin == row.GetValue("PhyCodeMin") && a.PhyCode == row.GetValue("PhyCode")
- && (a.ItemCodeF == "" || a.ItemCodeF == row.GetValue("ItemCodeF"))
- && (a.ItemCodeW == "" || a.ItemCodeW == row.GetValue("ItemCodeW"))
- && (a.ItemCodeS == "" || a.ItemCodeS == row.GetValue("ItemCodeS"))).FirstOrDefault();
- string str1 = row.GetValue("PhyCodeMin");
- string str2 = row.GetValue("PhyCode");
- if (craftDesignStdPicA != null)
- {
- row.SetValue("ischeck", craftDesignStdPicA.Ischeck);
- row.SetValue("isquote", craftDesignStdPicA.Isquote);
- row.SetValue("isjudge", craftDesignStdPicA.Isjudge);
- row.SetValue("pic", craftDesignStdPicA.Pic);
- CalculateExpress(craftDesignStdPicA, drG["HEIGHT"].ToString(), "", chem601, chem602, row.GetValue("sampleSize"));
- row.SetValue("alphaExpress", GetExpress(craftDesignStdPicA));
- bool compare = ComparePhy(row, "alphaExpress", craftDesignStdPicA, false);
- row.SetValue("alphaAttachExpress", GetAttachExpress(craftDesignStdPicA));
- ComparePhy(row, "alphaAttachExpress", craftDesignStdPicA, compare);
- ComparePhy(row, "checkTemp", craftDesignStdPicA, false);
- }
- foreach (var a in queryCraftDesignStdPics)
- {
- if(a.SpeclFl == "2"){
- continue;
- }
- }
- var craftDesignStdPicN = queryCraftDesignStdPics.Where(a => a.SpeclFl == "2").FirstOrDefault();
- if (craftDesignStdPicN != null)
- {
- row.SetValue("stdMatch", "YES");
- row.SetValue("ischeck", craftDesignStdPicN.Ischeck);
- row.SetValue("isquote", craftDesignStdPicN.Isquote);
- row.SetValue("isjudge", craftDesignStdPicN.Isjudge);
- row.SetValue("pic", craftDesignStdPicN.Pic);
- CalculateExpress(craftDesignStdPicN, drG["HEIGHT"].ToString(), "", chem601, chem602, row.GetValue("sampleSize"));
- row.SetValue("nkExpress", GetExpress(craftDesignStdPicN));
- bool compare = ComparePhy(row, "nkExpress", craftDesignStdPicN, false);
- row.SetValue("nkAttachExpress", GetAttachExpress(craftDesignStdPicN));
- ComparePhy(row, "nkAttachExpress", craftDesignStdPicN, compare);
- ComparePhy(row, "checkTemp", craftDesignStdPicN, false);
- }
- else
- {
- row.SetValue("stdMatch", "NO");
- row.Cells["stdMatch"].Appearance.BackColor = red;
- }
- }
- //隐藏没有值的列
- foreach (UltraGridColumn col in ultraGrid1.DisplayLayout.Bands[0].Columns)
- {
- if (!col.Key.StartsWith("value") && col.Key != "average"
- && col.Key != "isGood" && col.Key != "isDefect") continue;
- bool exist = false;
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- if (row.Cells[col.Key].Value.ToString() != "")
- {
- exist = true;
- break;
- }
- }
- if (!exist)
- {
- col.Hidden = true;
- }
- else
- {
- col.Hidden = false;
- }
- if (col.Key == "average" && _craftDesignStdPics[0].PhyCodeMax == "R0007")
- {
- col.Hidden = true;
- }
-
- }
- ultraGrid1.EndUpdate();
- ultraGrid1.UpdateData();
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- }
- private void CalculateExpress(CraftOrdDesignStdPicEntity craftDesingStdPic, String t, String axc,
- DataRow chem601, DataRow chem602, string sampleSize)
- {
- if (craftDesingStdPic.PhyType == "0") return;
- axc = CalculateAxc(sampleSize, t);
- //替换公式符号
- if (craftDesingStdPic.Stdmin != "" || !StringUtil.IsNumber(craftDesingStdPic.Stdmin))
- {
- string stdMin = craftDesingStdPic.Stdmin.Replace("t", t).Replace("Axc", axc);
- craftDesingStdPic.Stdmin = JudgeHelper.GetRoundValue(stdMin, 0);
- if (stdMin.Contains("C"))
- {
- if (chem601 == null)
- {
- craftDesingStdPic.Stdmin = stdMin;
- }
- else
- {
- if (chem601["C"].ToString() != "")
- {
- String tmpStd = stdMin.Replace("C%", chem601["C"].ToString()).Replace("C", chem601["C"].ToString());
- tmpStd = JudgeHelper.GetRoundValue(tmpStd, 1);
- if (chem602 == null)
- {
- craftDesingStdPic.Stdmin = tmpStd;
- }
- else
- {
- String tmpStd2 = stdMin.Replace("C%", chem602["C"].ToString()).Replace("C%", chem602["C"].ToString());
- tmpStd2 = JudgeHelper.GetRoundValue(tmpStd2, 1);
- if (Double.Parse(tmpStd) < Double.Parse(tmpStd2))
- {
- craftDesingStdPic.Stdmin = tmpStd;
- }
- else
- {
- craftDesingStdPic.Stdmin = tmpStd2;
- }
- }
- }
- }
- }
- }
- if (craftDesingStdPic.Stdmax != "" || !StringUtil.IsNumber(craftDesingStdPic.Stdmax))
- {
- string stdMax = craftDesingStdPic.Stdmax.Replace("t", t).Replace("Axc", axc);
- craftDesingStdPic.Stdmax = JudgeHelper.GetRoundValue(stdMax, 0);
- if (stdMax.Contains("C"))
- {
- if (chem601 == null)
- {
- craftDesingStdPic.Stdmax = stdMax;
- }
- else
- {
- if (chem601["C"].ToString() != "")
- {
- String tmpStd = stdMax.Replace("C%", chem601["C"].ToString()).Replace("C", chem601["C"].ToString());
- tmpStd = JudgeHelper.GetRoundValue(tmpStd, 1);
- if (chem602 != null)
- {
- craftDesingStdPic.Stdmax = tmpStd;
- }
- else
- {
- String tmpStd2 = stdMax.Replace("C%", chem602["C"].ToString()).Replace("C", chem602["C"].ToString());
- tmpStd2 = JudgeHelper.GetRoundValue(tmpStd2, 1);
- if (Double.Parse(tmpStd) < Double.Parse(tmpStd2))
- {
- craftDesingStdPic.Stdmax = tmpStd2;
- }
- else
- {
- craftDesingStdPic.Stdmax = tmpStd;
- }
- }
- }
- }
- }
- }
- if (craftDesingStdPic.Stdmin2 != "" || !StringUtil.IsNumber(craftDesingStdPic.Stdmin2))
- {
- string stdMin2 = craftDesingStdPic.Stdmin2.Replace("t", t);
- craftDesingStdPic.Stdmin2 = JudgeHelper.GetRoundValue(stdMin2, 0);
- if (stdMin2.Contains("C"))
- {
- if (chem601 == null)
- {
- craftDesingStdPic.Stdmin2 = stdMin2;
- }
- else
- {
- if (chem601["C"].ToString() != "")
- {
- String tmpStd = stdMin2.Replace("C%", chem601["C"].ToString()).Replace("C", chem601["C"].ToString());
- tmpStd = JudgeHelper.GetRoundValue(tmpStd, 1);
- if (chem602 == null)
- {
- craftDesingStdPic.Stdmin2 = tmpStd;
- }
- else
- {
- String tmpStd2 = stdMin2.Replace("C%", chem602["C"].ToString()).Replace("C", chem602["C"].ToString());
- tmpStd2 = JudgeHelper.GetRoundValue(tmpStd2, 1);
- if (Double.Parse(tmpStd) < Double.Parse(tmpStd2))
- {
- craftDesingStdPic.Stdmin2 = tmpStd;
- }
- else
- {
- craftDesingStdPic.Stdmin2 = tmpStd2;
- }
- }
- }
- }
- }
- }
- if (craftDesingStdPic.Stdmax2 != "" || !StringUtil.IsNumber(craftDesingStdPic.Stdmax2))
- {
- string stdMax2 = craftDesingStdPic.Stdmax2.Replace("t", t);
- craftDesingStdPic.Stdmax2 = JudgeHelper.GetRoundValue(stdMax2, 0);
- if (stdMax2.Contains("C"))
- {
- if (chem601 == null)
- {
- craftDesingStdPic.Stdmax2 = stdMax2;
- }
- else
- {
- if (chem601["C"].ToString() != "")
- {
- String tmpStd = stdMax2.Replace("C%", chem601["C"].ToString()).Replace("C", chem601["C"].ToString());
- tmpStd = JudgeHelper.GetRoundValue(tmpStd, 1);
- if (chem602 == null)
- {
- craftDesingStdPic.Stdmax2 = tmpStd;
- }
- else
- {
- String tmpStd2 = stdMax2.Replace("C%", chem602["C"].ToString()).Replace("C", chem602["C"].ToString());
- tmpStd2 = JudgeHelper.GetRoundValue(tmpStd2, 1);
- if (Double.Parse(tmpStd) < Double.Parse(tmpStd2))
- {
- craftDesingStdPic.Stdmax2 = tmpStd2;
- }
- else
- {
- craftDesingStdPic.Stdmax2 = tmpStd;
- }
- }
- }
- }
- }
- }
- }
- private string CalculateAxc(string sampleSize, string t)
- {
- string axc = "Axc";
- // do为棒
- sampleSize = sampleSize.Replace("d0", "do").Replace("b0", "bo").Replace("L0", "Lo");
- if (sampleSize.Contains("do"))
- {
- if (sampleSize.Contains("do=12.7") || sampleSize.Contains("do=8.9")
- || (sampleSize.Contains("do=12.5") && sampleSize.Contains("Lo=50")))
- {
- axc = "130";
- }
- else if (sampleSize.Contains("do=6.4"))
- {
- axc = "65";
- }
- }
- else if (sampleSize.Contains("bo"))
- {
- int index = sampleSize.IndexOf("bo=");
- String tmpStr = sampleSize.Substring(index + 3);
- int index2 = tmpStr.IndexOf("mm");
- String width = tmpStr.Substring(0, index2);
- double dWidth = 0;
- if (double.TryParse(width, out dWidth))
- {
- double area = dWidth * double.Parse(t);
- area = Math.Round(area / 10, 0);
- area = area * 10;
- if (area < 490)
- {
- axc = area.ToString();
- }
- else
- {
- axc = "490";
- }
- }
- }
- return axc;
- }
- private bool ComparePhy(UltraGridRow row, string columnKey, CraftOrdDesignStdPicEntity craftDesignStdPic, bool compare)
- {
- if ("checkTemp".Equals(columnKey))
- {
- // 夏比摆锤冲击试验-V型
- if (craftDesignStdPic.PhyCodeMin == "C0002"
- && !String.IsNullOrEmpty(craftDesignStdPic.ItemNameW)
- && ((!craftDesignStdPic.ItemNameW.Contains(row.GetValue("CHECKTEMP").ToString2()) && !"室温".Equals(craftDesignStdPic.ItemNameW))
- || ("室温".Equals(craftDesignStdPic.ItemNameW) && !(Int16.Parse(row.GetValue("CHECKTEMP")) > 18 && Int16.Parse(row.GetValue("CHECKTEMP")) < 28))
- )
- )
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "实际温度与工艺不符合");
- return true;
- }
- // 室温拉伸试验
- if (craftDesignStdPic.PhyCodeMin == "C0001" && !String.IsNullOrEmpty(craftDesignStdPic.ItemNameW) && !(Int16.Parse(row.GetValue("CHECKTEMP")) > 10 && Int16.Parse(row.GetValue("CHECKTEMP")) < 35))
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "实际温度与工艺不符合");
- return true;
- }
- return false;
- }
- if (craftDesignStdPic.PhyCodeMax == "R0007")
- {
- dataColumn27.Caption = "平均值1";
- dataColumn31.Caption = "平均值2";
- dataColumn35.Caption = "平均值3";
- }
- else
- {
- dataColumn27.Caption = "值4";
- dataColumn31.Caption = "值8";
- dataColumn35.Caption = "值12";
- }
- if (craftDesignStdPic.PhyCodeMax == "R0012" && row.GetValue("remark").Trim() != "")
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns["remark"];
- dtRow.SetColumnError(dtcolumn, "夹杂物存在试验备注");
- }
- if (craftDesignStdPic.PhyCodeMin == "C0022")
- {
- if (row.Cells["Value1"].Value.ToString() == "无")
- {
- return true;
- }
- else
- {
- _tipMsg = "检验编号:{0}的检验结果不符合标准!";
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- }
- if (row.GetValue(columnKey).Contains("Axc") || row.GetValue(columnKey).Contains("Rm"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合标准!";
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- List<decimal> values = new List<decimal>();
- int chineseValueCnt = 0;
- int accordChineseValueCnt = 0;
- foreach (var cell in row.Cells)
- {
- if (cell.Column.Key.Contains("value"))
- {
- string val = cell.Value.ToString().Trim();
- if (val != "")
- {
- if (val.TryParseDecimal())
- {
- if (craftDesignStdPic.PhyCodeMax == "R0007")
- {
- if (craftDesignStdPic.JudgeBasis == "C")
- {
- if (cell.Column.Key.Contains("4") || cell.Column.Key.Contains("8")||cell.Column.Key.Contains("12"))
- {
- values.Add(decimal.Parse(val.Trim()));
- }
-
- }
- else if (craftDesignStdPic.JudgeBasis == "D")
- {
- if (!cell.Column.Key.Contains("4") && !cell.Column.Key.Contains("8") && !cell.Column.Key.Contains("12"))
- {
- values.Add(decimal.Parse(val.Trim()));
- }
- }
- else
- {
- values.Add(decimal.Parse(val.Trim()));
- }
- }
- else
- {
- values.Add(decimal.Parse(val.Trim()));
- }
- }
- else
- {
- chineseValueCnt++;
- if (val.StartsWith("符合") || val.StartsWith("不符合"))
- {
- if (val.StartsWith("符合"))
- {
- accordChineseValueCnt++;
- }
- }
- else
- {
- if (craftDesignStdPic.StdminSign == "=" && craftDesignStdPic.Stdmin.Trim() == val)
- {
- return true;
- }
- }
- }
- }
- }
- }
- if (chineseValueCnt > 0)
- {
- if (chineseValueCnt == accordChineseValueCnt)
- {
- return true;
- }
- else
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "检验结果不符合标准!");
- return false;
- }
- }
- if (row.GetValue("isGood") != "" || row.GetValue("isDefect") != "")
- {
- bool ybResult = true;
- if (row.GetValue("isGood") == "1")
- {
- ybResult = false;
- }
- if (row.GetValue("isDefect") == "1")
- {
- ybResult = false;
- }
- if (ybResult)
- {
- return true;
- }
- else
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "检验结果不符合标准!");
- return false;
- }
- }
- if (values.Count == 0)
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "没有找到该项的检验值!");
- return false;
- }
- if (columnKey.Contains("Attach"))
- {
- bool showErrow = false;
- if ((compare && craftDesignStdPic.Addcondition == "1") || (!compare && craftDesignStdPic.Addcondition == "0")
- || craftDesignStdPic.Addcondition == "" && (craftDesignStdPic.AddstdMin != "" || craftDesignStdPic.AddstdMax != ""))
- {
- showErrow = true;
- }
- string str1 = craftDesignStdPic.Addcondition == "0" ? "不符合标准时" : "符合标准时";
- if (craftDesignStdPic.Addcondition == "")
- {
- str1 = "";
- }
- if (craftDesignStdPic.AddstdconCode == "407001" )//允许一个值
- {
- string str2 = "允许一个值";
- row.Cells[columnKey].ToolTipText = str1 + str2 + row.GetValue(columnKey);
- string stdMinExpress = craftDesignStdPic.StdminSign + craftDesignStdPic.Stdmin;
- string stdMaxExpress = craftDesignStdPic.StdmaxSign + craftDesignStdPic.Stdmax;
- string addExpress = "";
- if (craftDesignStdPic.AddstdMin != "")
- {
- addExpress = craftDesignStdPic.AddstdMinSign + craftDesignStdPic.AddstdMin;
- }
- if (craftDesignStdPic.AddstdMax != "")
- {
- if (addExpress != "")
- {
- addExpress += ";" + craftDesignStdPic.AddstdMaxSign + craftDesignStdPic.AddstdMax;
- }
- else
- {
- addExpress = craftDesignStdPic.AddstdMaxSign + craftDesignStdPic.AddstdMax;
- }
- }
- int cnt = 0;
- foreach (decimal value in values)
- {
- if (stdMinExpress != "" && stdMaxExpress == "")
- {
- if (JudgeHelper.JudgeExpress(value.ToString(), stdMinExpress))
- {
- continue;
- }
- }
- else if (stdMinExpress == "" && stdMaxExpress != "")
- {
- if (JudgeHelper.JudgeExpress(value.ToString(), stdMaxExpress))
- {
- continue;
- }
- }
- else
- {
- if (JudgeHelper.JudgeExpress(value.ToString(), stdMinExpress)
- && JudgeHelper.JudgeExpress(value.ToString(), stdMaxExpress))
- {
- continue;
- }
- }
- if (JudgeHelper.JudgeExpress(value.ToString(), addExpress))
- {
- if (cnt == 0)
- {
- cnt++;
- }
- else
- {
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- else
- {
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- if (values.Count == 0)
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "没有找到该项的检验值!");
- return false;
- }
- }
- if (craftDesignStdPic.AddstdconCode == "407002")
- {
- string str2 = "最大最小差值";
- row.Cells[columnKey].ToolTipText = str1 + str2 + row.GetValue(columnKey);
- if (!JudgeHelper.JudgeExpress((values.Max() - values.Min()).ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- if (craftDesignStdPic.AddstdconCode == "407003")
- {
- string str2 = "平均值必须";
- row.Cells[columnKey].ToolTipText = str1 + str2 + row.GetValue(columnKey);
- string average = row.GetValue("average");
- if (values.Count == 1)
- {
- average = values[0].ToString();
- }
- if (!JudgeHelper.JudgeExpress(average, row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- if (craftDesignStdPic.AddstdconCode == "407004")
- {
- string str2 = "最小值必须";
- row.Cells[columnKey].ToolTipText = str1 + str2 + row.GetValue(columnKey);
- if (!JudgeHelper.JudgeExpress(values.Min().ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- if (craftDesignStdPic.AddstdconCode == "407005")
- {
- string str2 = "最大值必须";
- row.Cells[columnKey].ToolTipText = str1 + str2 + row.GetValue(columnKey);
- if (!JudgeHelper.JudgeExpress(values.Max().ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- if (showErrow)
- {
- dtRow.SetColumnError(dtcolumn, "不符合");
- }
- return false;
- }
- }
- }
- else
- {
- string tips = "";
- switch (craftDesignStdPic.JudgeBasis)
- {
- case "A":
- tips = "最小值";
- break;
- case "B":
- tips = "最大值";
- break;
- case "C":
- tips = "平均值";
- break;
- case "D":
- tips = "逐项值";
- break;
- }
- tips += row.GetValue(columnKey);
- if (craftDesignStdPic.JudgeBasis == "A")
- {
- decimal value = values.Min();
- row.Cells[columnKey].ToolTipText = tips;
- if (!JudgeHelper.JudgeExpress(value.ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- }
- else if (craftDesignStdPic.JudgeBasis == "B")
- {
- decimal value = values.Max();
- row.Cells[columnKey].ToolTipText = tips;
- if (!JudgeHelper.JudgeExpress(value.ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- }
- else if (craftDesignStdPic.JudgeBasis == "C" && craftDesignStdPic.PhyCodeMax != "R0007")
- {
- string average = row.GetValue("average");
- if (values.Count == 1)
- {
- average = values[0].ToString();
- }
- row.Cells[columnKey].ToolTipText = tips;
- if (!JudgeHelper.JudgeExpress(average, row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- }
- else if (craftDesignStdPic.JudgeBasis == "D" || craftDesignStdPic.PhyCodeMax == "R0007")
- {
- row.Cells[columnKey].ToolTipText = tips;
- foreach (decimal value in values)
- {
- if (!JudgeHelper.JudgeExpress(value.ToString(), row.GetValue(columnKey)))
- {
- //row.Cells[columnKey].Appearance.BackColor = Color.FromArgb(255, 106, 106);
- if (columnKey.Contains("nk"))
- {
- _tipMsg = "检验编号:{0}的检验结果不符合内控标准!";
- }
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "不符合");
- return false;
- }
- }
- if (values.Count == 0)
- {
- var dtRow = ((DataRowView)row.ListObject).Row;
- var dtcolumn = dtRow.Table.Columns[columnKey];
- dtRow.SetColumnError(dtcolumn, "没有找到该项的检验值!");
- return false;
- }
- }
- }
- return true;
- }
- private string GetExpress(CraftOrdDesignStdPicEntity craftDesignStdPic)
- {
- if (craftDesignStdPic.StdChoose == "")
- {
- return JudgeHelper.GetExpress(craftDesignStdPic.StdminSign, craftDesignStdPic.Stdmin,
- craftDesignStdPic.StdmaxSign, craftDesignStdPic.Stdmax);
- }
- else
- {
- string stdMin = "";
- string stdMax = "";
- if (craftDesignStdPic.StdChoose == "407101")//取大值
- {
- if (craftDesignStdPic.Stdmin != "" && craftDesignStdPic.Stdmin2 != "")
- {
- if (decimal.Parse(craftDesignStdPic.Stdmin) >= decimal.Parse(craftDesignStdPic.Stdmin2))
- {
- stdMin = craftDesignStdPic.Stdmin;
- }
- else
- {
- stdMin = craftDesignStdPic.Stdmin2;
- }
- }
- else
- {
- if (craftDesignStdPic.Stdmin != "")
- {
- stdMin = craftDesignStdPic.Stdmin;
- }
- if (craftDesignStdPic.Stdmin2 != "")
- {
- stdMin = craftDesignStdPic.Stdmin2;
- }
- }
- if (craftDesignStdPic.Stdmax != "" && craftDesignStdPic.Stdmax2 != "")
- {
- if (decimal.Parse(craftDesignStdPic.Stdmax) >= decimal.Parse(craftDesignStdPic.Stdmax2))
- {
- stdMax = craftDesignStdPic.Stdmax;
- }
- else
- {
- stdMax = craftDesignStdPic.Stdmax2;
- }
- }
- else
- {
- if (craftDesignStdPic.Stdmax != "")
- {
- stdMax = craftDesignStdPic.Stdmax;
- }
- if (craftDesignStdPic.Stdmax2 != "")
- {
- stdMax = craftDesignStdPic.Stdmax2;
- }
- }
- }
- else if (craftDesignStdPic.StdChoose == "407101")
- {
- if (craftDesignStdPic.Stdmin != "" && craftDesignStdPic.Stdmin2 != "")
- {
- if (decimal.Parse(craftDesignStdPic.Stdmin) <= decimal.Parse(craftDesignStdPic.Stdmin2))
- {
- stdMin = craftDesignStdPic.Stdmin;
- }
- else
- {
- stdMin = craftDesignStdPic.Stdmin2;
- }
- }
- else
- {
- if (craftDesignStdPic.Stdmin != "")
- {
- stdMin = craftDesignStdPic.Stdmin;
- }
- if (craftDesignStdPic.Stdmin2 != "")
- {
- stdMin = craftDesignStdPic.Stdmin2;
- }
- }
- if (craftDesignStdPic.Stdmax != "" && craftDesignStdPic.Stdmax2 != "")
- {
- if (decimal.Parse(craftDesignStdPic.Stdmax) <= decimal.Parse(craftDesignStdPic.Stdmax2))
- {
- stdMax = craftDesignStdPic.Stdmax;
- }
- else
- {
- stdMax = craftDesignStdPic.Stdmax2;
- }
- }
- else
- {
- if (craftDesignStdPic.Stdmax != "")
- {
- stdMax = craftDesignStdPic.Stdmax;
- }
- if (craftDesignStdPic.Stdmax2 != "")
- {
- stdMax = craftDesignStdPic.Stdmax2;
- }
- }
- }
- //附加标准公式替换
- string addStdMin = craftDesignStdPic.AddstdMin.Replace("Value", stdMin);
- string addStdMax = craftDesignStdPic.AddstdMax.Replace("Value", stdMax);
- craftDesignStdPic.AddstdMin = JudgeHelper.GetRoundValue(addStdMin, 0);
- craftDesignStdPic.AddstdMax = JudgeHelper.GetRoundValue(addStdMax, 0);
- return JudgeHelper.GetExpress(craftDesignStdPic.StdminSign, stdMin, craftDesignStdPic.StdmaxSign, stdMax);
- }
- }
- private string GetAttachExpress(CraftOrdDesignStdPicEntity craftDesignStdPic)
- {
- return JudgeHelper.GetExpress(craftDesignStdPic.AddstdMinSign, craftDesignStdPic.AddstdMin,
- craftDesignStdPic.AddstdMaxSign, craftDesignStdPic.AddstdMax);
- }
- public void ClearData()
- {
- dataTable1.Clear();
- }
- private void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- ultraGrid1.UpdateData();
- }
- private void ultraGrid1_BeforeCellUpdate(object sender, BeforeCellUpdateEventArgs e)
- {
- }
- private void ultraGrid1_AfterSortChange(object sender, BandEventArgs e)
- {
- GridHelper.RefreshAndAutoSize(ultraGrid1);
- }
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- }
- }
- }
|