| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Format;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using Core.StlMes.Client.Qcm.model;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinEditors;
- using Infragistics.Win.UltraWinGrid;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Qcm
- {
- /// <summary>
- /// 化学成分标准
- /// </summary>
- public partial class FrmChemStandard : FrmBase
- {
- private bool isPasting = false;
- /// <summary>
- /// 成分索引号
- /// </summary>
- private string cic = "";
- public string Cic
- {
- get { return cic; }
- set { cic = value; }
- }
- private string msc = "";
- public string Msc
- {
- get { return msc; }
- set { msc = value; }
- }
- //如果接箍为字符串空,会在SQL语句中新增接箍等于空的条件,所以单页面默认了个不为空的值。
- private string codeJg = "DefaultValue";
- public string CodeJg
- {
- get { return codeJg; }
- set { codeJg = value; }
- }
- private string stdCode = "";
- public string StdCode
- {
- get { return stdCode; }
- set { stdCode = value; }
- }
- private ArrayList steelCodes = new ArrayList();
- public ArrayList SteelCodes
- {
- get { return steelCodes; }
- set { steelCodes = value; }
- }
- private string produccodeNk = "";
- public string ProduccodeNk
- {
- get { return produccodeNk; }
- set { produccodeNk = value; }
- }
- private string steelcodeNk = "";
- public string SteelcodeNk
- {
- get { return steelcodeNk; }
- set { steelcodeNk = value; }
- }
- private string processCodeNk = "";
- public string ProcessCodeNk
- {
- get { return processCodeNk; }
- set { processCodeNk = value; }
- }
- private string modelCode = "";
- public string ModelCode
- {
- get { return modelCode; }
- set { modelCode = value; }
- }
- private string acceptBid = "";
- public string AcceptBid
- {
- get { return acceptBid; }
- set { acceptBid = value; }
- }
- //提示信息信息
- private string errMessage = "";
- //判断是否勾选记录
- //public int isSelect = 0;
- //是否展开
- private bool _isEx = false;
- //定位行
- private string _cic = "";
- private UltraComboEditor[] ultras = new UltraComboEditor[13];
- public FrmChemStandard()
- {
- //F1 F2功能
- IsLoadUserView = true;
- InitializeComponent();
- ExceptionHelper.RegistException();
- }
- public void PopupLoad(string customInfo, OpeBase ob)
- {
- this.CustomInfo = customInfo;
- this.ob = ob;
- FrmChemStandard_Load(null, null);
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- DoQuery();
- break;
- case "Save":
- DoSave();
- break;
- case "Delete":
- DoDeleteOrResume(true);
- break;
- case "Resume":
- DoDeleteOrResume(false);
- break;
- case "Copy":
- Copy();
- break;
- case "Paste":
- isPasting = true;
- try
- {
- Paste();
- }
- finally
- {
- isPasting = false;
- }
- break;
- case "Refresh":
- InitDrop();
- break;
- case "Group":
- Group();
- break;
- case "CancelGroup":
- CancelGroup();
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- /// <summary>
- /// 复制
- /// </summary>
- private void Copy()
- {
- if (ultraGrid1.ActiveRow == null)
- {
- MessageUtil.ShowWarning("请选择记录后,再进行操作!");
- return;
- }
- ultraGrid1.UpdateData();
- DataTable copyTab = dataTable1.Copy();
- DataTable copyTab2 = dataTable2.Copy();
- copyTab.Clear();
- copyTab2.Clear();
- if (ultraGrid1.ActiveRow.HasParent())
- {
- foreach (UltraGridRow row in ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows)
- {
- if (row.GetValue("CHC") != "True") continue;
- DataRow dr = copyTab.NewRow();
- CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
- copyTab.Rows.Add(dr);
- }
- }
- else
- {
- foreach (UltraGridRow row in ultraGrid1.ActiveRow.ChildBands[0].Rows)
- {
- DataRow dr = copyTab.NewRow();
- CopyRowToRow(((DataRowView)row.ListObject).Row, dr);
- copyTab.Rows.Add(dr);
- }
- DataRow dr2 = copyTab2.NewRow();
- CopyRowToRow(((DataRowView)ultraGrid1.ActiveRow.ListObject).Row, dr2);
- copyTab2.Rows.Add(dr2);
- }
- DataTable[] copyTabs = new DataTable[] { copyTab, copyTab2 };
- Clipboard.SetData("Cic", copyTabs);
- }
- private void CopyRowToRow(DataRow srcRow, DataRow desRow)
- {
- for (int i = 0; i < srcRow.Table.Columns.Count; i++)
- {
- string columnName = srcRow.Table.Columns[i].ColumnName;
- desRow[columnName] = srcRow[columnName];
- }
- }
- /// <summary>
- /// 粘贴
- /// </summary>
- private void Paste()
- {
- DataTable[] copyTabs = (DataTable[])Clipboard.GetData("Cic");
- if (copyTabs == null)
- {
- MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
- return;
- }
- DataTable copyTab = copyTabs[0];
- DataTable copyTab2 = copyTabs[1];
- if (copyTab == null || copyTab.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("没有数据,请复制后再进行操作!");
- return;
- }
- dataTable1.BeginInit();
- string cic = "";
- UltraGridRow rowParent;
- if (ultraGrid1.ActiveRow.HasParent())
- {
- //if (ultraGrid1.ActiveRow.ParentRow.ChildBands[0].Rows.Count > 0)
- //{
- // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
- // return;
- //}
- cic = ultraGrid1.ActiveRow.ParentRow.GetValue("CIC");
- rowParent = ultraGrid1.ActiveRow.ParentRow;
- }
- else
- {
- //if (ultraGrid1.ActiveRow.ChildBands[0].Rows.Count > 0)
- //{
- // MessageUtil.ShowWarning("该记录下存在子记录,不能进行粘贴操作!");
- // return;
- //}
- cic = ultraGrid1.GetActiveRowValue("CIC");
- rowParent = ultraGrid1.ActiveRow;
- }
- List<string> notCopyColumns = new List<string>();
- notCopyColumns.AddRange("CHC", "CREATE_TIME", "CREATE_NAME", "UPDATE_TIME", "UPDATE_NAME",
- "DELETE_TIME", "DELETE_NAME", "VALIDFLAG", "CIC", "MSC", "PSC_DESC", "PSC", "STDSTYLE", "STD_NAME_B",
- "PRODUCNAME", "STEELNAME", "STD_CODE_NK", "STD_NAME_NK", "PROCESS_CODE", "PROCESS_DESC", "STD_STYLE_DESC",
- "GRADECODE", "GRADENAME", "PRODUCCODE_NK", "PRODUCNAME_NK", "STEELCODE_NK", "STEELNAME_NK", "XH");
- if (CustomInfo == "2")
- {
- //内控子记录不要限制规格。
- notCopyColumns.AddRange("SIZE_CODE2", "SIZE_NAME2", "SIZE_MIN_SIGN2", "SIZE_MIN2", "SIZE_MAX_SIGN2",
- "SIZE_MAX2", "SIZE_CODE", "SIZE_NAME", "SIZE_MIN_SIGN", "SIZE_MIN", "SIZE_MAX_SIGN", "SIZE_MAX",
- "SPEC_JG", "SPEC_JG_DESC");
- }
- if (copyTab2.Rows.Count > 0)
- {
- DataRow drParent = ((DataRowView)rowParent.ListObject).Row;
- foreach (DataColumn column in dataTable2.Columns)
- {
- string columnName = column.ColumnName;
- if (notCopyColumns.Contains(columnName) == true) continue;
- drParent[columnName] = copyTab2.Rows[0][columnName];
- }
- }
- foreach (DataRow row in copyTab.Rows)
- {
- DataRow tempRow = dataTable1.NewRow();
- foreach (DataColumn column in dataTable1.Columns)
- {
- string columnName = column.ColumnName;
- if (notCopyColumns.Contains(columnName) == true) continue;
- if (!copyTab.Columns.Contains(columnName)) continue;
- tempRow[columnName] = row[columnName];
- }
- tempRow["CIC"] = cic;
- dataTable1.Rows.Add(tempRow);
- }
- dataTable1.EndInit();
- if (copyTab.Rows.Count > 0 && ultraGrid1.ActiveRow != null)
- {
- ultraGrid1.ActiveRow.ExpandAll();
- }
- ultraGrid1.UpdateData();
- }
- /// <summary>
- /// 根据交付 内控 Alpha 分别隐藏不同列
- /// </summary>
- private void HideColumn()
- {
- if (CustomInfo == "1")
- {
- //内控标准名称
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Hidden = true;
- //适用工序
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
- //适用钢种
- ultraGrid1.DisplayLayout.Bands[0].Columns["GRADENAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[0].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[1].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H_SIGN"].Hidden = true;
- this.ultraCheckStd.Text = "标准名称";
- }
- if (CustomInfo == "2" || CustomInfo == "4")
- {
- //产品规范描述
- ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
- //冶金规范码
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME_B"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["SMELTING_CNT"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCT_CNT"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["RATE"].Hidden = true;
- if (CustomInfo == "2")
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].Header.Caption = "内控管理编号";
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_CODE2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_CODE2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_NAME2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_NAME2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN_SIGN2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN_SIGN2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX_SIGN2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX_SIGN2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX2"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX2"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_CODE"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_CODE"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_NAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_NAME"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN_SIGN"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN_SIGN"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MIN"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX_SIGN"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX_SIGN"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SIZE_MAX"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SPEC_JG"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[1].Columns["SPEC_JG"].CellActivation = Activation.ActivateOnly;
- }
- InnerChange();
- if (CustomInfo == "4")
- {
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_D_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_D_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MIN_H_SIGN"].Hidden = true;
- //ultraGrid1.DisplayLayout.Bands[0].Columns["MAX_H_SIGN"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[0].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[1].Hidden = true;
- }
- ultraCheckMSC.Visible = false;
- ultraTextMSC.Visible = false;
- }
- if (CustomInfo == "3")
- {
- //产品规范描述
- ultraGrid1.DisplayLayout.Bands[0].Columns["PSC_DESC"].Hidden = true;
- //冶金规范码
- ultraGrid1.DisplayLayout.Bands[0].Columns["MSC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_NAME_B"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_STYLE_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_DESC"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STEELNAME_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCCODE_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCNAME_NK"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["SMELTING_CNT"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Columns["PRODUCT_CNT"].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[0].Hidden = true;
- ultraGrid1.DisplayLayout.Bands[0].Groups[1].Hidden = true;
- ultraCheckMSC.Visible = false;
- ultraTextMSC.Visible = false;
- }
- }
- /// <summary>
- /// 初始化数据
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void FrmChemStandard_Load(object sender, EventArgs e)
- {
- HideColumn();
- InitDrop();
- }
- public void PopupRefresh()
- {
- UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
- if (CustomInfo == "1")
- {
- //冶金规范码
- QcmBaseQuery.NitializeMSC(ultras[10], false, this.ob, msc);
- QcmBaseQuery.BindColumn(ultras[10], "MSC", ugb);
- }
- }
- /// <summary>
- /// 初始化下拉框
- /// </summary>
- private void InitDrop()
- {
- for (int i = 0; i < ultras.Length; i++)
- {
- ultras[i] = new UltraComboEditor();
- Controls.Add(ultras[i]);
- ultras[i].Visible = false;
- ultras[i].DropDownListWidth = -1;
- }
- //主表
- UltraGridBand ugb = ultraGrid1.DisplayLayout.Bands[0];
- //从表
- UltraGridBand ugbC = ultraGrid1.DisplayLayout.Bands[1];
- QcmBaseQuery.NitializeSignMin(ultraComSignMin);
- QcmBaseQuery.NitializeSignMax(ultraComSignMax);
- ClsBaseInfo.FillComBaseInfo(ultraComboEditor1, "4086", ob, false);
- DataTable dtRate = (DataTable)ultraComboEditor1.DataSource;
- dtRate.DefaultView.RowFilter = "BASECODE IN ('408602', '408603')";
- //下限
- QcmBaseQuery.NitializeSignMin(ultras[0]);
- //标准范围下限符号
- QcmBaseQuery.BindColumn(ultras[0], "STDMIN_SIGN", ugbC);
- //上限
- QcmBaseQuery.NitializeSignMax(ultras[1]);
- //标准范围上限符号
- QcmBaseQuery.BindColumn(ultras[1], "STDMAX_SIGN", ugbC);
- //化学元素描述
- QcmBaseQuery.NitializeChemicalElement(ultras[2], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[2], "CHEM_CODE", ugbC);
- //结箍
- QcmBaseQuery.NitializeJG(ultras[3], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[3], "SPEC_JG", ugbC);
- //限制元素下限符号
- QcmBaseQuery.BindColumn(ultras[0], "ELE_MIN_SIGN", ugbC);
- //限制规格(一)下限符号
- QcmBaseQuery.BindColumn(ultras[0], "SIZE_MIN_SIGN2", ugbC);
- //限制规格(二)下限符号
- QcmBaseQuery.BindColumn(ultras[0], "SIZE_MIN_SIGN", ugbC);
- //限制元素上限符号
- QcmBaseQuery.BindColumn(ultras[1], "ELE_MAX_SIGN", ugbC);
- //限制规格(一)上限符号
- QcmBaseQuery.BindColumn(ultras[1], "SIZE_MAX_SIGN2", ugbC);
- //限制规格(二)上限符号
- QcmBaseQuery.BindColumn(ultras[1], "SIZE_MAX_SIGN", ugbC);
- //限制规格(一)
- QcmBaseQuery.NitializeLimitSpecifications(ultras[5], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[5], "SIZE_CODE2", ugbC);
- //限制规格(二)
- QcmBaseQuery.BindColumn(ultras[5], "SIZE_CODE", ugbC);
- if (CustomInfo == "1")
- {
- //成分偏差
- QcmBaseQuery.NitializeChemBias(ultras[6], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[6], "STD_CODE", ugb);
- //冶金规范码
- QcmBaseQuery.NitializeMSC(ultras[10], false, this.ob, msc);
- QcmBaseQuery.BindColumn(ultras[10], "MSC", ugb);
- }
- if (CustomInfo == "2" || CustomInfo == "3" || CustomInfo == "4")
- {
- //标准名称
- if (CustomInfo == "2")
- {
- QcmBaseQuery.NitializeInnerStandard(ultras[7], false, this.ob);
- //成分偏差
- QcmBaseQuery.NitializeChemBias(ultras[6], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[6], "STD_CODE", ugb);
- }
- else if (CustomInfo == "3")
- QcmBaseQuery.NitializeAlphaStandard(ultras[7], false, this.ob);
- else
- QcmBaseQuery.NitializeOtherStandard(ultras[7], false, this.ob);
- QcmBaseQuery.BindColumn(ultras[7], "STD_CODE_NK", ugb);
- //工序
- QcmBaseQuery.NitializeProcess(ultras[8], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[8], "PROCESS_CODE", ugb);
- //钢种
- //QcmBaseQuery.NitializeGrade(ultras[9], true, this.ob);
- //QcmBaseQuery.BindColumn(ultras[9], "GRADECODE", ugb);
- }
- //限制元素
- QcmBaseQuery.NitializeChemicalElement(ultras[11], true, this.ob);
- QcmBaseQuery.BindColumn(ultras[11], "ELE_CODE", ugbC);
- //替代元素
- QcmBaseQuery.BindColumn(ultras[0], "REP_MIN_SIGN", ugbC);
- QcmBaseQuery.BindColumn(ultras[1], "REP_MAX_SIGN", ugbC);
- QcmBaseQuery.BindColumn(ultras[2], "REP_CODE", ugbC);
- QcmBaseQuery.NitializeProductBigType(ultras[12], false, ob);
- QcmBaseQuery.BindColumn(ultras[12], "PRODUC_HEAD", ugb);
- }
- private void Group()
- {
- //PopupGroup
- ultraGrid1.UpdateData();
- List<String> index = new List<string>();
- string cic = "";
- foreach (var pRow in ultraGrid1.Rows)
- {
- foreach (var cRow in pRow.ChildBands[0].Rows)
- {
- if (cRow.GetValue("CHC").ToLower() == "true")
- {
- if (cRow.GetValue("VALIDFLAG") == "")
- {
- MessageUtil.ShowWarning("请先保存选择的记录!");
- return;
- }
- index.Add(cRow.GetValue("INDEX_SEQ"));
- cic = pRow.GetValue("CIC");
- }
- }
- if (index.Count > 0) break;
- }
- if (index.Count == 0)
- {
- MessageUtil.ShowWarning("请选择从记录!");
- return;
- }
- PopupGroup popup = new PopupGroup();
- if (popup.ShowDialog() != System.Windows.Forms.DialogResult.OK)
- {
- return;
- }
- ServerHelper.SetData("com.steering.pss.qcm.CoreChemStandard.group",
- new object[] { index, cic, popup.NumGroupNum.Value.ToString3() }, ob);
- MessageUtil.ShowTips("分组成功!");
- _isEx = true;
- _cic = cic;
- DoQuery();
- }
- private void CancelGroup()
- {
- List<String> index = new List<string>();
- string cic = "";
- foreach (var pRow in ultraGrid1.Rows)
- {
- foreach (var cRow in pRow.ChildBands[0].Rows)
- {
- if (cRow.GetValue("CHC").ToLower() == "true")
- {
- index.Add(cRow.GetValue("INDEX_SEQ"));
- cic = pRow.GetValue("CIC");
- }
- }
- if (index.Count > 0) break;
- }
- if (index.Count == 0)
- {
- MessageUtil.ShowWarning("请选择从记录!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认取消分组?") == System.Windows.Forms.DialogResult.OK)
- {
- return;
- }
- ServerHelper.SetData("com.steering.pss.qcm.CoreChemStandard.cancelGroup",
- new object[] { index, cic }, ob);
- MessageUtil.ShowTips("取消分组成功!");
- _cic = cic;
- _isEx = true;
- DoQuery();
- }
- /// <summary>
- /// 查询条件
- /// </summary>
- /// <returns></returns>
- private ArrayList GetQueryData()
- {
- ArrayList list = new ArrayList();
- //标准名称
- string stdName = "";
- if (ultraCheckStd.Checked)
- stdName = ultraTextStd.Text.Trim();
- list.Add(stdName);
- //冶金规范码
- string msc = "";
- if (ultraCheckMSC.Checked)
- {
- msc = ultraTextMSC.Text.Trim();
- }
- list.Add(msc);
- //是否包含无效
- string valid = "1";
- if (ultraCheckValid.Checked)
- valid = "0";
- list.Add(valid);
- list.Add(stdCode);
- return list;
- }
- /// <summary>
- /// 查询
- /// </summary>
- private void DoQuery()
- {
- //查询交付标准、内控标准或者Alpha
- ArrayList QueryConditon = GetQueryData();
- //主表查询
- dataTable1.Clear();
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getCoreChemStandard",
- new Object[] { QueryConditon, CustomInfo, cic, msc, codeJg, steelCodes, produccodeNk, steelcodeNk, processCodeNk, modelCode }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
- //从表查询
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getCoreChemStandardC",
- new Object[] { QueryConditon, CustomInfo, cic, msc, codeJg, steelCodes, produccodeNk, steelcodeNk, processCodeNk, modelCode }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable1, true);
- //不同颜色区分是否有效数据
- QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
- UltraGridBand bcC = ultraGrid1.DisplayLayout.Bands[1];
- UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"],bc.Columns["MSC"], bc.Columns["STD_CODE_NK"] ,
- bcC.Columns["ISCHECK"],bcC.Columns["ISJUDGE"],bcC.Columns["ISQUOTE"],bc.Columns["MODEL_DESC"],
- bcC.Columns["COMPLEX_TYPE"],bcC.Columns["STDMIN"],bcC.Columns["STDMAX"]};
- //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
- //isSelect = 0;
- //定位行和展开行
- UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CIC" }, new string[] { _cic });
- if (rows1.Length > 0)
- {
- rows1[0].Activate();
- if (_isEx)
- rows1[0].ExpandAll();
- }
- _isEx = false;
- _cic = "";
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- ultraGrid1.UpdateData();
- DataView dv = new DataView(dataTable1);
- DataTable newdt = dv.ToTable(false, "CIC", "CHEM_NAME");
- DataRow[] dr = newdt.Select("CIC='" + ugr.Cells["CIC"].Value.ToString() + "'", "");
- ugr.Cells["COUNT"].Value = newdt.AsEnumerable().Where(a => a["CIC"].ToString() == ugr.Cells["CIC"].Value.ToString()).Distinct(new DataRowComparer()).Count();
- ugr.Cells["CHKNK"].Value = "选择";
- }
- ultraGrid1.UpdateData();
- dataTable1.AcceptChanges();
- dataTable2.AcceptChanges();
- //清空复制数据
- //_copyedRows.Clear();
- }
- private void DoQuery1()
- {
- //查询交付标准、内控标准或者Alpha
- ArrayList QueryConditon = GetQueryData();
- //主表查询
- dataTable1.Clear();
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getComChemNK",
- new Object[] { msc }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable2, true);
- //从表查询
- DataTable dt1 = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getComChemNKC",
- new Object[] { msc }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable1, true);
- //不同颜色区分是否有效数据
- QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- UltraGridBand bc = ultraGrid1.DisplayLayout.Bands[0];
- UltraGridBand bcC = ultraGrid1.DisplayLayout.Bands[1];
- UltraGridColumn[] col = new UltraGridColumn[] { bc.Columns["MEMO"],bc.Columns["MSC"], bc.Columns["STD_CODE_NK"] ,
- bcC.Columns["ISCHECK"],bcC.Columns["ISJUDGE"],bcC.Columns["ISQUOTE"],bc.Columns["MODEL_DESC"],
- bcC.Columns["COMPLEX_TYPE"],bcC.Columns["STDMIN"],bcC.Columns["STDMAX"]};
- //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, col);
- //isSelect = 0;
- //定位行和展开行
- UltraGridRow[] rows1 = GridHelper.GetRowsWithKey(ultraGrid1, new string[] { "CIC" }, new string[] { _cic });
- if (rows1.Length > 0)
- {
- rows1[0].Activate();
- if (_isEx)
- rows1[0].ExpandAll();
- }
- _isEx = false;
- _cic = "";
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- ultraGrid1.UpdateData();
- DataView dv = new DataView(dataTable1);
- DataTable newdt = dv.ToTable(false, "CIC", "CHEM_NAME");
- DataRow[] dr = newdt.Select("CIC='" + ugr.Cells["CIC"].Value.ToString() + "'", "");
- ugr.Cells["COUNT"].Value = newdt.AsEnumerable().Where(a => a["CIC"].ToString() == ugr.Cells["CIC"].Value.ToString()).Distinct(new DataRowComparer()).Count();
- }
- ultraGrid1.UpdateData();
- dataTable1.AcceptChanges();
- dataTable2.AcceptChanges();
- //清空复制数据
- //_copyedRows.Clear();
- }
- public void QueryPurchaseAgreement(string stdCodeNk)
- {
- dataTable1.Clear();
- dataTable2.Clear();
- DataTable dtP = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getPurchaseAgreementCic",
- new object[] { stdCodeNk }, ob);
- GridHelper.CopyDataToDatatable(ref dtP, ref this.dataTable2, true);
- DataTable dtC = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getPurchaseAgreementChem",
- new object[] { stdCodeNk }, ob);
- GridHelper.CopyDataToDatatable(ref dtC, ref this.dataTable1, true);
- QcmBaseCommon.SetGridColor(ultraGrid1, "VALIDFLAG", "无效");
- QcmBaseCommon.SetUltraGridNoEdit(ultraGrid1);
- }
- private int GetGridSelectCount()
- {
- foreach (UltraGridRow row in ultraGrid1.Rows)
- {
- if (row.Cells["CHC"].Value.ToString() == "True")
- {
- return 1;
- }
- UltraGridRow[] rows = GridHelper.GetRowsWithKey(row.ChildBands[0],
- new string[] { "CHC" }, new string[] { "True" });
- if (rows.Length > 0)
- {
- return 1;
- }
- }
- return 0;
- }
- private DataRow GetComBaseStdRowByPk(string stdCode)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getComBaseStdByPk",
- new object[] { stdCode }, ob);
- return dt.Rows[0];
- }
- /// <summary>
- /// 保存
- /// </summary>
- private void DoSave()
- {
- try
- {
- ultraGrid1.UpdateData();
- }
- catch (Exception)
- {
- MessageBox.Show("数据不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- DataRow comBaseStdRow = null;
- string style = "G";
- if (CustomInfo == "2")
- {
- comBaseStdRow = GetComBaseStdRowByPk(stdCode);
- if (comBaseStdRow["ACCEPT_BID"].ToString() == "1")
- {
- style = "N";
- }
- else
- {
- style = "L";
- }
- }
- if (CustomInfo == "3")
- style = "K";
- if (CustomInfo == "4")
- style = "S";
- if (GetGridSelectCount() == 0)
- {
- MessageBox.Show("请选择记录!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- return;
- }
- if (CustomInfo == "2")
- {
- /*if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
- && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "longjinhua")
- {
- MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能操作!");
- return;
- }*/
- //限制同一钢种下的成分数
- var groupRows = ultraGrid1.Rows.Where(a => a.GetValue("CHC") == "True" && a.GetValue("VALIDFLAG") == "").GroupBy(
- a => new { gradeCode = a.GetValue("GRADECODE"), gradeName = a.GetValue("GRADENAME") }).Select(
- a => new { gradeCode = a.Key.gradeCode, gradeName = a.Key.gradeName, cnt = a.Count() });
- foreach (var groupRow in groupRows)
- {
- int cnt = FrmStandarNSub.GetSameGradeCnt(groupRow.gradeCode, stdCode, ob);
- if (cnt + groupRow.cnt > 9)
- {
- MessageUtil.ShowWarning("钢种:" + groupRow.gradeName + " 已存在" + cnt + "条成分内控," + "新增成分内控" + groupRow.cnt + "条,总数大于9条,无法新增!");
- return;
- }
- }
- //验证碳当量
- foreach (var pRow in ultraGrid1.Rows)
- {
- var chkRowsC = pRow.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True");
- if (chkRowsC.Count() == 0) continue;
- //var groupSeqRows = pRow.ChildBands[0].Rows.GroupBy(a => a.GetValue("GROUP_SEQ"));
- //foreach (var groupRow in groupSeqRows)
- //{
- // var ce2Rows = groupRow.Where(a => a.GetValue("CHEM_CODE") == "C030" || a.GetValue("CHEM_CODE") == "C053"
- // || a.GetValue("CHEM_CODE") == "C060");
- // var cePRows = groupRow.Where(a => a.GetValue("CHEM_CODE") == "C031");
- // if (ce2Rows.Count() > 0 && cePRows.Count() > 0 && ce2Rows.Where(a => a.GetValue("ELE_CODE") != "").Count() == 0
- // && cePRows.Where(a => a.GetValue("ELE_CODE") != "").Count() == 0)
- // {
- // MessageUtil.ShowWarning("成分索引:" + pRow.GetValue("CIC") + "包含两种碳当量元素,必须维护限制元素!");
- // pRow.Activate();
- // return;
- // }
- //}
- //var cRows = pRow.ChildBands[0].Rows.Where(a => (a.GetValue("CHEM_CODE") == "C030" || a.GetValue("CHEM_CODE") == "C053"
- // || a.GetValue("CHEM_CODE") == "C060") || a.GetValue("CHEM_CODE") == "C031");
- //if (cRows.Count() > 1 && cRows.Where(a => a.GetValue("ELE_CODE") != "").Count() == 0)
- //{
- //}
- }
- // 验证成分项目是否重复
- //var pRows = ultraGrid1.Rows;
- //foreach (var row in pRows)
- //{
- // var chkRowsC = row.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True");
- // if (chkRowsC.Count() == 0) continue;
- // var groupRowsC = row.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True" || a.GetValue("VALIDFLAG") != "").GroupBy(
- // a => a.GetValue("CHEM_CODE")).Select(a => a.Key).ToList();
- // //验证保存的索引码是否重复
- // var pRows2 = pRows.Where(a => a.GetValue("CIC") != row.GetValue("CIC") && a.GetValue("GRADECODE") == row.GetValue("GRADECODE"));
- // foreach (var row2 in pRows2)
- // {
- // var chkRowsC2 = row2.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True");
- // if (chkRowsC2.Count() == 0) continue;
- // var groupRowsC2 = row2.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True" || a.GetValue("VALIDFLAG") != "").GroupBy(
- // a => a.GetValue("CHEM_CODE")).Select(a => a.Key).ToList();
- // if (groupRowsC2.Count() == groupRowsC.Count())
- // {
- // bool isSame = true;
- // foreach (var groupRowC in groupRowsC)
- // {
- // if (!groupRowsC2.Contains(groupRowC))
- // {
- // isSame = false;
- // }
- // }
- // if (isSame)
- // {
- // MessageUtil.ShowWarning("成分索引码:" + row.GetValue("CIC") + "与" + row2.GetValue("CIC") + "中的成分项目重复!");
- // return;
- // }
- // }
- // }
- // // 验证是否与数据库中的重复
- // CoreClientParam ccp = new CoreClientParam();
- // ccp.ServerName = "com.steering.pss.qcm.CoreChemStandard";
- // ccp.MethodName = "getChemByGrade";
- // ccp.ServerParams = new object[] { groupRowsC, stdCode, row.GetValue("GRADECODE"), row.GetValue("CIC"), "保存" };
- // ccp = ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
- // if (ccp.ReturnObject.ToString2() != "")
- // {
- // MessageUtil.ShowWarning(ccp.ReturnObject.ToString2());
- // return;
- // }
- //}
- }
- ArrayList baseData = new ArrayList();
- ArrayList childData = new ArrayList();
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- DataRow cicRow = null;
- UltraGridRow ugr = ultraGrid1.Rows[i];
- //主表操作
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- cicRow = GetMscCicByCic(ugr.GetValue("CIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && cicRow != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(cicRow["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- /*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugr.Activate();
- return;
- }*/
- }
- StdCicObject com = GetBaseData(ugr, cicRow);
- if (com == null)
- {
- MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- _cic = com.Cic;
- baseData.Add(JSONFormat.Format(com));
- }
- //从表操作
- if (ugr.HasChild())
- {
- if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("") && !Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- for (int j = 0; j < ugr.ChildBands[0].Rows.Count; j++)
- {
- UltraGridRow ugrc = ugr.ChildBands[0].Rows[j];
- if (Convert.ToBoolean(ugrc.Cells["CHC"].Value))
- {
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- cicRow = GetMscCicByCic(ugr.GetValue("CIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && cicRow != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(cicRow["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- /*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugrc.Activate();
- return;
- }*/
- }
- //验证是否被计划使用
- //if (CustomInfo == "2")
- //{
- // string plnMsg = FrmStandardN.CheckPlnCic(ugr.GetValue("CIC"), ob);
- // if (plnMsg != "")
- // {
- // MessageUtil.ShowWarning(plnMsg);
- // ugrc.Activate();
- // return;
- // }
- //}
- StdChemObject comc = GetChildData(ugrc, cicRow);
- if (comc == null)
- {
- MessageBox.Show(errMessage, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- _cic = comc.Cic;
- _isEx = true;
- childData.Add(JSONFormat.Format(comc));
- }
- }
- }
- }
- if (MessageBox.Show("是否保存选择记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- if (baseData.Count > 0 || childData.Count > 0)
- {
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreChemStandard.saveCoreChemStandard",
- new Object[] { baseData, childData, style }, this.ob);
- if (count > 0)
- {
- MessageBox.Show("保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- DoQuery();
- }
- }
- }
- /// <summary>
- /// 删除或者恢复
- /// </summary>
- /// <param name="flag"></param>
- private void DoDeleteOrResume(Boolean flag)
- {
- try
- {
- ultraGrid1.UpdateData();
- }
- catch (Exception)
- {
- MessageBox.Show("数据不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (GetGridSelectCount() == 0)
- {
- MessageBox.Show("请选择记录", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- DataRow comBaseStdRow = null;
- if (CustomInfo == "2")
- {
- comBaseStdRow = GetComBaseStdRowByPk(stdCode);
- /*if (comBaseStdRow["ACCEPT_BID"].ToString() == "1" && comBaseStdRow["UNIT_CODE"].ToString() != UserInfo.GetDeptid()
- && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + comBaseStdRow["UNIT_DESC"].ToString() + "]的成员才能" + (flag ? "作废" : "恢复") + "!");
- return;
- }*/
- if (!flag)
- {
- //限制同一钢种下的成分数
- var groupRows = ultraGrid1.Rows.Where(a => a.GetValue("CHC") == "True" && a.GetValue("VALIDFLAG") == "无效").GroupBy(
- a => new { gradeCode = a.GetValue("GRADECODE"), gradeName = a.GetValue("GRADENAME") }).Select(
- a => new { gradeCode = a.Key.gradeCode, gradeName = a.Key.gradeName, cnt = a.Count() });
- foreach (var groupRow in groupRows)
- {
- int cnt = FrmStandarNSub.GetSameGradeCnt(groupRow.gradeCode, stdCode, ob);
- if (cnt + groupRow.cnt > 9)
- {
- MessageUtil.ShowWarning("钢种:" + groupRow.gradeName + " 已存在" + cnt + "条成分内控," + "恢复成分内控" + groupRow.cnt + "条,总数大于9条,无法恢复!");
- return;
- }
- }
- // 验证成分项目是否重复
- var pRows = ultraGrid1.Rows;
- foreach (var row in pRows)
- {
- var chkRowsC = row.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True");
- if (chkRowsC.Count() == 0) continue;
- var groupRowsC = row.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True" || a.GetValue("VALIDFLAG") != "无效").GroupBy(
- a => a.GetValue("CHEM_CODE")).Select(a => a.Key).ToList();
- //验证保存的索引码是否重复
- var pRows2 = pRows.Where(a => a.GetValue("CIC") != row.GetValue("CIC") && a.GetValue("GRADECODE") == row.GetValue("GRADECODE"));
- foreach (var row2 in pRows2)
- {
- var chkRowsC2 = row2.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True");
- if (chkRowsC2.Count() == 0) continue;
- var groupRowsC2 = row2.ChildBands[0].Rows.Where(a => a.GetValue("CHC") == "True" || a.GetValue("VALIDFLAG") != "无效").GroupBy(
- a => a.GetValue("CHEM_CODE")).Select(a => a.Key).ToList();
- if (groupRowsC2.Count() == groupRowsC.Count())
- {
- bool isSame = true;
- foreach (var groupRowC in groupRowsC)
- {
- if (!groupRowsC2.Contains(groupRowC))
- {
- isSame = false;
- }
- }
- if (isSame)
- {
- MessageUtil.ShowWarning("恢复后的成分索引码:" + row.GetValue("CIC") + "与" + row2.GetValue("CIC") + "中的成分项目重复,无法恢复!");
- return;
- }
- }
- }
- // 验证是否与数据库中的重复
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreChemStandard";
- ccp.MethodName = "getChemByGrade";
- ccp.ServerParams = new object[] { groupRowsC, stdCode, row.GetValue("GRADECODE"), row.GetValue("CIC"), "恢复" };
- ccp = ob.ExecuteSortResultByQueryToDataTable(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnObject.ToString2() != "")
- {
- MessageUtil.ShowWarning(ccp.ReturnObject.ToString2());
- return;
- }
- }
- }
- }
- ArrayList baseList = new ArrayList();
- ArrayList childList = new ArrayList();
- foreach (UltraGridRow ugr in ultraGrid1.Rows)
- {
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value.ToString()))
- {
- if (CheckAuthority(ugr) == false)
- {
- MessageUtil.ShowWarning(errMessage);
- return;
- }
- DataRow rowCic = null;
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowCic = GetMscCicByCic(ugr.GetValue("CIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowCic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowCic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- /*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugr.Activate();
- return;
- }*/
- }
- //验证是否被计划使用
- //if (CustomInfo == "2")
- //{
- // string plnMsg = FrmStandardN.CheckPlnCic(ugr.GetValue("CIC"), ob);
- // if (plnMsg != "")
- // {
- // MessageUtil.ShowWarning(plnMsg);
- // ugr.Activate();
- // return;
- // }
- //}
- if (CheckDataParent(ugr, rowCic, flag) == false)
- {
- return;
- }
- if (CheckRows(ugr) && flag)
- {
- MessageBox.Show("无效记录不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("提交审核") || ugr.Cells["VALIDFLAG"].Value.ToString().Equals("已审核"))
- {
- MessageBox.Show("提交审核或已审核记录不能作废!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (!CheckRows(ugr) && !flag)
- {
- MessageBox.Show("有效记录不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- StdCicObject com = new StdCicObject();
- com.Cic = ugr.Cells["CIC"].Value.ToString();
- com.DeleteName = UserInfo.GetUserName();
- baseList.Add(JSONFormat.Format(com));
- if (flag && ugr.HasChild())
- {
- if (MessageBox.Show("所对应子记录都将作废!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- foreach (UltraGridRow ugrC in ugr.ChildBands[0].Rows)
- {
- StdChemObject comC = new StdChemObject();
- comC.Cic = ugrC.Cells["CIC"].Value.ToString();
- comC.IndexSeq = ugrC.Cells["INDEX_SEQ"].Value.ToString();
- comC.DeleteName = UserInfo.GetUserName();
- childList.Add(JSONFormat.Format(comC));
- }
- }
- _cic = ugr.Cells["CIC"].Value.ToString();
- }
- //如果主表行拥有子项
- if (ugr.HasChild())
- {
- foreach (UltraGridRow ugrC in ugr.ChildBands[0].Rows)
- {
- //如果子项被勾选
- if (Convert.ToBoolean(ugrC.Cells["CHC"].Value.ToString()))
- {
- DataRow rowCic = null;
- if (ugr.GetValue("VALIDFLAG") != "")
- {
- rowCic = GetMscCicByCic(ugr.GetValue("CIC"));
- }
- if (comBaseStdRow != null && comBaseStdRow["ACCEPT_BID"].ToString() == "0" && rowCic != null)
- {
- string[] units = ClsBaseInfo.GetUnitByUserName(rowCic["CREATE_NAME"].ToString(), ob, "002001007", "002001001", "002023005");
- /*if (units[0] != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- {
- MessageUtil.ShowWarning("该记录只有[" + units[1] + "]才能操作!");
- ugrC.Activate();
- return;
- }*/
- }
- //验证是否被计划使用
- //if (CustomInfo == "2")
- //{
- // string plnMsg = FrmStandardN.CheckPlnCic(ugr.GetValue("CIC"), ob);
- // if (plnMsg != "")
- // {
- // MessageUtil.ShowWarning(plnMsg);
- // ugrC.Activate();
- // return;
- // }
- //}
- if (CheckAuthority(ugrC) == false)
- {
- MessageUtil.ShowWarning(errMessage);
- return;
- }
- if (!flag && CheckRows(ugrC.ParentRow) && !Convert.ToBoolean(ugrC.ParentRow.Cells["CHC"].Value))
- {
- MessageBox.Show("请选择主记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (CheckRows(ugrC) && flag)
- {
- MessageBox.Show("无效记录不能作废", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (!CheckRows(ugrC) && !flag)
- {
- MessageBox.Show("有效记录不能恢复", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- return;
- }
- if (flag)
- {
- if (ugr.Cells["VALIDFLAG"].Value.ToString() != ""
- && ugrC.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "录入状态"
- && ugrC.ParentRow.Cells["VALIDFLAG"].Value.ToString() != "无效")
- {
- MessageUtil.ShowWarning("主记录为提交审核或已审核状态时,无法作废");
- return;
- }
- }
- StdChemObject comC = new StdChemObject();
- comC.Cic = ugrC.Cells["CIC"].Value.ToString();
- comC.IndexSeq = ugrC.Cells["INDEX_SEQ"].Value.ToString();
- comC.DeleteName = UserInfo.GetUserName();
- childList.Add(JSONFormat.Format(comC));
- _cic = ugr.Cells["CIC"].Value.ToString();
- _isEx = true;
- }
- }
- }
- }
- if (MessageBox.Show("是否" + (flag ? "作废" : "恢复") + "选择记录", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
- {
- return;
- }
- if (baseList.Count > 0 || childList.Count > 0)
- {
- int count = ServerHelper.SetData("com.steering.pss.qcm.CoreChemStandard.deleteOrResume", new Object[] { baseList, childList, flag }, this.ob);
- if (count > 0)
- {
- DoQuery();
- MessageBox.Show((flag ? "作废" : "恢复") + "成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);
- }
- }
- }
- /// <summary>
- /// 行记录是否有效
- /// </summary>
- /// <param name="ugr"></param>
- /// <returns></returns>
- private bool CheckRows(UltraGridRow ugr)
- {
- if (ugr.Cells["VALIDFLAG"].Value.ToString().Equals("无效"))
- return true;
- else
- return false;
- }
- private void ultraGrid1_AfterRowInsert(object sender, RowEventArgs e)
- {
- string style = "";
- if (CustomInfo == "1")
- style = "G";
- if (CustomInfo == "2")
- style = "N";
- if (CustomInfo == "3")
- style = "K";
- if (CustomInfo == "4")
- style = "S";
- UltraGridRow ugr = ultraGrid1.DisplayLayout.ActiveRow;
- if (!ugr.HasParent()) //主表自动填充主键(成分索引号)
- {
- string sic = "";
- int temp = 0;
- for (int i = 0; i < ultraGrid1.Rows.Count - 1; i++)
- {
- string str = ultraGrid1.Rows[i].Cells["CIC"].Value.ToString().Substring(4, 6);
- if (Convert.ToInt32(str) > temp)
- temp = Convert.ToInt32(str);
- }
- sic = "CIC" + style + string.Format("{0:000000}", temp + 1);
- ugr.Cells["CIC"].Value = sic;
- //ugr.Cells["COUNT"].Value = "0";
- }
- else
- {
- ugr.Cells["ISCHECK"].Value = true;
- ugr.Cells["ISJUDGE"].Value = true;
- ugr.Cells["ISQUOTE"].Value = true;
- }
- //增加行如果没有勾选则不可编辑
- if (!Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- for (int i = 0; i < ugr.Cells.Count; i++)
- {
- if (!ugr.Cells[i].Column.Key.Equals("CHC"))
- ugr.Cells[i].Activation = Activation.ActivateOnly;
- if (ugr.Cells[i].Column.Key.Equals("CHKNK"))
- ugr.Cells["CHKNK"].Value = "选择";
- }
- }
- e.Row.Update();
- }
- /// <summary>
- /// 单元格值变化事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- public void ultraGrid1_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("STDMIN") || e.Cell.Column.Key.Equals("STDMAX") || e.Cell.Column.Key.Equals("STDMIN")
- || e.Cell.Column.Key.Equals("ELE_MIN") || e.Cell.Column.Key.Equals("ELE_MAX") || e.Cell.Column.Key.Equals("SIZE_MIN2") ||
- e.Cell.Column.Key.Equals("SIZE_MIN") || e.Cell.Column.Key.Equals("SIZE_MAX2") || e.Cell.Column.Key.Equals("SIZE_MAX"))
- return;
- ultraGrid1.UpdateData();
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- if (e.Cell.Column.Key.Equals("CHEM_CODE")) /// 成分下拉框操作
- {
- ugr.Cells["CHEM_NAME"].Value = ugr.Cells["CHEM_CODE"].Text;
- string chemCode = ugr.Cells["CHEM_CODE"].Value.ToString();
- DataRow[] dr = ((DataTable)ultras[2].DataSource).Select("CHEM_CODE ='" + chemCode + "'");
- if (dr.Length > 0)
- {
- ugr.Cells["XH"].Value = Convert.ToInt32(dr[0][0].ToString().Substring(1));
- ugr.Cells["CHEM_TYPE"].Value = dr[0][2];
- ugr.Cells["CHEM_FORMULA"].Value = dr[0][3];
- }
- else
- {
- ugr.Cells["CHEM_NAME"].Value = "";
- ugr.Cells["CHEM_TYPE"].Value = "";
- ugr.Cells["CHEM_FORMULA"].Value = "";
- }
- }
- if (e.Cell.Column.Key.Equals("")) //接箍操作
- {
- ugr.Cells["SPEC_JG_DESC"].Value = ugr.Cells["SPEC_JG"].Text;
- }
- if (e.Cell.Column.Key.Equals("MSC"))//冶金规范码
- {
- string msc = ugr.Cells["MSC"].Value.ToString();
- DataRow[] dr = ((DataTable)ultras[10].DataSource).Select("MSC='" + msc + "'");
- if (dr.Length > 0)
- {
- ugr.Cells["PSC"].Value = dr[0][2];
- ugr.Cells["PSC_DESC"].Value = dr[0][3];
- ugr.Cells["PRODUCNAME"].Value = dr[0][4];
- ugr.Cells["STD_NAME_B"].Value = dr[0][5];
- ugr.Cells["STEELNAME"].Value = dr[0][6];
- ugr.Cells["STD_STYLE_DESC"].Value = dr[0][7];
- ugr.Cells["STDSTYLE"].Value = dr[0][8];
- }
- }
- if (e.Cell.Column.Key.Equals("SIZE_CODE2")) //限制规格描述一
- {
- ugr.Cells["SIZE_NAME2"].Value = ugr.Cells["SIZE_CODE2"].Text;
- string code2 = ugr.Cells["SIZE_CODE2"].Value.ToString();
- string code = ugr.Cells["SIZE_CODE"].Value.ToString();
- if (!code2.Equals("") && !code.Equals("") && code.Equals(code2))
- {
- MessageBox.Show("请重新选择限制规格<一>:限制规格", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- ugr.Cells["SIZE_NAME2"].Value = "";
- ugr.Cells["SIZE_CODE2"].Value = "";
- return;
- }
- if (ugr.Cells["SIZE_CODE2"].Value.ToString() == "")
- {
- ugr.Cells["SIZE_MIN_SIGN2"].Value = "";
- ugr.Cells["SIZE_MIN2"].Value = "";
- ugr.Cells["SIZE_MAX_SIGN2"].Value = "";
- ugr.Cells["SIZE_MAX2"].Value = "";
- }
- }
- if (e.Cell.Column.Key.Equals("SIZE_CODE")) //限制规格描述二
- {
- ugr.Cells["SIZE_NAME"].Value = ugr.Cells["SIZE_CODE"].Text;
- string code2 = ugr.Cells["SIZE_CODE2"].Value.ToString();
- string code = ugr.Cells["SIZE_CODE"].Value.ToString();
- if (!code2.Equals("") && !code.Equals("") && code.Equals(code2))
- {
- MessageBox.Show("请重新选择限制规格<二>:限制规格", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- ugr.Cells["SIZE_NAME"].Value = "";
- ugr.Cells["SIZE_CODE"].Value = "";
- return;
- }
- if (ugr.Cells["SIZE_CODE"].Value.ToString() == "")
- {
- ugr.Cells["SIZE_MIN_SIGN"].Value = "";
- ugr.Cells["SIZE_MIN"].Value = "";
- ugr.Cells["SIZE_MAX_SIGN"].Value = "";
- ugr.Cells["SIZE_MAX"].Value = "";
- }
- }
- if (e.Cell.Column.Key.Equals("ELE_CODE")) //限制元素描述
- {
- ugr.Cells["ELE_NAME"].Value = ugr.Cells["ELE_CODE"].Text;
- if (ugr.Cells["ELE_CODE"].Value.ToString() == "")
- {
- ugr.Cells["ELE_MIN_SIGN"].Value = "";
- ugr.Cells["ELE_MIN"].Value = "";
- ugr.Cells["ELE_MAX_SIGN"].Value = "";
- ugr.Cells["ELE_MAX"].Value = "";
- ugr.Update();
- }
- }
- if (e.Cell.Column.Key.Equals("REP_CODE")) //替代元素描述
- {
- ugr.Cells["REP_NAME"].Value = ugr.Cells["REP_CODE"].Text;
- if (ugr.Cells["REP_CODE"].Value.ToString() == "")
- {
- ugr.Cells["REP_MIN_SIGN"].Value = "";
- ugr.Cells["REP_MIN"].Value = "";
- ugr.Cells["REP_MAX_SIGN"].Value = "";
- ugr.Cells["REP_MAX"].Value = "";
- ugr.Cells["REP_VAL"].Value = "";
- }
- }
- if (e.Cell.Column.Key.Equals("CHC")) //
- {
- Activation activation = Activation.ActivateOnly;
- if (Convert.ToBoolean(e.Cell.Value))
- {
- activation = Activation.AllowEdit;
- //isSelect += 1;
- }
- //else
- //isSelect -= 1;
- CellsCollection cells = e.Cell.Row.Cells;
- for (int i = 0; i < cells.Count; i++)
- {
- if (!cells[i].Column.Key.Equals("CHC"))
- {
- e.Cell.Row.Cells[i].Activation = activation;
- }
- }
- }
- if (e.Cell.Column.Key.Equals("GRADECODE")) //钢种下拉框操作
- {
- ugr.Cells["GRADENAME"].Value = ugr.Cells["GRADECODE"].Text;
- }
- if (e.Cell.Column.Key.Equals("PROCESS_CODE")) //工序下拉框选择
- {
- ugr.Cells["PROCESS_DESC"].Value = ugr.Cells["PROCESS_CODE"].Text;
- }
- if (e.Cell.Column.Key.Equals("ISCHECK")) //是否检验
- {
- if (!Convert.ToBoolean(e.Cell.Value.ToString()))
- {
- ugr.Cells["ISJUDGE"].Value = false;
- //ugr.Cells["ISQUOTE"].Value = false;
- }
- }
- if (e.Cell.Column.Key.Equals("ISJUDGE"))
- {
- if (Convert.ToBoolean(ugr.Cells["ISJUDGE"].Value.ToString()))
- {
- ugr.Cells["ISCHECK"].Value = true;
- }
- }
- if (e.Cell.Column.Key.Equals("STD_CODE_NK")) //内控标准选择
- {
- string stdCode = ugr.Cells["STD_CODE_NK"].Value.ToString();
- ugr.Cells["STD_NAME_NK"].Value = ugr.Cells["STD_CODE_NK"].Text;
- DataRow[] dr = ((DataTable)ultras[7].DataSource).Select("STD_CODE='" + stdCode + "'");
- if (dr.Length > 0)
- {
- ugr.Cells["STDSTYLE"].Value = dr[0][2];
- }
- }
- ultraGrid1.ActiveRow.Update();
- ultraGrid1.UpdateData();
- }
- /// <summary>
- /// 从表数据
- /// </summary>
- /// <param name="ugr">UltraGridRow</param>
- /// <returns></returns>
- private StdChemObject GetChildData(UltraGridRow ugr, DataRow rowCic)
- {
- if (CheckAuthority(ugr) == false) return null;
- if (rowCic != null && (rowCic["VALIDFLAG"].ToString() == "2" || rowCic["VALIDFLAG"].ToString() == "3"))
- {
- errMessage = "主记录为提交审核或已审核状态时,无法修改";
- return null;
- }
- string cic = ugr.Cells["CIC"].Value.ToString().Trim();
- string indexSeq = ugr.Cells["INDEX_SEQ"].Value.ToString().Trim();
- string chemName = ugr.Cells["CHEM_NAME"].Value.ToString().Trim();
- if (chemName.Equals(""))
- {
- errMessage = "请选择化学元素描述";
- return null;
- }
- string chemCode = ugr.Cells["CHEM_CODE"].Value.ToString().Trim();
- string wholeBacklog = ugr.Cells["CHEM_TYPE"].Value.ToString().Trim();
- if (wholeBacklog.Equals("单一元素"))
- wholeBacklog = "A";
- else
- wholeBacklog = "B";
- string chemFormula = ugr.Cells["CHEM_FORMULA"].Value.ToString().Trim();
- string isCheck = ugr.Cells["ISCHECK"].Value.ToString().Trim();
- if (Convert.ToBoolean(isCheck))
- {
- isCheck = "1";
- }
- else isCheck = "0";
- string isjudge = ugr.Cells["ISJUDGE"].Value.ToString().Trim();
- if (Convert.ToBoolean(isjudge))
- {
- isjudge = "1";
- }
- else isjudge = "0";
- string isquote = ugr.Cells["ISQUOTE"].Value.ToString().Trim();
- if (Convert.ToBoolean(isquote))
- {
- isquote = "1";
- }
- else isquote = "0";
- string complexType = ugr.Cells["COMPLEX_TYPE"].Value.ToString().Trim();
- if (Convert.ToBoolean(complexType))
- {
- complexType = "1";
- }
- else
- {
- complexType = "0";
- }
- string stdminSign = ugr.Cells["STDMIN_SIGN"].Value.ToString().Trim();
- string stdMin = ugr.Cells["STDMIN"].Value.ToString().Trim();
- string stdmaxSign = ugr.Cells["STDMAX_SIGN"].Value.ToString().Trim();
- string stdMax = ugr.Cells["STDMAX"].Value.ToString().Trim().Trim();
- if (!stdminSign.Equals(""))
- {
- if (stdMin.Equals(""))
- {
- errMessage = "请输入标准范围下限值";
- return null;
- }
- if (complexType.Equals("0"))
- {
- if (!StringUtil.IsNumber(stdMin))
- {
- errMessage = "标准范围下限值请输入数字";
- return null;
- }
- }
- else
- {
- if (!QcmBaseCommon.CheckElement(stdMin, this.ob))
- {
- errMessage = "标准范围下限值输入公式不合法,请重新输入";
- return null;
- }
- }
- }
- else
- {
- if (!stdMin.Equals(""))
- {
- errMessage = "请选择标准范围下限符号";
- return null;
- }
- }
- if (stdminSign.Equals("=") && !stdmaxSign.Equals(""))
- {
- errMessage = "标准范围下限符号为'=',不能选择上限符号";
- return null;
- }
- if (isjudge.Equals("1") && stdminSign.Equals("") && stdmaxSign.Equals(""))
- {
- errMessage = "请选择标准范围下限符号或者上限符号";
- return null;
- }
- if (!stdmaxSign.Equals(""))
- {
- if (stdMax.Equals(""))
- {
- errMessage = "请输入标准范围上限值";
- return null;
- }
- if (complexType.Equals("0"))
- {
- if (!StringUtil.IsNumber(stdMax))
- {
- errMessage = "标准范围上限值请输入数字";
- return null;
- }
- }
- else
- {
- if (!QcmBaseCommon.CheckElement(stdMin, this.ob))
- {
- errMessage = "标准范围上限值输入公式不合法,请重新输入";
- }
- }
- }
- else
- {
- if (!stdMax.Equals(""))
- {
- errMessage = "请选择标准范围上限符号";
- return null;
- }
- }
- if (complexType.Equals("0") && !stdMin.Equals("") && !stdMax.Equals("")) //&& double.Parse(stdMin) > double.Parse(stdMax)
- {
- int i = QcmBaseInfo.CheckStdData(stdminSign, stdmaxSign, stdMin, stdMax);
- if (i == 0)
- {
- errMessage = "输入的数据不完整";
- return null;
- }
- if (i == 1)
- {
- errMessage = "标准范围下限值与上限值相等,上下限符号请选择<=和>=";
- return null;
- }
- if (i == 2)
- {
- errMessage = "标准范围下限值不能大于上限值";
- return null;
- }
- }
- string stdTarget = ugr.Cells["STDTARGET"].Value.ToString().Trim();
- string modelCode = ugr.Cells["MODEL_CODE"].Value.ToString().Trim();
- string modelDesc = ugr.Cells["MODEL_DESC"].Value.ToString().Trim();
- string stdMemo = ugr.Cells["STDMEMO"].Value.ToString().Trim();
- string ele_code = ugr.Cells["ELE_CODE"].Value.ToString().Trim();
- string ele_name = ugr.Cells["ELE_NAME"].Value.ToString().Trim();
- string ele_min_sign = ugr.Cells["ELE_MIN_SIGN"].Value.ToString().Trim();
- string ele_min = ugr.Cells["ELE_MIN"].Value.ToString().Trim();
- string ele_max_sign = ugr.Cells["ELE_MAX_SIGN"].Value.ToString().Trim();
- string ele_max = ugr.Cells["ELE_MAX"].Value.ToString().Trim();
- string repcode = ugr.Cells["REP_CODE"].Value.ToString().Trim();
- string repname = ugr.Cells["REP_NAME"].Value.ToString().Trim();
- string repminsign = ugr.Cells["REP_MIN_SIGN"].Value.ToString().Trim();
- string repmin = ugr.Cells["REP_MIN"].Value.ToString().Trim();
- string repmaxsign = ugr.Cells["REP_MAX_SIGN"].Value.ToString().Trim();
- string repmax = ugr.Cells["REP_MAX"].Value.ToString().Trim();
- string repval = ugr.Cells["REP_VAL"].Value.ToString().Trim();
- string size_code2 = ugr.Cells["SIZE_CODE2"].Value.ToString().Trim();
- string size_name2 = ugr.Cells["SIZE_NAME2"].Value.ToString().Trim();
- string size_min_sign2 = ugr.Cells["SIZE_MIN_SIGN2"].Value.ToString().Trim();
- string size_min2 = ugr.Cells["SIZE_MIN2"].Value.ToString().Trim();
- string size_max_sign2 = ugr.Cells["SIZE_MAX_SIGN2"].Value.ToString().Trim();
- string size_max2 = ugr.Cells["SIZE_MAX2"].Value.ToString().Trim();
- string size_code = ugr.Cells["SIZE_CODE"].Value.ToString().Trim();
- string size_name = ugr.Cells["SIZE_NAME"].Value.ToString().Trim();
- string size_min_sign = ugr.Cells["SIZE_MIN_SIGN"].Value.ToString().Trim();
- string size_min = ugr.Cells["SIZE_MIN"].Value.ToString().Trim();
- string size_max_sign = ugr.Cells["SIZE_MAX_SIGN"].Value.ToString().Trim();
- string size_max = ugr.Cells["SIZE_MAX"].Value.ToString().Trim();
- string specJG = ugr.Cells["SPEC_JG"].Value.ToString().Trim();
- string specJGDesc = ugr.Cells["SPEC_JG_DESC"].Value.ToString().Trim();
- if (ele_min_sign.Equals("=") && !ele_max_sign.Equals(""))
- {
- errMessage = "限制元素下限符号为'=',不能选择上限符号";
- return null;
- }
- if (size_min_sign2.Equals("=") && !size_max_sign2.Equals(""))
- {
- errMessage = "限制规格(一)下限符号为'=',不能选择上限符号";
- return null;
- }
- if (size_min_sign.Equals("=") && !size_max_sign.Equals(""))
- {
- errMessage = "限制规格(二)下限符号为'=',不能选择上限符号";
- return null;
- }
- if (repminsign.Equals("=") && !repmaxsign.Equals(""))
- {
- errMessage = "替代元素下限符号为'=',不能选择上限符号";
- return null;
- }
- if (!ele_name.Equals(""))
- {
- if (ele_name.Equals(chemName))
- {
- errMessage = "化学元素描述不能与限制元素描述相同";
- return null;
- }
- if (ele_min_sign.Equals("") && ele_max_sign.Equals(""))
- {
- errMessage = "请选择限制元素上限符号或者下限符号";
- return null;
- }
- if (!ele_min_sign.Equals("") && ele_min.Equals(""))
- {
- errMessage = "请输入限制元素下限值";
- return null;
- }
- if (ele_min_sign.Equals("") && !ele_min.Equals(""))
- {
- errMessage = "请选择限制元素下限符号";
- return null;
- }
- if (!ele_max_sign.Equals("") && ele_max.Equals(""))
- {
- errMessage = "请输入限制元素上限值";
- return null;
- }
- if (ele_max_sign.Equals("") && !ele_max.Equals(""))
- {
- errMessage = "请选择限制元素上限符号";
- return null;
- }
- if (!ele_max.Equals("") && !StringUtil.IsNumber(ele_max))
- {
- errMessage = "限制元素上限值请输入数字";
- return null;
- }
- if (!ele_min.Equals("") && !StringUtil.IsNumber(ele_min))
- {
- errMessage = "限制元素下限值请输入数字";
- return null;
- }
- if (!ele_max_sign.Equals("") && !ele_min_sign.Equals("")) //&& Convert.ToInt32(ele_min) > Convert.ToInt32(ele_max)
- {
- int i = QcmBaseInfo.CheckStdData(ele_min_sign, ele_max_sign, ele_min, ele_max);
- if (i == 0)
- {
- errMessage = "输入的数据不完整";
- return null;
- }
- if (i == 1)
- {
- errMessage = "限制元素下限值与上限值相等,上下限符号请选择<=和>=";
- return null;
- }
- if (i == 2)
- {
- errMessage = "限制元素下限值不能大于上限值";
- return null;
- }
- }
- }
- else
- {
- if (!ele_max_sign.Equals("") || !ele_min_sign.Equals("") || !ele_min.Equals("") || !ele_max.Equals(""))
- {
- errMessage = "请选择限制元素描述";
- return null;
- }
- }
- //-------------------新增的7个字段-----------------------------------------
- if (!repname.Equals(""))
- {
- if (repname.Equals(chemName))
- {
- errMessage = "化学元素描述不能与替代元素描述相同";
- return null;
- }
- if (repminsign.Equals("") && repmaxsign.Equals(""))
- {
- errMessage = "请选择替代元素上限符号或者下限符号";
- return null;
- }
- if (!repminsign.Equals("") && repmin.Equals(""))
- {
- errMessage = "请输入替代元素下限值";
- return null;
- }
- if (repminsign.Equals("") && !repmin.Equals(""))
- {
- errMessage = "请选择替代元素下限符号";
- return null;
- }
- if (!repmaxsign.Equals("") && repmax.Equals(""))
- {
- errMessage = "请输入替代元素上限值";
- return null;
- }
- if (repmaxsign.Equals("") && !repmax.Equals(""))
- {
- errMessage = "请选择替代元素上限符号";
- return null;
- }
- if (!repmax.Equals("") && !StringUtil.IsNumber(repmax))
- {
- errMessage = "替代元素上限值请输入数字";
- return null;
- }
- if (!repmin.Equals("") && !StringUtil.IsNumber(repmin))
- {
- errMessage = "替代元素下限值请输入数字";
- return null;
- }
- if (!repmaxsign.Equals("") && !repminsign.Equals("")) //&& Convert.ToInt32(repmin) > Convert.ToInt32(repmax)
- {
- int i = QcmBaseInfo.CheckStdData(repminsign, repmaxsign, repmin, repmax);
- if (i == 0)
- {
- errMessage = "输入的数据不完整";
- return null;
- }
- if (i == 1)
- {
- errMessage = "替代元素下限值与上限值相等,上下限符号请选择<=和>=";
- return null;
- }
- if (i == 2)
- {
- errMessage = "替代元素下限值不能大于上限值";
- return null;
- }
- }
- }
- else
- {
- if (!repmaxsign.Equals("") || !repminsign.Equals("") || !repmin.Equals("") || !repmax.Equals(""))
- {
- errMessage = "请选择替代元素描述";
- return null;
- }
- }
- //----------------新增的7个字段处理结束-------------
- if (!specJGDesc.Equals("") && !specJGDesc.Equals("-1"))
- {
- if (!size_name.Equals("") || !size_name2.Equals(""))
- {
- errMessage = "存在接箍描述,不能选择限制规格(一)或者(二)";
- return null;
- }
- }
- if (!size_name.Equals("") || !size_name2.Equals(""))
- {
- if (!specJGDesc.Equals("") && !specJGDesc.Equals("-1"))
- {
- errMessage = "存在限制规格(一)或者限制规格(二),不能选择接箍描述";
- return null;
- }
- }
- if (!size_name2.Equals(""))
- {
- if (size_min_sign2.Equals("") && size_max_sign2.Equals(""))
- {
- errMessage = "请选择限制规格(一)下限符号或者上限符号";
- return null;
- }
- if (!size_min_sign2.Equals("") && size_min2.Equals(""))
- {
- errMessage = "请输入限制规格(一)下限值";
- return null;
- }
- if (size_min_sign2.Equals("") && !size_min2.Equals(""))
- {
- errMessage = "请选择限制规格(一)下限符号";
- return null;
- }
- if (!size_max_sign2.Equals("") && size_max2.Equals(""))
- {
- errMessage = "请输入限制规格(一)下限值";
- return null;
- }
- if (size_max_sign2.Equals("") && !size_max2.Equals(""))
- {
- errMessage = "请选择限制规格(一)下限符号";
- return null;
- }
- if (!size_max2.Equals("") && !StringUtil.IsNumber(size_max2))
- {
- errMessage = "限制规格(一)上限值请输入数字";
- return null;
- }
- if (!size_min2.Equals("") && !StringUtil.IsNumber(size_min2))
- {
- errMessage = "限制规格(一)下限值请输入数字";
- return null;
- }
- if (!size_max2.Equals("") && !size_min2.Equals("")) //&& Convert.ToDouble(size_min2) > Convert.ToDouble(size_max2)
- {
- int i = QcmBaseInfo.CheckStdData(size_min_sign2, size_max_sign2, size_min2, size_max2);
- if (i == 0)
- {
- errMessage = "输入的数据不完整";
- return null;
- }
- if (i == 1)
- {
- errMessage = "限制规格(一)下限值与上限值相等,上下限符号请选择<=和>=";
- return null;
- }
- if (i == 2)
- {
- errMessage = "限制规格(一)下限值不能大于上限值";
- return null;
- }
- }
- }
- else
- {
- if (!size_min_sign2.Equals("") || !size_max2.Equals("") || !size_max2.Equals("") || !size_min2.Equals(""))
- {
- errMessage = "请选择限制规格(一)描述";
- return null;
- }
- }
- if (!size_name.Equals(""))
- {
- if (size_min_sign.Equals("") && size_max_sign.Equals(""))
- {
- errMessage = "请选择限制规格(二)下限符号或者上限符号";
- return null;
- }
- if (!size_min_sign.Equals("") && size_min.Equals(""))
- {
- errMessage = "请输入限制规格(二)下限值";
- return null;
- }
- if (size_min_sign.Equals("") && !size_min.Equals(""))
- {
- errMessage = "请选择限制规格(二)下限符号";
- return null;
- }
- if (!size_max_sign.Equals("") && size_max.Equals(""))
- {
- errMessage = "请输入限制规格(二)下限值";
- return null;
- }
- if (size_max_sign.Equals("") && !size_max.Equals(""))
- {
- errMessage = "请选择限制规格(二)下限符号";
- return null;
- }
- if (!size_max.Equals("") && !StringUtil.IsNumber(size_max))
- {
- errMessage = "限制规格(二)上限值请输入数字";
- return null;
- }
- if (!size_min.Equals("") && !StringUtil.IsNumber(size_min))
- {
- errMessage = "限制规格(二)下限值请输入数字";
- return null;
- }
- if (!size_max.Equals("") && !size_min.Equals("")) //&& Convert.ToDouble(size_min) > Convert.ToDouble(size_max)
- {
- int i = QcmBaseInfo.CheckStdData(size_min_sign, size_max_sign, size_min, size_max);
- if (i == 0)
- {
- errMessage = "输入的数据不完整";
- return null;
- }
- if (i == 1)
- {
- errMessage = "限制规格(二)下限值与上限值相等,上下限符号请选择<=和>=";
- return null;
- }
- if (i == 2)
- {
- errMessage = "限制规格(二)下限值不能大于上限值";
- return null;
- }
- }
- }
- else
- {
- if (!size_min_sign.Equals("") || !size_max.Equals("") || !size_max.Equals("") || !size_min.Equals(""))
- {
- errMessage = "请选择限制规格(二)描述";
- return null;
- }
- }
- if (!size_name.Equals("") && !size_name2.Equals("") && size_name.Equals(size_name2))
- {
- errMessage = "限制规格(二)描述不能与限制规格(一)描述相同";
- return null;
- }
- string createName = UserInfo.GetUserName();
- string updateName = UserInfo.GetUserName();
- string createTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
- string validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
- //if (validflag.Equals("无效"))
- //{
- // errMessage = "无效记录不能保存";
- // return null;
- //}
- StdChemObject com = new StdChemObject();
- com.Cic = cic;
- com.IndexSeq = indexSeq;
- com.ChemCode = chemCode;
- com.ChemName = chemName;
- com.ChemType = wholeBacklog;
- com.ChemFormula = chemFormula;
- com.IsCheck = isCheck;
- com.Isjudge = isjudge;
- com.IsQuote = isquote;
- com.ComplexType = complexType;
- com.StdMinSign = stdminSign;
- if (stdMin.TryParseDecimal())
- {
- if (stdMin.StartsWith(".")) stdMin = "0" + stdMin;
- }
- com.StdMin = stdMin;
- com.StdMaxSign = stdmaxSign;
- if (stdMax.TryParseDecimal())
- {
- if (stdMax.StartsWith(".")) stdMax = "0" + stdMax;
- }
- com.StdMax = stdMax;
- com.StdTarget = stdTarget;
- com.ModelCode = modelCode;
- com.ModelDesc = modelDesc;
- com.StdMemo = stdMemo;
- com.EleCode = ele_code;
- com.EleName = ele_name;
- com.EleMinSign = ele_min_sign;
- if (ele_min.TryParseDecimal())
- {
- if (ele_min.StartsWith(".")) ele_min = "0" + ele_min;
- }
- com.EleMin = ele_min;
- com.EleMaxSign = ele_max_sign;
- if (ele_max.TryParseDecimal())
- {
- if (ele_max.StartsWith(".")) ele_max = "0" + ele_max;
- }
- com.EleMax = ele_max;
- com.SizeCode2 = size_code2;
- com.SizeName2 = size_name2;
- com.SizeMinSign2 = size_min_sign2;
- com.SizeMin2 = size_min2;
- com.SizeMaxSign2 = size_max_sign2;
- com.SizeMax2 = size_max2;
- com.SizeCode = size_code;
- com.SizeName = size_name;
- com.SizeMinSign = size_min_sign;
- if (size_min.TryParseDecimal())
- {
- if (size_min.StartsWith(".")) size_min = "0" + size_min;
- }
- com.SizeMin = size_min;
- com.SizeMaxSign = size_max_sign;
- if (size_max.TryParseDecimal())
- {
- if (size_max.StartsWith(".")) size_max = "0" + size_max;
- }
- com.SizeMax = size_max;
- com.SpecJg = specJG;
- com.SpecJgDesc = specJGDesc;
- com.CreateName = createName;
- com.UpdateName = updateName;
- com.CreateTime = createTime;
- com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString();
- com.RepMaxSign = repmaxsign;
- com.RepMin = repmin;
- com.RepMinSign = repminsign;
- com.RepMax = repmax;
- com.RepName = repname;
- com.RepCode = repcode;
- com.RepVal = repval;
- return com;
- }
- private DataTable GetMscTabByMsc(string msc)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreFrmProPSCMSC2.getComMscByMsc",
- new object[] { msc }, ob);
- return dt;
- }
- private string GetMscByCic(string cic)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getMscCicByCic",
- new object[] { cic }, ob);
- if (dt.Rows.Count > 0)
- {
- return dt.Rows[0]["MSC"].ToString();
- }
- else
- {
- return "";
- }
- }
- /// <summary>
- /// 通过主键查询成分
- /// </summary>
- /// <param name="cic"></param>
- /// <returns></returns>
- private DataRow GetMscCicByCic(string cic)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreChemStandard.getMscCicByCic",
- new object[] { cic }, ob);
- if (dt.Rows.Count == 0)
- {
- return null;
- }
- else
- {
- return dt.Rows[0];
- }
- }
- private bool CheckAuthority(UltraGridRow row)
- {
- if (CustomInfo == "1")
- {
- string mscOld;
- if (row.GetValue("VALIDFLAG") != "")
- {
- mscOld = GetMscByCic(row.GetValue("CIC"));
- }
- else
- {
- mscOld = row.HasParent() ? row.ParentRow.GetValue("MSC") : row.GetValue("MSC");
- }
- DataTable dtMsc = GetMscTabByMsc(mscOld);
- //if (dtMsc.Rows[0]["UNIT_CODE"].ToString() != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin")
- //{
- // errMessage = "该条记录对应的冶金规范是[" + dtMsc.Rows[0]["UNIT_DESC"].ToString() + "]科室维护的,您没有权限!";
- // row.Activate();
- // return false;
- //}
- }
- return true;
- }
- /// <summary>
- /// 主项数据
- /// </summary>
- /// <param name="ugr">UltraGridRow</param>
- /// <returns></returns>
- private StdCicObject GetBaseData(UltraGridRow ugr, DataRow cicRow)
- {
- StdCicObject com = new StdCicObject();
- com.Cic = ugr.Cells["CIC"].Value.ToString().Trim();
- com.Psc = ugr.Cells["PSC"].Value.ToString().Trim();
- com.Msc = ugr.Cells["MSC"].Value.ToString();
- if (CustomInfo == "1" && com.Msc.Equals(""))
- {
- errMessage = "请选择冶金规范码";
- return null;
- }
- if (CheckAuthority(ugr) == false) return null;
- com.StdsStyle = ugr.Cells["STDSTYLE"].Value.ToString().Trim();
- if (com.StdsStyle.Equals("订货标准"))
- com.StdsStyle = "G";
- else if (com.StdsStyle.Equals("协议标准"))
- com.StdsStyle = "X";
- else if (com.StdsStyle.Equals("Alpha"))
- com.StdsStyle = "K";
- else if (com.StdsStyle.Equals("内控"))
- com.StdsStyle = "N";
- else if (com.StdsStyle.Equals("试验标准"))
- com.StdsStyle = "S";
- else
- com.StdsStyle = "P";
- com.StdCodeNk = ugr.Cells["STD_CODE_NK"].Value.ToString().Trim();
- com.StdNameNk = ugr.Cells["STD_NAME_NK"].Value.ToString().Trim();
- if (CustomInfo != "1" && com.StdNameNk.Equals(""))
- {
- errMessage = "请选择标准名称";
- return null;
- }
- com.ProcessCode = ugr.Cells["PROCESS_CODE"].Value.ToString().Trim();
- com.ProcessDesc = ugr.Cells["PROCESS_DESC"].Value.ToString().Trim();
- com.GradeCode = ugr.Cells["GRADECODE"].Value.ToString().Trim();
- com.GradeName = ugr.Cells["GRADENAME"].Value.ToString().Trim();
- com.StdCode = ugr.Cells["STD_CODE"].Value.ToString().Trim();
- com.StdName = ugr.Cells["STD_CODE"].Text;
- com.CreateName = UserInfo.GetUserName();
- com.CreateTime = ugr.Cells["CREATE_TIME"].Value.ToString().Trim();
- com.UpdateName = UserInfo.GetUserName();
- com.Memo = ugr.Cells["MEMO"].Value.ToString();
- com.Validflag = ugr.Cells["VALIDFLAG"].Value.ToString().Trim();
- com.ModelCode = ugr.Cells["MODEL_CODE"].Value.ToString();
- com.ModelDesc = ugr.Cells["MODEL_DESC"].Value.ToString();
- com.ProducHead = ugr.GetValue("PRODUC_HEAD");
- com.CodeJg = codeJg == "DefaultValue" ? "" : codeJg;
- com.SteelcodeNk = ugr.GetValue("STEELCODE_NK");
- com.SteelnameNk = ugr.GetValue("STEELNAME_NK");
- com.ModelCodeNk = ugr.GetValue("MODEL_CODE_NK");
- com.ModelNameNk = ugr.GetValue("MODEL_DESC_NK");
- com.ProduccodeNk = ugr.GetValue("PRODUCCODE_NK");
- com.ProducnameNk = ugr.GetValue("PRODUCNAME_NK");
- com.SmeltingCnt = ugr.GetValue("SMELTING_CNT");
- com.ProductCnt = ugr.GetValue("PRODUCT_CNT");
- com.MinD = ugr.GetValue("MIN_D");
- com.MaxD = ugr.GetValue("MAX_D");
- com.MinH = ugr.GetValue("MIN_H");
- com.MaxH = ugr.GetValue("MAX_H");
- com.MinDSign = ugr.GetValue("MIN_D_SIGN");
- com.MaxDSign = ugr.GetValue("MAX_D_SIGN");
- com.MinHSign = ugr.GetValue("MIN_H_SIGN");
- com.MaxHSign = ugr.GetValue("MAX_H_SIGN");
- com.Rate = ugr.GetValue("RATE");
- //if (CustomInfo == "2" && ugr.GetValue("PRODUCCODE_NK") == "")
- //{
- // errMessage = "请选择品名!";
- // return null;
- //}
- if (CustomInfo == "1" && com.Msc.EndsWith("000"))
- {
- if (com.SmeltingCnt == "")
- {
- errMessage = "请输入熔炼成分套数!";
- ugr.SetCellActive("SMELTING_CNT");
- return null;
- }
- if (com.ProductCnt == "")
- {
- errMessage = "请输入成品成分套数!";
- ugr.SetCellActive("PRODUCT_CNT");
- return null;
- }
- if (com.Rate == "")
- {
- errMessage = "请选择成品取样频率!";
- ugr.SetCellActive("RATE");
- return null;
- }
- }
- if (CustomInfo == "2")
- {
- if (com.GradeCode == "")
- {
- errMessage = "请选择钢种!";
- ugr.SetCellActive("GRADENAME");
- return null;
- }
- else if (com.GradeCode.Split(';').Length >= 2)
- {
- errMessage = "成分内控只能维护一个适用钢种!";
- ugr.SetCellActive("GRADENAME");
- return null;
- }
- if (com.MinDSign != "" && com.MinD == "")
- {
- errMessage = "请输入外径下限值!";
- ugr.SetCellActive("MIN_D");
- return null;
- }
- else if (com.MinDSign == "" && com.MinD != "")
- {
- errMessage = "请选择外径下限符号!";
- ugr.SetCellActive("MIN_D_SIGN");
- return null;
- }
- else if (com.MaxDSign != "" && com.MaxD == "")
- {
- errMessage = "请输入外径上限值!";
- ugr.SetCellActive("MAX_D");
- return null;
- }
- else if (com.MaxDSign == "" && com.MaxD != "")
- {
- errMessage = "请选择外径上限符号!";
- ugr.SetCellActive("MAX_D_SIGN");
- return null;
- }
- else if (com.MinHSign != "" && com.MinH == "")
- {
- errMessage = "请输入壁厚下限值!";
- ugr.SetCellActive("MIN_H");
- return null;
- }
- else if (com.MinHSign == "" && com.MinH != "")
- {
- errMessage = "请选择壁厚下限符号!";
- ugr.SetCellActive("MIN_H_SIGN");
- return null;
- }
- else if (com.MaxHSign != "" && com.MaxH == "")
- {
- errMessage = "请输入壁厚上限值!";
- ugr.SetCellActive("MAX_H");
- return null;
- }
- else if (com.MaxHSign == "" && com.MaxH != "")
- {
- errMessage = "请选择壁厚上限符号!";
- ugr.SetCellActive("MAX_H_SIGN");
- return null;
- }
- else if (com.MinDSign == "=" && com.MaxDSign != "")
- {
- errMessage = "外径下限符号为等号时,不能存在外径上限符号和外径上限值!";
- ugr.SetCellActive("MAX_D_SIGN");
- return null;
- }
- else if (com.MinHSign == "=" && com.MaxHSign != "")
- {
- errMessage = "壁厚下限符号为等号时,不能存在壁厚上限符号和壁厚上限值!";
- ugr.SetCellActive("MAX_H_SIGN");
- return null;
- }
- else if (com.MinD != "" && com.MaxD != ""
- && decimal.Parse(com.MinD) >= decimal.Parse(com.MaxD))
- {
- errMessage = "外径下限值不能大于等于外径上限值!";
- ugr.SetCellActive("MIN_D");
- return null;
- }
- else if (com.MinH != "" && com.MaxH != ""
- && decimal.Parse(com.MinH) >= decimal.Parse(com.MaxH))
- {
- errMessage = "壁厚下限值不能大于等于壁厚上限值!";
- ugr.SetCellActive("MIN_H");
- return null;
- }
- }
- //if (com.Validflag.Equals("无效"))
- //{
- // errMessage = "无效记录不能保存";
- // return null;
- //}
- //界面上简单的验证了下 当这个界面打开很久以后 可能有些记录的状态发生了变化 会不准确 不过不影响
- //因为在Update SQL语句里面加了限制条件(这两个状态的都无法修改!)。
- if (cicRow != null && (cicRow["VALIDFLAG"].ToString() == "2" || cicRow["VALIDFLAG"].ToString() == "3"))
- {
- errMessage = "提交审核或已审核的记录不能修改";
- return null;
- }
- return com;
- }
- private bool CheckDataParent(UltraGridRow ugr, DataRow rowCic, bool flag)
- {
- if (!flag)
- {
- if (CustomInfo == "2")
- {
- if (rowCic["GRADECODE"].ToString() == "")
- {
- MessageUtil.ShowWarning("请选择钢种并保存后,再恢复记录!");
- return false;
- }
- else if (rowCic["GRADECODE"].ToString().Split(';').Length >= 2)
- {
- MessageUtil.ShowWarning("成分内控只能维护一个适用钢种,请保留一个适用钢种并保存后,再恢复记录!");
- return false;
- }
- }
- }
- return true;
- }
- FrmChemStandard _frmChemStandard = null;
- /// <summary>
- /// 扣型选择
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ultraGrid1_ClickCellButton(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key.Equals("MODEL_DESC") && Convert.ToBoolean(ultraGrid1.DisplayLayout.ActiveRow.Cells["CHC"].Value))
- {
- UltraGridRow row = this.ultraGrid1.DisplayLayout.ActiveRow;
- FrmModel frms = new FrmModel();
- frms.Desc = row.Cells["MODEL_DESC"].Value.ToString();
- frms.FrmOb = this.ob;
- frms.ShowDialog();
- row.Cells["MODEL_CODE"].Value = frms.Code;
- row.Cells["MODEL_DESC"].Value = frms.Desc;
- }
- if (e.Cell.Column.Key.ToUpper().Equals("COUNT") && e.Cell.Row.Cells["CHC"].Value.ToString() == "True")
- {
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- List<string> list = new List<string>();
- FrmChemPopup fcp = new FrmChemPopup();
- if (ugr.ChildBands[0].Rows.Count > 0)
- {
- for (int i = 0; i < ugr.ChildBands[0].Rows.Count; i++)
- {
- list.Add(ugr.ChildBands[0].Rows[i].Cells["CHEM_CODE"].Value.ToString());
- }
- }
- fcp.Ob = this.ob;
- fcp.ChenList = list;
- fcp.ShowDialog();
- }
- if (e.Cell.Column.Key.Equals("CHKNK"))
- {
- UltraGridRow ugr = ultraGrid1.ActiveRow;
- _frmChemStandard = new FrmChemStandard();
- _frmChemStandard.PopupLoad("3", ob);
- _frmChemStandard.UltraPanel1.Visible = false;
- _frmChemStandard.ultraToolbarsManager1.Visible = true;
- _frmChemStandard.Msc = msc;
- _frmChemStandard.CodeJg = "";
- _frmChemStandard.DoQuery1();
- if (_frmChemStandard.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- DataRow CurRow, NewRow;
- for (int i = 0; i < _frmChemStandard.dataTable1.Rows.Count; i++)
- {
- CurRow = _frmChemStandard.dataTable1.Rows[i];
- NewRow = dataTable1.NewRow();
- if (!_frmChemStandard.Ids.Contains(CurRow["CIC"].ToString2()))
- {
- continue;
- }
- for (int j = 0; j < _frmChemStandard.dataTable1.Columns.Count; j++)
- {
- try
- {
- if (dataTable1.Columns.Contains(_frmChemStandard.dataTable1.Columns[j].ColumnName))
- {
- if (_frmChemStandard.dataTable1.Columns[j].ColumnName == "CIC")
- {
- NewRow[_frmChemStandard.dataTable1.Columns[j].ColumnName] = ultraGrid1.ActiveRow.GetValue("CIC");
- }
- else
- {
- NewRow[_frmChemStandard.dataTable1.Columns[j].ColumnName] = CurRow[j];
- }
- }
- }
- catch { }
- }
- dataTable1.Rows.Add(NewRow);
- }
- ultraGrid1.UpdateData();
- ultraGrid1.ActiveRow.ExpandAll();
- }
- }
- }
- /// <summary>
- /// 编辑区 产品规范描述
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void ChcPsc_CheckedChanged(object sender, EventArgs e)
- {
- if (ultraCheckMSC.Checked)
- ultraTextMSC.Enabled = true;
- else
- ultraTextMSC.Enabled = false;
- }
- private void ultraCheckStd_CheckedChanged(object sender, EventArgs e)
- {
- if (ultraCheckStd.Checked)
- ultraTextStd.Enabled = true;
- else
- ultraTextStd.Enabled = false;
- }
- private void ultraGrid1_CellDataError(object sender, CellDataErrorEventArgs e)
- {
- e.RaiseErrorEvent = false;
- e.RestoreOriginalValue = true;
- e.StayInEditMode = true;
- MessageBox.Show("数据不合法,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
- {
- if (isPasting)
- {
- e.Row.SetValue("CHC", "True");
- }
- }
- /// <summary>
- /// 2015-07-15 PDY
- /// </summary>
- private void InnerChange()
- {
- ultraGrid1.DisplayLayout.Bands[1].Columns["UnboundColumn2"].Header.Caption = "内控标准";
- ultraGrid1.DisplayLayout.Bands[0].Columns["PROCESS_CODE"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[0].Columns["STD_CODE_NK"].CellActivation = Activation.ActivateOnly;
- ultraGrid1.DisplayLayout.Bands[0].Columns["MODEL_DESC"].Hidden = true;
- }
- private void ultraTextEditor1_EditorButtonClick(object sender, EditorButtonEventArgs e)
- {
- if (ultraGrid1.ActiveCell.Column.Key == "PROCESS_DESC")
- {
- string processCodes = ultraGrid1.ActiveRow.GetValue("PROCESS_CODE");
- ChoiceProcessPopup choiceProcessPopup = new ChoiceProcessPopup(processCodes, this.ob);
- if (choiceProcessPopup.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessByStdCode",
- new object[] { this.stdCode }, ob);
- string stdProcessCodes = dt.Rows[0]["PROCESS_CODE"].ToString();
- string[] processCodesAry = choiceProcessPopup.ProcessCodes.Split(',');
- for (int i = 0; i < processCodesAry.Length; i++)
- {
- if (!stdProcessCodes.Contains(processCodesAry[i].Trim()))
- {
- DataTable dtBaseProcess = ServerHelper.GetData("com.steering.pss.qcm.ComStandard.getProcessDescByCode",
- new object[] { processCodesAry[i].Trim() }, ob);
- string processDesc = dtBaseProcess.Rows[0]["PROCESS_DESC"].ToString();
- MessageUtil.ShowWarning("该标准下不包含工序" + processDesc + ", 不能选择!");
- return;
- }
- }
- ultraGrid1.ActiveRow.SetValue("PROCESS_CODE", choiceProcessPopup.ProcessCodes);
- ultraGrid1.ActiveRow.SetValue("PROCESS_DESC", choiceProcessPopup.ProcessDescs);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "STEELNAME_NK")
- {
- FrmRepSteel frmSteel = new FrmRepSteel();
- frmSteel.Text = "钢级选择";
- frmSteel.Ob1 = this.ob;
- frmSteel.Code = ultraGrid1.ActiveRow.GetValue("STEELCODE_NK");
- if (frmSteel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("STEELCODE_NK", frmSteel.Code);
- ultraGrid1.ActiveRow.SetValue("STEELNAME_NK", frmSteel.Desc);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "MODEL_DESC_NK")
- {
- FrmModel frmModel = new FrmModel();
- frmModel.FrmOb = this.ob;
- frmModel.Code = ultraGrid1.ActiveRow.GetValue("MODEL_CODE_NK");
- frmModel.Desc = ultraGrid1.ActiveCell.Value.ToString();
- if (frmModel.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("MODEL_CODE_NK", frmModel.Code);
- ultraGrid1.ActiveRow.SetValue("MODEL_DESC_NK", frmModel.Desc);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "PRODUCNAME_NK")
- {
- PopupProductName popupProductName = new PopupProductName(
- ultraGrid1.ActiveRow.GetValue("PRODUCCODE_NK"), ob);
- if (popupProductName.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("PRODUCCODE_NK", popupProductName.ProductCodes);
- ultraGrid1.ActiveRow.SetValue("PRODUCNAME_NK", popupProductName.ProductNames);
- }
- }
- else if (ultraGrid1.ActiveCell.Column.Key == "GRADENAME")
- {
- string gradeCodes = ultraGrid1.ActiveRow.GetValue("GRADENAME");
- FrmGradeChoice frmGradeChoice = new FrmGradeChoice(gradeCodes, ob);
- if (frmGradeChoice.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- ultraGrid1.ActiveRow.SetValue("GRADECODE", frmGradeChoice.GradeCodes);
- ultraGrid1.ActiveRow.SetValue("GRADENAME", frmGradeChoice.GradeNames);
- }
- }
- }
- private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e)
- {
- foreach (Infragistics.Win.UltraWinGrid.UltraGridRow ugr in this.ultraGrid1.Selected.Rows)
- {
- ugr.Cells["CHC"].Value = true;
- Activation activation = Activation.ActivateOnly;
- if (Convert.ToBoolean(ugr.Cells["CHC"].Value))
- {
- activation = Activation.AllowEdit;
- //isSelect += 1;
- }
- //else
- //isSelect -= 1;
- CellsCollection cells = ugr.Cells;
- for (int i = 0; i < cells.Count; i++)
- {
- if (!cells[i].Column.Key.Equals("CHC"))
- {
- ugr.Cells[i].Activation = activation;
- }
- }
- }
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key)
- {
- case "查询":
- DoQuery1();
- break;
- case "确认选择":
- Choice();
- break;
- }
- }
- private DataRow[] rows;
- public DataRow[] Rows
- {
- get { return rows; }
- set { rows = value; }
- }
- List<string> ids;
- public List<string> Ids
- {
- get { return ids; }
- set { ids = value; }
- }
- private void Choice()
- {
- ultraGrid1.UpdateData();
- int count = ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))).Count();
- if (count > 1)
- {
- MessageUtil.ShowTips("请选择一条数据!");
- return;
- }
- foreach (UltraGridRow ugr in ultraGrid1.Rows.Where(a => Convert.ToBoolean(a.GetValue("CHC"))))
- {
- //从表操作
- if (ugr.HasChild())
- {
- Ids = ugr.ChildBands[0].Rows.Select(p => p.GetValue("CIC")).ToList();
- Rows = dataTable1.Select("CIC IN ('" + string.Join("','", Ids) + "')");
- }
- }
- this.DialogResult = System.Windows.Forms.DialogResult.OK;
- }
- }
- }
|