| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Tool;
- using Core.Mes.Client.Comm.Control;
- using System.Collections;
- using Core.Mes.Client.Comm.Server;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win;
- using Infragistics.Win.UltraWinEditors;
- namespace Core.StlMes.Client.Lims.Port
- {
- public partial class FrmMilGetBatchAndSample : FrmBase
- {
- private string PlineCode = "";//产线
- //private DataTable m_dtSampleReqDetail;//存放检验项目明细
- //private DataTable m_dtSampleReqDetail_Chem;//存放检验项目明细
- //private DataTable m_dtSelectPhyMax;//已选择的大项
- //public DataTable DtSelectPhyMax
- //{
- // get { return m_dtSelectPhyMax; }
- // set { m_dtSelectPhyMax = value; }
- //}
- //
- private DataTable m_dtSelectPhySampleCode;//选择的取样码
- private DataTable m_dtSelectChem;//成分
- public DataTable DtSelectPhySampleCode
- {
- get { return m_dtSelectPhySampleCode; }
- set { m_dtSelectPhySampleCode = value; }
- }
- private DataTable m_dtSelectPhyMin;//已选择的小项
- public DataTable DtSelectPhyMin
- {
- get { return m_dtSelectPhyMin; }
- set { m_dtSelectPhyMin = value; }
- }
- private DataTable m_dtSelectPhyR;//已选择的方向温度尺寸
- public DataTable DtSelectPhyR
- {
- get { return m_dtSelectPhyR; }
- set { m_dtSelectPhyR = value; }
- }
- private DataTable m_dtSelectSampleKey;//选择的试样组+方向温度尺寸
- public DataTable DtSelectSampleKey
- {
- get { return m_dtSelectSampleKey; }
- set { m_dtSelectSampleKey = value; }
- }
- public FrmMilGetBatchAndSample()
- {
- InitializeComponent();
- }
- protected override void OnLoad(EventArgs e)
- {
- base.OnLoad(e);
- ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;//不默认加载筛选条件框
- //ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid2.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头
- ultraGrid3.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid4.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid5.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid6.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid7.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid7.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;//不显示行头
- ultraGrid8.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid9.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid10.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid11.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid12.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid13.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid14.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid15.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid16.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- ultraGrid17.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False;
- }
- private void FrmMilGetBatchAndSample_Complex_Load(object sender, EventArgs e)
- {
- portQueryBase1.UpdateControl("开始时间");
- PlineCode = PublicPort.GetPCode(this.ValidDataPurviewIds, ob);//获取 用户 对应的产线
- BindProcessDesc();
- InitColumnsDataTable();
- ColumnsNotSort();
- }
- private void InitColumnsDataTable()
- {
- portMilShowBase1.TxtBATCH_MAX.TextChanged += TxtBATCH_MAX_TextChanged;
- //生产批号、炉号队列
- string[] arrColumnsLot = new string[] { "ID", "SEQ", "LOT_NO", "STOVE_NO", "JUDGE_STOVE_NO", "JUDGE_STOVE_NO_DESC", "FEED_HEAT_NO", "PLINE_CODE", "VARIETIES", "IMP_PROCESS", "CRAFT_PATH", "ROLL_STANDRAD", "PRODUCE_STANDRAD", "CONTRACT_NO", "STEELNAME", "GRADENAME", "PIPE_SIZE", "BUCKLE_TYPE", "PROCESS_STATUS", "TARGET_LENGTH", "LENGTH_RANGE", "SIMPLE_PROCESS", "BATCH_MAX", "SAW_NUM", "SPLINE_DESC", "BATCH_INTERVAL", "CHECK_NO", "ORD_LN_DLY_PK","PRO_PLAN_ID","GX_PLAN_NO" };
- string[] arrCaptionLot = new string[] { "ID", "SEQ", "生产批号", "熔炼炉号", "炉号", "炉号", "上料炉号", "产线", "品名", "工艺文件号", "工艺文件路径", "轧管标准", "成品判定标准", "工序合同", "钢级", "钢号", "规格", "扣型", "工艺状态", "目标长度", "长度范围", "取样工序点", "分批上限", "分切数", "编号首字母", "批号区间", "检验编号", "交货行PK","轧管排产单号","排产序号" };
- PublicPort.InitColumns(arrColumnsLot, arrCaptionLot, dataTable1, ultraGrid1, new string[] { "LOT_NO", "JUDGE_STOVE_NO_DESC" }, true, null);
- PublicPort.InitColumns(arrColumnsLot, arrCaptionLot, dataTable6, ultraGrid6, new string[] { "LOT_NO", "JUDGE_STOVE_NO_DESC" }, true, null);
- PublicPort.InitColumns(arrColumnsLot, arrCaptionLot, dataTable11, ultraGrid11, new string[] { "LOT_NO", "JUDGE_STOVE_NO_DESC" }, true, null);
- PublicPort.InitColumns(arrColumnsLot, arrCaptionLot, dataTable16, ultraGrid16, new string[] { "LOT_NO", "JUDGE_STOVE_NO_DESC", "CHECK_NO" }, true, null);
- //管号队列
- string[] arrColumnsPipe = new string[] { "CHK", "SEQ", "PIPE_NO", "SAMPLE_PIPE_LEN", "BATCH_NO", "ISVALID", "ORDER_LENGTH", "ACT_THEORY_WEIGHT" };
- string[] arrCaptionPipe = new string[] { "选择", "序号", "材料号", "长度(mm)", "批号", "有效", "定尺长度", "理论重量" };//{ "选择", "管号序号", "材料号", "取样长度(mm)", "性能批号", "是否有效", "定尺长度", "理论重量" };
- PublicPort.InitColumns(arrColumnsPipe, arrCaptionPipe, dataTable2, ultraGrid2, new string[] { "ORDER_LENGTH", "ACT_THEORY_WEIGHT" }, false, new string[] { "CHK", "SAMPLE_PIPE_LEN" });//"PIPE_NO",
- PublicPort.InitColumns(arrColumnsPipe, arrCaptionPipe, dataTable7, ultraGrid7, new string[] { "ORDER_LENGTH", "ACT_THEORY_WEIGHT" }, false, null);
- //性能批号队列
- string[] arrColumnsBatch = new string[] { "BATCH_NO", "START_PIPE_NO", "START_SEQ", "END_PIPE_NO", "END_SEQ", "PIPE_NUM", "SAMPLE_NUM" };
- string[] arrCaptionBatch = new string[] { "性能批号", "起始管号", "起始序号", "结束管号", "结束序号", "管数", "取样数" };//有效管数
- PublicPort.InitColumns(arrColumnsBatch, arrCaptionBatch, dataTable3, ultraGrid3, new string[] { "START_PIPE_NO", "END_PIPE_NO" }, false, new string[] { "BATCH_NO" });//null
- PublicPort.InitColumns(arrColumnsBatch, arrCaptionBatch, dataTable8, ultraGrid8, new string[] { "START_PIPE_NO", "END_PIPE_NO" }, false, null);
- //取样要求队列
- string[] arrColumnsSampleReq = new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "DEPT_ID", "PHY_CODE_MIN", "PHY_NAME_MIN", "SAMPLE_KEY", "SAMPLE_KEY_DESC", "SAMPLE_STYLE", "DESC_SAMPLE_STYLE", "STD_CODE", "STD_NAME", "LENGTH", "WIDTH", "RATE", "DESC_RATE", "BATCH_UNIT", "BATCH_CNT", "POSITION", "DESC_POSITION", "DESC_COUNT", "SAMPLE_COUNT", "ADD_TYPE", "ADD_TYPE_DESC", "DATA_TYPE", "DATA_TYPE_DESC", "STD_NAME_TEST", "EIC", "SPLINE_NO", "PHY_DIR", "SIZE_DESC" };//CHECK_STD
- string[] arrCaptionSampleReq = new string[] { "试样组代码", "试样组", "部门ID", "检验大项代码", "检验大项", "试样组描述代码", "试样组描述", "样片类型", "样片类型", "标准代码", "标准名称", "取样长度", "取样宽度", "取样频率代码", "取样频率", "分批单位", "分批数量", "取样位置代码", "取样位置", "取样数量", "样条数", "数据类型", "数据类型", "样品类型", "样品类型", "试验标准", "试样索引号", "试样编码", "试验方向", "名义规格" };
- PublicPort.InitColumns(arrColumnsSampleReq, arrCaptionSampleReq, dataTable4);
- PublicPort.setColumnShowOrHidden(ultraGrid4, new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "DEPT_ID", "PHY_CODE_MIN", "PHY_NAME_MIN", "SAMPLE_KEY", "SAMPLE_STYLE", "STD_CODE", "STD_NAME", "RATE", "POSITION", "ADD_TYPE", "ADD_TYPE_DESC", "DATA_TYPE", "DATA_TYPE_DESC", "CHECK_STD", "EIC", "SPLINE_NO", "PHY_DIR", "SIZE_DESC" }, false);//不需要显示的行
- PublicPort.InitColumns(arrColumnsSampleReq, arrCaptionSampleReq, dataTable9);
- PublicPort.setColumnShowOrHidden(ultraGrid9, new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "DEPT_ID", "PHY_CODE_MIN", "PHY_NAME_MIN", "SAMPLE_KEY", "SAMPLE_STYLE", "STD_CODE", "STD_NAME", "RATE", "POSITION", "ADD_TYPE", "ADD_TYPE_DESC", "DATA_TYPE", "DATA_TYPE_DESC", "CHECK_STD", "EIC", "SPLINE_NO", "PHY_DIR", "SIZE_DESC" }, false);//不需要显示的行
- PublicPort.InitColumns(arrColumnsSampleReq, arrCaptionSampleReq, dataTable14);
- PublicPort.setColumnShowOrHidden(ultraGrid14, new string[] { "PHY_CODE_MAX", "SAMPLE_KEY_DESC", "DEPT_ID", "PHY_CODE_MIN", "PHY_NAME_MIN", "SAMPLE_KEY", "SAMPLE_STYLE", "STD_CODE", "STD_NAME", "RATE", "POSITION", "ADD_TYPE", "ADD_TYPE_DESC", "DATA_TYPE", "DATA_TYPE_DESC", "CHECK_STD", "EIC", "SPLINE_NO", "PHY_DIR", "SIZE_DESC" }, false);//不需要显示的行
- //委托字段
- string[] arrColumnsConsign = new string[] { "BATCH_NO", "PIPE_NO", "SAMPLE_PIPE_LEN","HX" };
- string[] arrCaptionConsign = new string[] { "批号", "材料号", "长度(mm)","化学" };
- PublicPort.InitColumns(arrColumnsConsign, arrCaptionConsign, dataTable12);
- //PublicPort.InitColumns(arrColumnsConsign, arrCaptionConsign, dataTable17);
- //化学检验元素明细
- string[] arrColumnsChem = new string[] { "CHEM_CODE", "CHEM_NAME", "ISCHECK", "ISJUDGE", "ISQUOTE", "STDMIN_SIGN", "STDMIN", "STDMAX_SIGN", "STDMAX", "STDTARGET" };
- string[] arrCaptionChem = new string[] { "元素", "元素", "是否检验", "是否判定", "是否报出", "下限符号", "下限", "上限符号", "上限", "目标值" };
- PublicPort.InitColumns(arrColumnsChem, arrCaptionChem, dataTable13, ultraGrid13, new string[] { "CHEM_CODE", "ISCHECK", "ISJUDGE", "ISQUOTE" }, false, null);
- //理化检验元素
- string[] arrColumnsDetail = new string[] { "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE_MIN", "PHY_NAME_MIN", "SAMPLE_KEY", "SAMPLE_KEY_DESC", "PHY_CODE", "PHY_NAME", "ITEM_CODE_F", "ITEM_NAME_F", "ITEM_CODE_W", "ITEM_NAME_W", "ITEM_CODE_C", "ITEM_NAME_C" };
- string[] arrCaptionDetail = new string[] { "试样组代码", "试样组", "检验大项代码", "检验大项", "试样组描述代码", "试样组描述", "检验基础项代码", "检验基础项", "试验方向代码", "试验方向", "试验温度代码", "试验温度", "试样尺寸代码", "试样尺寸" };
- PublicPort.InitColumns(arrColumnsDetail, arrCaptionDetail, dataTable15, ultraGrid15, new string[] { "PHY_CODE_MAX", "PHY_NAME_MIN", "PHY_CODE_MIN", "SAMPLE_KEY", "SAMPLE_KEY_DESC", "PHY_CODE", "ITEM_CODE_F", "ITEM_CODE_W", "ITEM_CODE_C" }, false, null);
- //委托字段
- string[] arrColumnsConsignDetail = new string[] { "BATCH_NO", "SAMPLE_PIPE_LEN", "SAMPLE_NO", "HX", "ONH" };
- string[] arrCaptionConsignDetail = new string[] { "批号", "长度(mm)", "样管号", "化学", "ONH" };
- PublicPort.InitColumns(arrColumnsConsignDetail, arrCaptionConsignDetail, dataTable17);
- }
- //列不允许排序
- private void ColumnsNotSort()
- {
- foreach (DataColumn dc in dataTable2.Columns)
- {
- if (ultraGrid2.DisplayLayout.Bands[0].Columns.Exists(dc.ColumnName))
- {
- ultraGrid2.DisplayLayout.Bands[0].Columns[dc.ColumnName].SortIndicator = Infragistics.Win.UltraWinGrid.SortIndicator.Disabled;
- }
- }
- }
- /// <summary>
- /// 重写基类方法
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="ToolbarKey"></param>
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "Query":
- if (ultraTabControl1.SelectedTab.Index == 0)
- {
- QueryLotNoAndStoveNo(dataTable1, ultraGrid1, "0");//未分批
- }
- else if (ultraTabControl1.SelectedTab.Index == 1)
- {
- QueryLotNoAndStoveNo(dataTable6, ultraGrid6, "123");//已分批
- }
- else if (ultraTabControl1.SelectedTab.Index == 2)
- {
- QueryLotNoAndStoveNo(dataTable11, ultraGrid11, "2");//已委托
- }
- else if (ultraTabControl1.SelectedTab.Index == 3)
- {
- QueryLotNoAndStoveNo(dataTable16, ultraGrid16, "3");//已委托
- }
- break;
- case "AddBatch":
- AddBatchSampleInfo();
- break;
- case "AddSample":
- //AddSampleInfo();
- break;
- case "Delete":
- //if (ultraTabControl1.SelectedTab.Index == 0)
- //{
- // DeleteBatchInfo();
- //}
- //else
- if (ultraTabControl1.SelectedTab.Index == 1)
- {
- DeleteBatchInfo();
- }
- break;
- case "Confirm":
- AddCheckConsign();
- break;
- case "Cancel":
- DeleteCheckConsign();
- break;
- case "PrintSample":
- if (ultraTabControl1.SelectedTab.Index == 1)
- {
- RepLimsPortGetSample(ultraGrid6);
- }
- break;
- case "PrintConsign":
- if (ultraTabControl1.SelectedTab.Index == 3)
- {
- RepLimsPortCheckConsignOrder(ultraGrid16);
- }
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- private void FrmMilGetBatchAndSample_Complex_Shown(object sender, EventArgs e)
- {
- if (toolMenu == null) return;
- if (toolMenu.Toolbars[0].Tools.Exists("AddBatch"))
- {
- toolMenu.Toolbars[0].Tools["AddBatch"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("AddSample"))
- {
- this.toolMenu.Toolbars[0].Tools["AddSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
- {
- toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
- {
- toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Cancel"))
- {
- toolMenu.Toolbars[0].Tools["Cancel"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintSample"))
- {
- toolMenu.Toolbars[0].Tools["PrintSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintConsign"))
- {
- toolMenu.Toolbars[0].Tools["PrintConsign"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- }
- private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
- {
- if (toolMenu == null) return;
- if (ultraTabControl1.SelectedTab.Index == 0)//委托
- {
- if (toolMenu.Toolbars[0].Tools.Exists("AddBatch"))
- {
- toolMenu.Toolbars[0].Tools["AddBatch"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("AddSample"))
- {
- this.toolMenu.Toolbars[0].Tools["AddSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
- {
- toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
- {
- //委托确认放在第三个Tab页
- toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Cancel"))
- {
- toolMenu.Toolbars[0].Tools["Cancel"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintSample"))
- {
- toolMenu.Toolbars[0].Tools["PrintSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintConsign"))
- {
- toolMenu.Toolbars[0].Tools["PrintConsign"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- }
- else if (ultraTabControl1.SelectedTab.Index == 1)
- {
- if (toolMenu.Toolbars[0].Tools.Exists("AddBatch"))
- {
- toolMenu.Toolbars[0].Tools["AddBatch"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("AddSample"))
- {
- this.toolMenu.Toolbars[0].Tools["AddSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
- {
- toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
- {
- toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Cancel"))
- {
- toolMenu.Toolbars[0].Tools["Cancel"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintSample"))
- {
- toolMenu.Toolbars[0].Tools["PrintSample"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintConsign"))
- {
- toolMenu.Toolbars[0].Tools["PrintConsign"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- }
- else if (ultraTabControl1.SelectedTab.Index == 2)
- {
- if (toolMenu.Toolbars[0].Tools.Exists("AddBatch"))
- {
- toolMenu.Toolbars[0].Tools["AddBatch"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("AddSample"))
- {
- this.toolMenu.Toolbars[0].Tools["AddSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
- {
- toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
- {
- toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Cancel"))
- {
- toolMenu.Toolbars[0].Tools["Cancel"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintSample"))
- {
- toolMenu.Toolbars[0].Tools["PrintSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintConsign"))
- {
- toolMenu.Toolbars[0].Tools["PrintConsign"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- }
- else if (ultraTabControl1.SelectedTab.Index == 3)
- {
- if (toolMenu.Toolbars[0].Tools.Exists("AddBatch"))
- {
- toolMenu.Toolbars[0].Tools["AddBatch"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("AddSample"))
- {
- this.toolMenu.Toolbars[0].Tools["AddSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Delete"))
- {
- toolMenu.Toolbars[0].Tools["Delete"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Confirm"))
- {
- toolMenu.Toolbars[0].Tools["Confirm"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("Cancel"))
- {
- toolMenu.Toolbars[0].Tools["Cancel"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintSample"))
- {
- toolMenu.Toolbars[0].Tools["PrintSample"].InstanceProps.Visible = DefaultableBoolean.False;
- }
- if (toolMenu.Toolbars[0].Tools.Exists("PrintConsign"))
- {
- toolMenu.Toolbars[0].Tools["PrintConsign"].InstanceProps.Visible = DefaultableBoolean.True;
- }
- }
- }
- //绑定工序下拉框、选择不同的工序显示不同的管号队列
- private void BindProcessDesc()
- {
- Infragistics.Win.ValueList valueList = new Infragistics.Win.ValueList();
- //valueList.ValueListItems.Add("0", "锯切前");//锯切完成 1
- //valueList.ValueListItems.Add("1", "锯切后");
- //valueList.ValueListItems.Add("2", "加热炉");
- //valueList.ValueListItems.Add("3", "穿孔");
- //valueList.ValueListItems.Add("4", "连轧");
- //valueList.ValueListItems.Add("5", "再加热炉");
- //valueList.ValueListItems.Add("6", "定径");
- valueList.ValueListItems.Add("7", "分切前");//在此工序分批 分切表
- valueList.ValueListItems.Add("8", "分切后");//在此工序分批 矫直
- valueList.ValueListItems.Add("9", "矫直");
- valueList.ValueListItems.Add("10", "探伤");
- valueList.ValueListItems.Add("-10", "精整区域");
- valueList.ValueListItems.Add("11", "人工质检");
- ultraSIMPLE_PROCESS.ValueList = valueList;
- ultraSIMPLE_PROCESS.Text = valueList.ValueListItems.GetItem(4).ToString();
- }
- //获取计划基本信息
- private void QueryLotNoAndStoveNo(DataTable dataTable, UltraGrid ultraGrid, string param)
- {
- try
- {
- dataTable.Rows.Clear();
- ArrayList al = portQueryBase1.GetQueryInfo(param);
- //产线、批次号、炉号
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryLotNoAndStoveNo",
- new Object[] { al, PlineCode }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- if (dataTable == dataTable1)
- {
- dataTable2.Rows.Clear();
- dataTable3.Rows.Clear();
- dataTable4.Rows.Clear();
- dataTable5.Rows.Clear();
- }
- else if (dataTable == dataTable6)
- {
- dataTable7.Rows.Clear();
- dataTable8.Rows.Clear();
- dataTable9.Rows.Clear();
- dataTable10.Rows.Clear();
- dataTable10.Columns.Clear();
- }
- else if (dataTable == dataTable11)
- {
- dataTable12.Rows.Clear();//从第四列开始清除
- for (int i = 3; i < dataTable12.Columns.Count; i++)
- {
- dataTable12.Columns.RemoveAt(i);
- }
- dataTable13.Rows.Clear();
- dataTable14.Rows.Clear();
- dataTable15.Rows.Clear();
- }
- else
- {
- dataTable17.Rows.Clear();
- }
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid);//刷新Grid
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- #region 未分批
- private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
- {
- try
- {
- dataTable3.Rows.Clear();
- portMilShowBase1.ShowBaseInfo(ultraGrid1.ActiveRow);
- ArrayList aryList = new ArrayList();
- string strORD_LN_DLY_PK = this.ultraGrid1.ActiveRow.Cells["ORD_LN_DLY_PK"].Text.Trim();
- aryList.Add(strORD_LN_DLY_PK.Substring(0, strORD_LN_DLY_PK.IndexOf('-')-3));
- DataTable ds = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetSampleReq_DesginMaxBathNum", new object[] { aryList }, ob);
- if (ds.Rows.Count > 0)
- {
- portMilShowBase1.StrBATCH_MAX = GetMaxBatchNum(ds).ToString();
- }
- else
- {
- portMilShowBase1.StrBATCH_MAX = "1000";
- }
-
- QueryGetSampleReq_Desgin_Process(portMilShowBase1, ultraGrid1);
- QueryGetSampleReq(portMilShowBase1, ultraGrid1, dataTable4, ultraGrid4);
- QueryPipeNoRack();//获取管号队列
- textChanged();
- GetStartBatch();//获取起始批次号
- InitColumnsSampleReq();//赋值
- }
- catch (Exception ex)
- {
- MessageUtil.ShowWarning(ex.Message);
- }
- }
- private int GetMaxBatchNum(DataTable ds)
- {
- int maxBacthNum = ds.Rows.Cast<DataRow>().Min(a => int.Parse(a["BATCH_CNT"].ToString()));
- return maxBacthNum;
- }
- void TxtBATCH_MAX_TextChanged(object sender, EventArgs e)
- {
- dataTable3.Rows.Clear();
- textChanged();
- }
- private void textChanged()
- {
- if (dataTable2 != null && dataTable2.Rows.Count > 0)
- {
- ultraSTART_PIPE_NO.Text = "";
- if (portMilShowBase1.StrBATCH_MAX == "")
- {
- txtBATCH_MIN.Text = "1";
- }
- else if (portMilShowBase1.StrBATCH_MAX.TryParseInt())
- {
- int maxNum = Convert.ToInt16(portMilShowBase1.StrBATCH_MAX);//分批上限
- if (maxNum <= 0)
- {
- return;
- }
- int resNum = dataTable2.Rows.Count % maxNum;//余数
- int batch = dataTable2.Rows.Count / maxNum;//批数
- txtBATCH_MIN.Text = (resNum == 0 ? batch : batch + 1).ToString();//批数参考
- }
- ultraSTART_PIPE_NO.Text = dataTable2.Rows[0]["SEQ"].ToString().Trim();
- }
- }
- //起始管号变化事件
- private void ultraSTART_PIPE_NO_TextChanged(object sender, EventArgs e)
- {
- ultraEND_PIPE_NO.Text = "";
- if (dataTable2 != null && dataTable2.Rows.Count > 0 && ultraSTART_PIPE_NO.Text.Trim() != "")
- {
- if (portMilShowBase1.StrBATCH_MAX == "")
- {
- ultraEND_PIPE_NO.Text = dataTable2.Rows[dataTable2.Rows.Count - 1]["SEQ"].ToString().Trim();
- }
- else if (portMilShowBase1.StrBATCH_MAX.TryParseInt() == true)
- {
- //结束管号自动变为起始管号+分批上限区间
- DataRow[] start = dataTable2.Select("SEQ = '" + ultraSTART_PIPE_NO.Text.Trim() + "'");//起始管号位置
- if (start == null || start.Length == 0)
- {
- return;
- }
- int startNum = dataTable2.Rows.IndexOf(start[0]);//起始管号位置
- DataTable dt = dataTable2.Clone();
- for (int i = startNum; i < startNum + Convert.ToInt16(portMilShowBase1.StrBATCH_MAX) && i < dataTable2.Rows.Count; i++)
- {
- dt.ImportRow(dataTable2.Rows[i]);
- }
- ultraEND_PIPE_NO.DataSource = dt;
- ultraEND_PIPE_NO.DisplayMember = "SEQ";
- ultraEND_PIPE_NO.ValueMember = "SEQ";
- ultraEND_PIPE_NO.Text = dt.Rows[dt.Rows.Count - 1]["SEQ"].ToString().Trim();
- }
- }
- }
- //取样点变化事件
- private void ultraSIMPLE_PROCESS_TextChanged(object sender, EventArgs e)
- {
- QueryPipeNoRack();
- }
- //人工分批
- private void btnConfirm_Click(object sender, EventArgs e)
- {
- if (txtStartBatch.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("起始批号不能为空!");
- return;
- }
- if (dataTable2 == null || dataTable2.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("没有有效的管号队列不能分批!");
- return;
- }
- if (portMilShowBase1.StrBATCH_MAX != "" && portMilShowBase1.StrBATCH_MAX.TryParseInt() == false)
- {
- MessageUtil.ShowWarning("分批上限不为整数不能人工分批!");
- return;
- }
- if (ultraSTART_PIPE_NO.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("起始管号不能为空!");
- return;
- }
- if (ultraEND_PIPE_NO.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("结束管号不能为空!");
- return;
- }
- if (dataTable3.Rows.Count > 0 && dataTable2.Rows[dataTable2.Rows.Count - 1]["SEQ"].ToString().Trim() == dataTable3.Rows[dataTable3.Rows.Count - 1]["END_SEQ"].ToString().Trim())
- {
- MessageUtil.ShowWarning("分批已经完成不能再分批!");
- return;
- }
- //判断起始和结束管号在不在有效管号区间内
- DataRow[] start = dataTable2.Select("SEQ = '" + ultraSTART_PIPE_NO.Text.Trim() + "'");//起始管号位置
- if (start == null || start.Length == 0)
- {
- MessageUtil.ShowWarning("请选择有效的起始管号!");
- return;
- }
- DataRow[] end = dataTable2.Select("SEQ = '" + ultraEND_PIPE_NO.Text.Trim() + "'");//结束管号位置
- if (end == null || end.Length == 0)
- {
- MessageUtil.ShowWarning("请选择有效的结束管号!");
- return;
- }
- int startNum = dataTable2.Rows.IndexOf(start[0]);//起始管号位置
- int endNum = dataTable2.Rows.IndexOf(end[0]);//结束管号位置
- if (endNum < startNum)
- {
- MessageUtil.ShowWarning("结束管号不能小于起始管号!");
- return;
- }
- if (portMilShowBase1.StrBATCH_MAX != "")
- {
- if (endNum - startNum >= Convert.ToInt16(portMilShowBase1.StrBATCH_MAX))
- {
- MessageUtil.ShowWarning("此批管号数已大于分批上限分批失败!");
- return;
- }
- }
- //判断起始管号有木有等于上一批次的结束管号+1 Convert.ToInt16(txtStartBatch.Text.Trim())
- string strBATCH_NO = (Convert.ToInt16(txtStartBatch.Text.Trim()) + dataTable3.Rows.Count).ToString();//(dataTable3.Rows.Count + 1).ToString().PadLeft(3, '0');
- DataRow dr = dataTable3.NewRow();
- dr["BATCH_NO"] = strBATCH_NO;//规则加批次为批号
- dr["START_PIPE_NO"] = ultraSTART_PIPE_NO.Value.ToString();//开始管号
- dr["START_SEQ"] = ultraSTART_PIPE_NO.Text.Trim();//开始序号 20151030
- dr["END_PIPE_NO"] = ultraEND_PIPE_NO.Value.ToString();//结束管号
- dr["END_SEQ"] = ultraEND_PIPE_NO.Text.Trim();//结束序号
- dr["PIPE_NUM"] = (endNum - startNum + 1).ToString();//有效管数
- dataTable3.Rows.Add(dr);
- GridHelper.RefreshAndAutoSize(ultraGrid3);
- //为批号赋值
- int count = Convert.ToInt32(txtPIPE_SIZE.Text.Trim() == "" ? "0" : txtPIPE_SIZE.Text.Trim());
- for (int i = Convert.ToInt16(ultraSTART_PIPE_NO.Text.Trim()) - 1; i < Convert.ToInt16(ultraEND_PIPE_NO.Text.Trim()); i++)
- {
- ultraGrid2.Rows[i].Cells["BATCH_NO"].Value = strBATCH_NO;
- ultraGrid2.Rows[i].Cells["CHK"].Value = "False";
- ultraGrid2.Rows[i].Cells["SAMPLE_PIPE_LEN"].Value = "";
- if (count > 0)
- {
- ultraGrid2.Rows[i].Cells["CHK"].Value = "True";
- count--;
- }
- }
- //分批完成后起始管号自动等于上一批次结束管号+1
- if (endNum < dataTable2.Rows.Count - 1)
- {
- ultraSTART_PIPE_NO.Text = dataTable2.Rows[endNum + 1]["SEQ"].ToString();//序号 20151030
- }
- ultraGrid2.UpdateData();
- foreach (DataRow dataRow in dataTable3.Rows)
- {
- dataRow["SAMPLE_NUM"] = dataTable2.Select("CHK = 'True' AND BATCH_NO = '" + dataRow["BATCH_NO"].ToString() + "'").Length;
- }
- }
- private void btnAuto_Click(object sender, EventArgs e)
- {
- if (ultraGrid1.ActiveRow == null)
- {
- return;
- }
- if (txtStartBatch.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("起始批号不能为空!");
- return;
- }
- if (dataTable2 == null || dataTable2.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("不存在有效的管号队列不能分批!");
- return;
- }
- dataTable3.Rows.Clear();
-
- int maxNum = portMilShowBase1.StrBATCH_MAX == "" ? dataTable2.Rows.Count : Convert.ToInt16(portMilShowBase1.StrBATCH_MAX);//分批上限
- int resNum = dataTable2.Rows.Count % maxNum;//余数
- int batch = dataTable2.Rows.Count / maxNum;//批数
- int minBatchNo = resNum == 0 ? batch : batch + 1;//最小批数
- int start = Convert.ToInt16(txtStartBatch.Text.Trim());
- int startNum = 1;
- //为批号赋值
- int count = 0, sum = Convert.ToInt32(txtPIPE_SIZE.Text.Trim() == "" ? "0" : txtPIPE_SIZE.Text.Trim());
- for (int i = 0; i < dataTable2.Rows.Count; i += maxNum)
- {
- if (startNum <= minBatchNo)
- {
- //批次号生成规则(start + startNum - 1).ToString().PadLeft(3, '0'),startNum.ToString().PadLeft(3, '0')
- count = sum;
- DataRow dr = dataTable3.NewRow();
- dr["BATCH_NO"] = (start + startNum - 1).ToString();//规则加批次为批号 .PadLeft(3, '0')
- dr["START_PIPE_NO"] = dataTable2.Rows[i]["PIPE_NO"].ToString();//开始管号
- dr["START_SEQ"] = dataTable2.Rows[i]["SEQ"].ToString();
- if (maxNum * startNum > dataTable2.Rows.Count)
- {
- dr["END_PIPE_NO"] = dataTable2.Rows[dataTable2.Rows.Count - 1]["PIPE_NO"].ToString();//结束管号
- dr["END_SEQ"] = dataTable2.Rows[dataTable2.Rows.Count - 1]["SEQ"].ToString();//结束序号
- dr["PIPE_NUM"] = (dataTable2.Rows.Count - i).ToString();//有效管数
- //为批号赋值
- for (int j = i; j < dataTable2.Rows.Count; j++)
- {
- ultraGrid2.Rows[j].Cells["BATCH_NO"].Value = (start + startNum - 1).ToString();//.PadLeft(3, '0')
- ultraGrid2.Rows[j].Cells["CHK"].Value = "False";
- ultraGrid2.Rows[j].Cells["SAMPLE_PIPE_LEN"].Value = "";
- if (count > 0)
- {
- ultraGrid2.Rows[j].Cells["CHK"].Value = "True";
- count--;
- }
- }
- }
- else
- {
- dr["END_PIPE_NO"] = dataTable2.Rows[maxNum * startNum - 1]["PIPE_NO"].ToString();//结束管号
- dr["END_SEQ"] = dataTable2.Rows[maxNum * startNum - 1]["SEQ"].ToString();
- dr["PIPE_NUM"] = maxNum.ToString();//有效管数
- for (int j = i; j < i + maxNum; j++)
- {
- ultraGrid2.Rows[j].Cells["BATCH_NO"].Value = (start + startNum - 1).ToString();//.PadLeft(3, '0')
- ultraGrid2.Rows[j].Cells["CHK"].Value = "False";
- ultraGrid2.Rows[j].Cells["SAMPLE_PIPE_LEN"].Value = "";
- if (count > 0)
- {
- ultraGrid2.Rows[j].Cells["CHK"].Value = "True";
- count--;
- }
- }
- }
- dataTable3.Rows.Add(dr);
- startNum++;
- }
- }
- ultraGrid2.UpdateData();
- foreach (DataRow dataRow in dataTable3.Rows)
- {
- dataRow["SAMPLE_NUM"] = dataTable2.Select("CHK = 'True' AND BATCH_NO = '" + dataRow["BATCH_NO"].ToString() + "'").Length;
- }
- GridHelper.RefreshAndAutoSize(ultraGrid3);
- }
- private void btnCancel_Click(object sender, EventArgs e)
- {
- if (dataTable2 == null || dataTable2.Rows.Count == 0)
- {
- //MessageUtil.ShowWarning("没有有效的管号队列不能分批!");
- return;
- }
- if (dataTable3 == null || dataTable3.Rows.Count == 0 || ultraGrid3.ActiveRow == null || ultraGrid3.ActiveRow.Activated == false)
- {
- MessageUtil.ShowWarning("请选择一条需要删除的性能批号信息!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("您确定删除此条性能批号信息吗?") == DialogResult.Yes)
- {
- //为批号赋值
- for (int i = Convert.ToInt16(ultraGrid3.ActiveRow.Cells["START_SEQ"].Text.Trim()) - 1; i < ultraGrid2.Rows.Count; i++)
- {
- //ultraGrid2.Rows[i].Cells["CHK"].Value = "False";
- //ultraGrid2.Rows[i].Cells["BATCH_NO"].Value = "";
- dataTable2.Rows[i]["CHK"] = "False";
- dataTable2.Rows[i]["BATCH_NO"] = "";
- }
- int startNum = ultraGrid3.ActiveRow.Index;
- int length = dataTable3.Rows.Count;
- //dataTable5的相应信息也需要删除
- if (startNum == 0)
- {
- dataTable3.Rows.Clear();
- }
- else
- {
- for (int i = startNum; i < length; i++)
- {
- dataTable3.Rows.RemoveAt(startNum);
- }
- }
- //取消批数起始管号和结束管号重新赋值
- if (dataTable3.Rows.Count == 0)
- {
- ultraSTART_PIPE_NO.Text = dataTable2.Rows[0]["SEQ"].ToString();
- }
- else
- {
- DataRow[] end = dataTable2.Select("SEQ = '" + dataTable3.Rows[dataTable3.Rows.Count - 1]["END_SEQ"].ToString() + "'");//结束管号位置
- if (end == null || end.Length == 0)
- {
- return;
- }
- int endNum = dataTable2.Rows.IndexOf(end[0]);//结束管号位置
- ultraSTART_PIPE_NO.Text = dataTable2.Rows[endNum + 1]["SEQ"].ToString();//序号 20151030
- }
- }
- }
- //保存分批试样信息
- private void AddBatchSampleInfo()
- {
- try
- {
- if (ultraTabControl1.SelectedTab.Index != 0)
- {
- MessageUtil.ShowWarning("只有在未分批页才能进行完成分批操作!");
- return;
- }
- if (ultraGrid1.ActiveRow == null || dataTable1.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("请选择炉号信息!");
- return;
- }
- if (dataTable3 == null || dataTable3.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("分批没有完成不能进行此操作!");
- return;
- }
- if (dataTable3.Rows.Count < Convert.ToInt16(txtBATCH_MIN.Text.Trim()))
- {
- MessageUtil.ShowWarning("批数太少不符合标准要求!");
- return;
- }
- ultraGrid2.UpdateData();
- //if (ultraGrid1.ActiveRow.Cells["PLINE_CODE"].Text.Trim() != "C017")//产线为460可以不取样
- //{
- //}
- DataRow[] arrBase = dataTable2.Select("CHK = 'True'");
- if (arrBase == null || arrBase.Length == 0)
- {
- //MessageUtil.ShowTips("请勾选样管!");
- if (MessageUtil.ShowYesNoAndQuestion("是否确认完成分批不取样?") == DialogResult.Yes)
- {
- }
- else
- {
- return;
- }
- }
- else
- {
- foreach (DataRow dr in arrBase)
- {
- if (dr["SAMPLE_PIPE_LEN"].ToString() == "")
- {
- MessageUtil.ShowTips("序号" + dr["SEQ"].ToString() + "样管长度不能为空!");
- return;
- }
- else if (dr["SAMPLE_PIPE_LEN"].ToString() == "0")
- {
- MessageUtil.ShowTips("序号" + dr["SEQ"].ToString() + "样管长度不能为0,如此炉不取样则不勾选!");
- return;
- }
- else if (dr["BATCH_NO"].ToString() == "")
- {
- MessageUtil.ShowTips("序号" + dr["SEQ"].ToString() + "批次号不能为空!");
- return;
- }
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认完成分批取样?") == DialogResult.Yes)
- {
- }
- else
- {
- return;
- }
- }
- //if (MessageUtil.ShowYesNoAndQuestion("是否确认完成分批?") == DialogResult.Yes)
- //{
- //往分批表和取样表里面插数据
- ultraGrid3.UpdateData();
- string strID = ultraGrid1.ActiveRow.Cells["ID"].Text.Trim();//id
- string strLOT_NO = ultraGrid1.ActiveRow.Cells["LOT_NO"].Text.Trim();//生产批号
- string strSTOVE_NO = ultraGrid1.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();//炉号
- string strPLINE_CODE = ultraGrid1.ActiveRow.Cells["PLINE_CODE"].Text.Trim();//产线代码
- string strTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
- ArrayList alAll = new ArrayList();
- ArrayList alPlan = new ArrayList();
- ArrayList alPlanParams = new ArrayList();//更改状态位
- alPlanParams.Add("");
- alPlanParams.Add(ultraSIMPLE_PROCESS.Value.ToString());
- alPlanParams.Add(portMilShowBase1.StrBATCH_MAX);//最大批数
- alPlanParams.Add("2");
- alPlanParams.Add("0");
- alPlanParams.Add(strLOT_NO);
- alPlanParams.Add(strSTOVE_NO);//判定炉号
- alPlanParams.Add(strID);
- alPlan.Add(alPlanParams);
- ArrayList alSampleBatch = new ArrayList();//先修改批次号
- ArrayList alSampleBatchParams;//批次号参数PROCESS_CDOE
- foreach (DataRow dr in dataTable2.Rows)
- {
- alSampleBatchParams = new ArrayList();
- alSampleBatchParams.Add(dr["BATCH_NO"].ToString());//性能批号
- alSampleBatchParams.Add(strPLINE_CODE);//产线代码
- alSampleBatchParams.Add(dr["PIPE_NO"].ToString());//材料号
- //alSampleBatchParams.Add(strLOT_NO);
- //alSampleBatchParams.Add(strSTOVE_NO);//判定炉号
- //alSampleBatchParams.Add(strID);
- alSampleBatch.Add(alSampleBatchParams);
- }
- //20160830 屏蔽减去取样重量代码
- //double count = 1;
- //string[] arrSize = ultraGrid1.ActiveRow.Cells["PIPE_SIZE"].Text.Trim().Split('*');
- //double wj = arrSize.Length > 0 && Double.TryParse(arrSize[0], out count) ? Convert.ToDouble(arrSize[0]) : 0;//外径
- //double bh = arrSize.Length > 1 && Double.TryParse(arrSize[1], out count) ? Convert.ToDouble(arrSize[1]) : 0;//壁厚
- ArrayList alSample = new ArrayList();//修改样管信息
- ArrayList alSampleParams;//批次号参数PROCESS_CDOE
- foreach (DataRow dr in dataTable2.Rows)
- {
- alSampleParams = new ArrayList();
- if (dr["CHK"].ToString().ToUpper() == "TRUE")
- {
- alSampleParams.Add("1");//是否样管
- alSampleParams.Add(dr["SAMPLE_PIPE_LEN"].ToString());//样管长度
- alSampleParams.Add(UserInfo.GetUserName());//取样人
- alSampleParams.Add(strTime);//取样时间
- alSampleParams.Add(UserInfo.GetUserOrder());//班次
- alSampleParams.Add(UserInfo.GetUserGroupText());//班组
- //长度、重量
- //alSampleParams.Add("");//长度
- //if (dr["ACT_THEORY_WEIGHT"].ToString() != "" && Double.TryParse(dr["ACT_THEORY_WEIGHT"].ToString(), out count) && Double.TryParse(dr["SAMPLE_PIPE_LEN"].ToString(), out count))
- //{
- // //double b = (Convert.ToDouble(dr["SAMPLE_PIPE_LEN"].ToString()) / 1000);
- // double a = 0.02466 * bh * (wj - bh) * (Convert.ToDouble(dr["SAMPLE_PIPE_LEN"].ToString()) / 1000) / 1000;
- // alSampleParams.Add((Convert.ToDouble(dr["ACT_THEORY_WEIGHT"].ToString()) - (0.02466 * bh * (wj - bh) * (Convert.ToDouble(dr["SAMPLE_PIPE_LEN"].ToString()) / 1000)) / 1000).ToString("f3"));//重量
- //}
- //else
- //{
- // alSampleParams.Add("");
- //}
- alSampleParams.Add(strPLINE_CODE);//产线代码
- alSampleParams.Add(dr["PIPE_NO"].ToString());//材料号
- alSampleParams.Add(strLOT_NO);
- alSampleParams.Add(strSTOVE_NO);//判定炉号
- alSampleParams.Add(strID);
- alSample.Add(alSampleParams);
- }
- }
- //加入取样明细
- ArrayList alSampleNo = new ArrayList();
- ArrayList alSampleNoParams;
- foreach (DataRow dr in dataTable5.Rows)
- {
- foreach (DataRow dRow in dataTable4.Rows)
- {
- if (dr[dRow["SAMPLE_KEY"].ToString()].ToString().IndexOf("√") == 0 && dr[dRow["SAMPLE_KEY"].ToString()].ToString().Remove(0, 1).Trim().Split(' ').Contains(dRow["ROW_INDEX"].ToString()))
- {
- alSampleNoParams = new ArrayList();
- alSampleNoParams.Add(strID);
- alSampleNoParams.Add(strLOT_NO);
- alSampleNoParams.Add(strSTOVE_NO);//判定炉号
- alSampleNoParams.Add(dr["BATCH_NO"].ToString());//性能批号
- alSampleNoParams.Add(dr["PIPE_NO"].ToString());//管号
- alSampleNoParams.Add(dr["SEQ"].ToString());//序号
- alSampleNoParams.Add(dr["DESC_POSITION"].ToString());//取样位置
- alSampleNoParams.Add(dr["XH"].ToString());//序号
- alSampleNoParams.Add(dr["SAMPLE_BARCODE"]);//样品条形码
- alSampleNoParams.Add(dr["SAMPLE_LEN"]);//试样长度20151112
- alSampleNoParams.Add(dRow["PHY_CODE_MAX"].ToString());//
- alSampleNoParams.Add(dRow["PHY_NAME_MAX"].ToString());//
- alSampleNoParams.Add(dRow["PHY_CODE_MIN"].ToString());//
- alSampleNoParams.Add(dRow["PHY_NAME_MIN"].ToString());//
- alSampleNoParams.Add(dRow["SAMPLE_KEY"].ToString());//
- alSampleNoParams.Add(dRow["SAMPLE_KEY_DESC"].ToString());
- alSampleNoParams.Add(dRow["SAMPLE_COUNT"].ToString());//试样数SAMPLE_KEY
- alSampleNoParams.Add(UserInfo.GetUserName());//取样人
- //alSampleNoParams.Add(strTime);//取样时间
- alSampleNoParams.Add(UserInfo.GetUserOrder());//班次
- alSampleNoParams.Add(UserInfo.GetUserGroupText());//班组
- alSampleNoParams.Add("");//备注
- //alSampleNoParams.Add(dRow["ADD_TYPE"].ToString());//数据类型
- //alSampleNoParams.Add(dRow["DATA_TYPE"].ToString());//样品类型
- alSampleNoParams.Add(dr["SAMPLE_NO"].ToString());//序号
- alSampleNo.Add(alSampleNoParams);
- }
- }
- }
- alAll.Add(alPlan);
- //alAll.Add(alBatchNo);
- alAll.Add(alSampleBatch);
- alAll.Add(alSample);
- alAll.Add(alSampleNo);
- string strSampleCode = ultraGrid1.ActiveRow.Cells["SPLINE_DESC"].Text.Trim();//试样号首字母
- PublicServer.SetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.AddBatchSampleInfo",
- new Object[] { alAll, ultraSIMPLE_PROCESS.Value.ToString(), strSampleCode }, this.ob);
- txtPIPE_SIZE.Text = "2";
- dataTable2.Rows.Clear();
- dataTable3.Rows.Clear();
- QueryLotNoAndStoveNo(dataTable1, ultraGrid1, "0");//刷新GRID1
- //PublicPort.ActiveOperateRow(ultraGrid6, new string[] { "LOT_NO", "JUDGE_STOVE_NO" }, new string[] { strLOT_NO, strSTOVE_NO });//定位
- MessageUtil.ShowTips("分批完成!");
- }
- //}
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- //查询管号队列
- private void QueryPipeNoRack()
- {
- try
- {
- if (ultraGrid1.ActiveRow != null && ultraGrid1.ActiveRow.Activated)
- {
- dataTable2.Rows.Clear();
- txtPIPE_NUM.Text = "";
- ArrayList al = new ArrayList();
- //产线、批次号、炉号
- //al.Add(PlineCode);
- al.Add(ultraGrid1.ActiveRow.Cells["LOT_NO"].Text.Trim());
- al.Add(ultraGrid1.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim());
- al.Add(ultraGrid1.ActiveRow.Cells["ID"].Text.Trim());
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryPipeNoRack", new object[] { al, ultraSIMPLE_PROCESS.Value.ToString() }, this.ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable2, true);//把dt复制给dataTable2
- dataTable2.Rows[0]["CHK"] = "True";
- if (dataTable2.Rows.Count > 1)
- {
- dataTable2.Rows[1]["CHK"] = "True";
- }
- GridHelper.RefreshAndAutoSize(ultraGrid2);//刷新Grid
- txtPIPE_NUM.Text = dt.Rows.Count.ToString();//有效管数
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- #endregion
- //查询合同轧制制程是否经过成分和理化
- private void QueryGetSampleReq_Desgin_Process(PortMilShowBase portMilShowBase, UltraGrid ultraGrid)
- {
- try
- {
- portMilShowBase.StrIsChem = "";//初始化数据
- portMilShowBase.StrIsPhy = "";
- ArrayList arrayList = new ArrayList();
- string strORD_LN_DLY_PK = ultraGrid.ActiveRow.Cells["ORD_LN_DLY_PK"].Text.Trim();
- //arrayList.Add(strORD_LN_DLY_PK.Substring(strORD_LN_DLY_PK.IndexOf('-') + 1));
- arrayList.Add(strORD_LN_DLY_PK.Substring(0, strORD_LN_DLY_PK.IndexOf('-')-3));
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetSampleReq_Desgin_Process",
- new Object[] { arrayList }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- foreach (DataRow dr in dt.Rows)
- {
- if (dr["STATION_CODE"].ToString() == "40230" || dr["STATION_DESC"].ToString() == "成品成分")
- {
- portMilShowBase.StrIsChem = "是";
- }
- else
- {
- portMilShowBase.StrIsPhy = "是";
- }
- }
- }
- if (portMilShowBase.StrIsChem != "是")
- {
- MessageUtil.ShowWarning("轧制工序不经过成品成分工序点请注意是否维护有误!");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- //查询取样要求
- //根据冶金规范查找MSC下的取样要求 COM_MSC_STD_PIC - BATCH_LOCA 分批位置 COM_BASE_SAMPLE - BATCH_CNT 每批支数
- //1.通过PLN_ORDER_ZG - PRO_ORDER_NO轧管工序合同号找到交货行号ORD_LN_DLY_PK
- //2.通过ORD_LN_DLY_PK 找到 SLM_ORDER_LINE 里的MSC
- //3.通过MSC找到COM_MSC_STD_PIC 和 COM_MSC_PHY_SAMPLE 里的PIC
- //4.通过PIC找到COM_BASE_SAMPLE 找到 SIC 取样要求
- //根据质量设计查找DESGIN_KEY下的取样要求
- //1.通过PLN_ORDER_ZG - PRO_ORDER_NO轧管工序合同号找到交货行号ORD_LN_DLY_PK , CRAFT_ORD_DESIGN
- //2.通过交货行号ORD_LN_DLY_PK 找到 SLM_ORDER_LINE_DELIVERY里的ORD_LN_PK 通过 ORD_LN_PK 找到CRAFT_ORD_DESIGN里的DESGIN_KEY
- //3.通过DESGIN_KEY 找到 CRAFT_ORD_DESIGN_STD_PIC 里的检验项目
- //4.通过DESGIN_KEY 找到 CRAFT_ORD_DESIGN_STD_PIC_SMP 里的取样要求
- //通过轧管合同号找取样要求
- private void QueryGetSampleReq(PortMilShowBase portMilShowBase, UltraGrid ultraGridSource, DataTable dataTable, UltraGrid ultraGrid)
- {
- try
- {
- dataTable.Rows.Clear();
- ArrayList arrayList = new ArrayList();
- //string strORD_LN_DLY_PK = ultraGridSource.ActiveRow.Cells["ORD_LN_DLY_PK"].Text.Trim();
- ////arrayList.Add(strORD_LN_DLY_PK.Substring(strORD_LN_DLY_PK.IndexOf('-') + 1));
- //arrayList.Add(strORD_LN_DLY_PK.Substring(0, strORD_LN_DLY_PK.IndexOf('-')-3));
- arrayList.Add(ultraGridSource.ActiveRow.Cells["PRO_PLAN_ID"].Text.Trim());
- arrayList.Add(ultraGridSource.ActiveRow.Cells["GX_PLAN_NO"].Text.Trim());
- //以SAMPLE_KEY显示
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetSampleReq_Desgin",
- new Object[] { arrayList }, ob);
- if (dt == null)//|| dt.Rows.Count == 0 无化学取样要求时去掉此条件 C0001_I0001_I0003
- {
- return;
- }
- m_dtSelectPhySampleCode = dt.DefaultView.ToTable(true, "PHY_CODE_MAX", "PHY_NAME_MAX", "PHY_CODE_MIN", "PHY_NAME_MIN");
- m_dtSelectPhyR = dt.Copy();
- m_dtSelectSampleKey = dt.Copy();
- AddColumns(4, m_dtSelectSampleKey, dataTable12);//把选中的大项增加到publicUltraGridDetail1.DataTable
- GridHelper.CopyDataToDatatable(dt, dataTable, true);//把dt复制给dataTable1
- GridHelper.RefreshAndAutoSize(ultraGrid);//刷新Grid
- if (portMilShowBase == portMilShowBase1)
- {
- GetMaxBatchNum(portMilShowBase1, dataTable4, ultraGrid1);
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- //分批方法
- private void GetMaxBatchNum(PortMilShowBase portMilShowBase, DataTable dt, UltraGrid ug)
- {
- if (dt != null && dt.Rows.Count > 0 && dt.Columns.Contains("RATE") && dt.Columns.Contains("DESC_RATE"))
- {
- int num = 0;
- foreach (DataRow dr in dt.Rows)
- {
- if (dr["RATE"].ToString() == "408602" || dr["DESC_RATE"].ToString() == "检验批")
- {
- int BATCH_CNT = dr["BATCH_CNT"].ToString().TryParseInt() ? Convert.ToInt16(dr["BATCH_CNT"].ToString()) : 0;//分批数量
- //分批单位是米或者吨根据每支的重量和长度换算成支
- if (dr["BATCH_UNIT"].ToString() == "米")
- {
- //TARGET_LENGTH 目标长度
- double length = Convert.ToDouble(ug.ActiveRow.Cells["TARGET_LENGTH"].Text.Trim());
- //BATCH_CNT = Convert.ToInt16(BATCH_CNT / length);
- }
- else if (dr["BATCH_UNIT"].ToString() == "吨")
- {
- //num = num <= BATCH_CNT ? num : BATCH_CNT;
- }
- else if (dr["BATCH_UNIT"].ToString() == "支")
- {
- //num = num <= BATCH_CNT ? num : BATCH_CNT;
- }
- num = num == 0 ? BATCH_CNT : num;
- num = num <= BATCH_CNT ? num : BATCH_CNT;
- }
- }
- portMilShowBase.StrBATCH_MAX = num == 0 ? "1000" : num.ToString();
- if (num == 0)
- {
- //MessageUtil.ShowWarning("没有取样频率为检验批的项目默认一炉为一批!");
- }
- }
- }
- //获取起始批号
- private void GetStartBatch()
- {
- string strBatch = ultraGrid1.ActiveRow.Cells["BATCH_INTERVAL"].Text.Trim();
- if (strBatch == "")
- {
- //MessageUtil.ShowWarning("请维护对应产线的性能批号区间!");
- //txtStartBatch.Text = "";//如果批次区间为空则不清除
- return;
- }
- string[] arrBatch = strBatch.Split(';');
- txtStartBatch.Text = arrBatch[0].Split('-')[0];
- }
- //一个检验项目对应一种取样码,一个取样码下面对应多个试样码 试样码分为方向、尺寸不同长和宽不同
- //根据试样码去计算取样的长、宽则根据试样周长、不足的也取一个圆环、少了的加长
- //先计算出取样码 取样个数
- private void InitColumnsSampleReq()
- {
- if (dataTable3.Rows.Count == 0)
- {
- return;
- }
- InitColumnsSampleReqDt(dataTable5, ultraGrid5, dataTable4);
- //先计算出每批A断和B断的最大值
- //然后再增加行
- int numA = 0;
- int numB = 0;
- int numAB = 0;//记录检验批A或B最大有几个
- int numA_ = 0;
- int numB_ = 0;
- int numAB_ = 0;//记录炉A或B最大有几个
- foreach (DataRow dr in dataTable4.Rows)
- {
- if (StringUtil.IsInt(dr["DESC_COUNT"].ToString()))//判断取样数量
- {
- int temp = Convert.ToInt16(dr["DESC_COUNT"].ToString());
- if (dr["DESC_RATE"].ToString() == "检验批")
- {
- if (dr["DESC_POSITION"].ToString() == "A端和B端")
- {
- numA = numA >= temp ? numA : temp;
- numB = numB >= temp ? numB : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "A端或B端")
- {
- numAB = numAB >= temp ? numAB : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "A端")
- {
- numA = numA >= temp ? numA : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "B端")
- {
- numB = numB >= temp ? numB : temp;
- }
- }
- else if (dr["DESC_RATE"].ToString() == "炉")
- {
- if (dr["DESC_POSITION"].ToString() == "A端和B端")
- {
- numA_ = numA_ >= temp ? numA_ : temp;
- numB_ = numB_ >= temp ? numB_ : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "A端或B端")
- {
- numAB_ = numAB_ >= temp ? numAB_ : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "A端")
- {
- numA_ = numA_ >= temp ? numA_ : temp;
- }
- else if (dr["DESC_POSITION"].ToString() == "B端")
- {
- numB_ = numB_ >= temp ? numB_ : temp;
- }
- }
- }
- }
- //A和B相加小于A或B情况下 差的数默认为A端
- if (numA + numB - numAB < 0)
- {
- numA += (numAB - (numA + numB));
- }
- if (numA_ + numB_ - numAB_ < 0)
- {
- numA_ += (numAB_ - (numA_ + numB_));
- }
- //int sum = numA + numB;
- //int sum_ = numA_ + numB_;
- //根据分批实绩自动生成参考取样要求队列区分A、B端
- //1.numA_大于numA*批数则在第一批增加少的样管数numA_ - numA*批数
- //2.numB_大于numB*批数则在第一批增加少的样管数numB_ - numB*批数
- //string row = "";//存放所有样管号判断是否有重复批号+样管号
- //增加所有样管数
- DataRow newDr = dataTable5.NewRow();
- foreach (DataRow dr in dataTable3.Rows)
- {
- //先判断此批
- int pipe_num = 1;
- //第一批赋值A端
- if (dr["BATCH_NO"].ToString() == dataTable3.Rows[0]["BATCH_NO"].ToString())
- {
- if (numA_ > numA * dataTable3.Rows.Count)//判断炉A和检验批A比较
- {
- for (int i = 1; i <= numA + numA_ - numA * dataTable3.Rows.Count; i++)
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "A";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- }
- else
- {
- for (int i = 1; i <= numA; i++)//判断炉A和检验批A比较
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "A";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- }
- //B端
- if (numB_ > numB * dataTable3.Rows.Count)//判断炉B和检验批B比较
- {
- for (int i = 1; i <= numB + numB_ - numB * dataTable3.Rows.Count; i++)
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "B";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- }
- else
- {
- for (int i = 1; i <= numB; i++)
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "B";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- }
- }
- else
- {
- for (int i = 1; i <= numA; i++)
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "A";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- for (int i = 1; i <= numB; i++)
- {
- newDr = dataTable5.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["BATCH_NO"].ToString() + "-" + pipe_num;
- newDr["DESC_POSITION"] = "B";
- dataTable5.Rows.Add(newDr);
- pipe_num++;
- }
- }
- }
- //1计算出每个检验项A,B要多少
- //按炉 如果是A则沿着A端赋值、B则沿着B端赋值、A或B则沿着行随意赋值取样数量
- //按检验批 A则每批沿着A赋值取样数量行、B则每批沿着B赋值取样数量行、A或B则每批沿着行随意赋值取样数量
- string batch = "";//存放批号判断是否从0开始
- int sumA = 0;
- int sumB = 0;
- int sumAB = 0;
- int tempA = 0;
- int tempAB = 0;
- int tempB = 0;
- foreach (DataRow dataRow in dataTable4.Rows)
- {
- batch = "";
- sumA = 0;
- sumB = 0;
- sumAB = 0;
- tempA = 0;
- tempAB = 0;
- tempB = 0;
- if (StringUtil.IsInt(dataRow["DESC_COUNT"].ToString()))//判断取样数量
- {
- int temp = Convert.ToInt16(dataRow["DESC_COUNT"].ToString());
- if (dataRow["DESC_POSITION"].ToString() == "A端")
- {
- sumA += temp;
- }
- else if (dataRow["DESC_POSITION"].ToString() == "B端")
- {
- sumB += temp;
- }
- else if (dataRow["DESC_POSITION"].ToString() == "A端和B端")
- {
- sumA += temp;
- sumB += temp;
- }
- else
- {
- sumAB += temp;//A或B
- }
- if (dataRow["RATE"].ToString() == "408603" || dataRow["DESC_RATE"].ToString() == "炉")
- {
- if (sumAB == 0)//如果取样位置不是A或B
- {
- foreach (DataRow dr in dataTable5.Rows)
- {
- if (sumA <= tempA && sumB <= tempB)
- {
- break;
- }
- //炉取样原来是先优先从每批第一个样管开始 , 现有的从第一根样管开始 直到结束
- if (dr["DESC_POSITION"].ToString() == "A" && sumA > tempA)
- {
- //√加上行序号
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempA++;
- }
- if (dr["DESC_POSITION"].ToString() == "B" && sumB > tempB)
- {
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempB++;
- }
- }
- }
- else
- {
- foreach (DataRow dr in dataTable5.Rows)
- {
- if (sumAB <= tempAB)
- {
- break;
- }
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempAB++;
- }
- }
- }
- else if (dataRow["RATE"].ToString() == "408602" || dataRow["DESC_RATE"].ToString() == "检验批")
- {
- if (sumAB == 0)
- {
- foreach (DataRow dr in dataTable5.Rows)
- {
- if (batch.IndexOf(dr["BATCH_NO"].ToString()) < 0)
- {
- batch += dr["BATCH_NO"].ToString() + " ";//新批次全部置0
- tempA = 0;
- tempB = 0;
- //tempAB = 0;
- }
- if (sumA <= tempA && sumB <= tempB)
- {
- continue;
- }
- if (dr["DESC_POSITION"].ToString() == "A" && sumA > tempA)
- {
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempA++;
- }
- if (dr["DESC_POSITION"].ToString() == "B" && sumB > tempB)
- {
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempB++;
- }
- }
- }
- else
- {
- foreach (DataRow dr in dataTable5.Rows)
- {
- if (batch.IndexOf(dr["BATCH_NO"].ToString()) < 0)
- {
- batch += dr["BATCH_NO"].ToString() + " ";//新批次全部置0
- tempAB = 0;
- }
- if (sumAB <= tempAB)
- {
- continue;
- }
- if (dr[dataRow["SAMPLE_KEY"].ToString()].ToString().Trim() != "")
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] += dataRow["ROW_INDEX"].ToString() + " ";
- }
- else
- {
- dr[dataRow["SAMPLE_KEY"].ToString()] = "√" + dataRow["ROW_INDEX"].ToString() + " ";
- }
- tempAB++;
- }
- }
- }
- }
- }
- //为取样长度赋值 ,计算周长是否超过管的周长
- //一个检验项可能有多个取样码,一个取样码下可能有多个试样码,如果一根样管下的检验项目有多个取样码,则要计算此取样码下所有试样码的长宽
- foreach (DataRow dataRow in dataTable5.Rows)
- {
- int Samplelen = 0;
- int maxPian = 0;//片状试样最大长度
- double SampleWidth = 0;//宽度
- foreach (DataRow dr in dataTable4.Rows)
- {
- if (dataRow[dr["SAMPLE_KEY"].ToString()].ToString().IndexOf("√") == 0)
- {
- string[] arr = dataRow[dr["SAMPLE_KEY"].ToString()].ToString().Remove(0, 1).Trim().Split(' ');
- if (!dr["LENGTH"].ToString().Replace("mm", "").Trim().TryParseInt())
- {
- //dataRow["SAMPLE_LEN"] = dr["DESC_LENGTH"].ToString().Replace("mm", "").Trim();
- break;
- }
- int len = Convert.ToInt32(dr["LENGTH"].ToString().Replace("mm", "").Trim()) * Convert.ToInt32(dr["SAMPLE_COUNT"].ToString());
- if (!arr.Contains(dr["ROW_INDEX"].ToString()))
- {
- continue;
- }
- if (dr["SAMPLE_STYLE"].ToString() == "408101" || dr["DESC_SAMPLE_STYLE"].ToString() == "片状")
- {
- if (len > maxPian)
- {
- maxPian = len;//片长度*样条数len * DESC_COUNT
- }
- SampleWidth += Convert.ToDouble(dr["WIDTH"].ToString() == "" ? "0" : dr["WIDTH"].ToString());
- }
- else
- {
- Samplelen += len;//片加环的长度得出样管长度
- }
- }
- }
- //if(SampleWidth > 2*3.14*)//如果大于管子的周长则需加长样管
- Samplelen += maxPian;
- dataRow["SAMPLE_LEN"] = Samplelen;// +"mm";
- }
- //长度计算新方法,环相加,片长或者宽*样条数,然后计算周长,周长超过外径*壁厚则长度适当增加
- //如何确切知道某一生产批的首炉 炉的和按检验批的依照原来方法进行
- }
- #region 已取样分批
- private void InitColumnsSampleReqDt(DataTable dtSource, UltraGrid ug, DataTable dtData)
- {
- if (dtSource == null || dtData == null || dtData.Rows.Count == 0)
- {
- return;
- }
- dtSource.Rows.Clear();
- dtSource.Columns.Clear();
- //参考取样要求队列
- ArrayList alColumnsSampleReq = new ArrayList();
- alColumnsSampleReq.Add("BATCH_NO");
- alColumnsSampleReq.Add("XH");
- alColumnsSampleReq.Add("PIPE_NO");
- alColumnsSampleReq.Add("SEQ");
- alColumnsSampleReq.Add("DESC_POSITION");
- alColumnsSampleReq.Add("SAMPLE_NO");
- alColumnsSampleReq.Add("SAMPLE_NO_MIN");
- ArrayList alCaptionSampleReq = new ArrayList();
- alCaptionSampleReq.Add("性能批号");
- alCaptionSampleReq.Add("试样序号");
- alCaptionSampleReq.Add("管号");
- alCaptionSampleReq.Add("序号");
- alCaptionSampleReq.Add("取样位置");
- alCaptionSampleReq.Add("样管号");
- alCaptionSampleReq.Add("钢印号");
- foreach (DataRow dr in dtData.Rows)
- {
- if (dr["SAMPLE_KEY"].ToString() != "" && dr["SAMPLE_KEY_DESC"].ToString() != "")
- {
- alColumnsSampleReq.Add(dr["SAMPLE_KEY"].ToString());
- alCaptionSampleReq.Add(dr["SAMPLE_KEY_DESC"].ToString());
- }
- }
- alColumnsSampleReq.Add("SAMPLE_LEN");
- alCaptionSampleReq.Add("取样长度");
- alColumnsSampleReq.Add("SAMPLE_BARCODE");//产线+2年+管号+方向A或B
- alCaptionSampleReq.Add("样管条形码");
- PublicPort.InitColumns(alColumnsSampleReq.ToArray(), alCaptionSampleReq.ToArray(), dtSource);
- PublicPort.setColumnShowOrHidden(ug, new string[] { "XH", "PIPE_NO", "SAMPLE_NO", "SAMPLE_NO_MIN" }, false);
- PublicPort.InitCellPositionRight(ug, new string[] { "SAMPLE_LEN" });
- ug.DisplayLayout.Bands[0].Columns["SEQ"].Width = 60;
- }
- private void InitColumnsSampleStdReq()
- {
- ArrayList arrayList = new ArrayList();
- arrayList.Add(ultraGrid6.ActiveRow.Cells["LOT_NO"].Text.Trim());
- arrayList.Add(ultraGrid6.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim());//条件
- DataTable dtDis = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QuerySampleInfoPhy_Distinct",
- new Object[] { arrayList }, ob);
- if (dtDis == null || dtDis.Rows.Count == 0)
- {
- return;
- }
- InitColumnsSampleReqDt(dataTable10, ultraGrid10, PublicPort.GetSelectDt(dtDis, "SAMPLE_KEY IS NOT NULL", "PHY_CODE_MIN").DefaultView.ToTable(true, "SAMPLE_KEY", "SAMPLE_KEY_DESC"));
- string row = "";//存放所有样管号判断是否有重复样管号
- DataRow newDr = dataTable10.NewRow();
- foreach (DataRow dr in dtDis.Rows)
- {
- if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- {
- row += dr["SAMPLE_NO"].ToString() + " ";
- newDr = dataTable10.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["XH"].ToString();
- newDr["PIPE_NO"] = dr["PIPE_NO"].ToString();
- newDr["SEQ"] = dr["SEQ"].ToString();
- newDr["DESC_POSITION"] = dr["DESC_POSITION"].ToString();//取样位置
- newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- newDr["SAMPLE_NO_MIN"] = dr["SAMPLE_NO_MIN"].ToString();
- newDr["SAMPLE_BARCODE"] = dr["SAMPLE_BARCODE"].ToString();
- newDr["SAMPLE_LEN"] = dr["SAMPLE_LEN"].ToString();
- newDr[dr["SAMPLE_KEY"].ToString()] = "√";
- dataTable10.Rows.Add(newDr);
- }
- else
- {
- newDr[dr["SAMPLE_KEY"].ToString()] = "√";
- }
- }
- PublicPort.setOtherColumnReadOnly(ultraGrid10, null);
- GridHelper.RefreshAndAutoSize(ultraGrid10);
- }
- private void ultraGrid6_AfterRowActivate(object sender, EventArgs e)
- {
- portMilShowBase2.ShowBaseInfo(ultraGrid6.ActiveRow);
- //QueryGetSampleReq_Desgin_Process(portMilShowBase2, ultraGrid6);
- //QueryGetSampleReq(portMilShowBase2, ultraGrid6, dataTable9, ultraGrid9);//获取每批最小支数
- QueryPipeNoRackSample();//查询已取样队列
- QueryBatchSampleInfo();
- //InitColumnsSampleStdReq();//20160829
- //QueryGetSampleReqDetail();//查询检验项目明细
- }
- //查询管号队列
- private void QueryPipeNoRackSample()
- {
- try
- {
- dataTable7.Rows.Clear();
- ArrayList al = new ArrayList();
- //产线、批次号、炉号
- al.Add(ultraGrid6.ActiveRow.Cells["LOT_NO"].Text.Trim());
- al.Add(ultraGrid6.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim());
- al.Add(ultraGrid6.ActiveRow.Cells["ID"].Text.Trim());
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryPipeNoRack", new object[] { al, ultraGrid6.ActiveRow.Cells["SIMPLE_PROCESS"].Text.Trim() }, this.ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- return;
- }
- GridHelper.CopyDataToDatatable(dt, dataTable7, true);//把dt复制给dataTable2
- GridHelper.RefreshAndAutoSize(ultraGrid7);//刷新Grid
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- private void QueryBatchSampleInfo()
- {
- dataTable8.Rows.Clear();
- //查询已录入性能批号+样管号
- string strLOT_NO = ultraGrid6.ActiveRow.Cells["LOT_NO"].Text.Trim();//生产批号
- string strSTOVE_NO = ultraGrid6.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();//炉号
- string strID = ultraGrid6.ActiveRow.Cells["ID"].Text.Trim();//炉号
- ArrayList arrayList = new ArrayList();
- arrayList.Add(strLOT_NO);
- arrayList.Add(strSTOVE_NO);
- arrayList.Add(strID);//条件
- DataTable dtBATCH_NO = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryBatchInfo",
- new Object[] { arrayList }, ob);
- if (dtBATCH_NO == null || dtBATCH_NO.Rows.Count == 0)
- {
- return;
- }
- //portMilShowBase1.UpdateBatchValue(dtBATCH_NO.Rows[0]["BATCH_NAME"].ToString().Trim(), dtBATCH_NO.Rows[0]["BATCH_TIME"].ToString().Trim(), dtBATCH_NO.Rows[0]["BATCH_CLASS"].ToString().Trim());
- GridHelper.CopyDataToDatatable(dtBATCH_NO, dataTable8, true);
- GridHelper.RefreshAndAutoSize(ultraGrid8);
- }
- //删除分批信息
- private void DeleteBatchInfo()
- {
- try
- {
- if (ultraTabControl1.SelectedTab.Index != 1)
- {
- MessageUtil.ShowWarning("只有在已分批取样数据页才能进行删除操作!");
- return;
- }
- if (ultraGrid6.ActiveRow == null || dataTable6.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("请选择需要删除的炉号信息!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认删除分批取样实绩?") == DialogResult.Yes)
- {
- string strID = ultraGrid6.ActiveRow.Cells["ID"].Text.Trim();//id
- string strLOT_NO = ultraGrid6.ActiveRow.Cells["LOT_NO"].Text.Trim();//生产批号
- string strSTOVE_NO = ultraGrid6.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();//炉号
- string strPLINE_CODE = ultraGrid6.ActiveRow.Cells["PLINE_CODE"].Text.Trim();//产线代码
- ArrayList alAll = new ArrayList();
- ArrayList alPlan = new ArrayList();
- ArrayList alPlanParams = new ArrayList();//更改状态位
- alPlanParams.Add("");//检验编号
- alPlanParams.Add("");
- alPlanParams.Add("");//最大批数
- alPlanParams.Add("0");
- alPlanParams.Add("2");
- alPlanParams.Add(strLOT_NO);
- alPlanParams.Add(strSTOVE_NO);//判定炉号
- alPlanParams.Add(strID);
- alPlan.Add(alPlanParams);
- ArrayList alSampleBatch = new ArrayList();//先修改批次号
- ArrayList alSampleBatchParams;//批次号参数PROCESS_CDOE
- foreach (DataRow dr in dataTable7.Rows)
- {
- alSampleBatchParams = new ArrayList();
- alSampleBatchParams.Add("");//性能批号
- alSampleBatchParams.Add(strPLINE_CODE);//产线代码
- alSampleBatchParams.Add(dr["PIPE_NO"].ToString());//材料号
- alSampleBatch.Add(alSampleBatchParams);
- }
- //20160830 取样不减去重量
- //double count = 1;
- //string[] arrSize = ultraGrid6.ActiveRow.Cells["PIPE_SIZE"].Text.Trim().Split('*');
- //double wj = arrSize.Length > 0 && Double.TryParse(arrSize[0], out count) ? Convert.ToDouble(arrSize[0]) : 0;//外径
- //double bh = arrSize.Length > 1 && Double.TryParse(arrSize[1], out count) ? Convert.ToDouble(arrSize[1]) : 0;//壁厚
- ArrayList alSample = new ArrayList();//修改样管信息
- ArrayList alSampleParams;//批次号参数PROCESS_CDOE
- foreach (DataRow dr in dataTable7.Rows)
- {
- alSampleParams = new ArrayList();
- if (dr["CHK"].ToString().ToUpper() == "TRUE")
- {
- alSampleParams.Add("0");//是否样管
- alSampleParams.Add("");//样管长度
- alSampleParams.Add("");//取样人
- alSampleParams.Add("");//取样时间
- alSampleParams.Add("");//班次
- alSampleParams.Add("");//班组
- //长度、重量
- //alSampleParams.Add("");//长度
- //if (Double.TryParse(dr["ORDER_LENGTH"].ToString(), out count))
- //{
- // alSampleParams.Add((0.02466 * bh * (wj - bh) * (Convert.ToDouble(dr["ORDER_LENGTH"].ToString()) / 1000)).ToString("f3"));//重量
- //}
- //else
- //{
- // alSampleParams.Add("");
- //}
- alSampleParams.Add(strPLINE_CODE);//产线代码
- alSampleParams.Add(dr["PIPE_NO"].ToString());//材料号
- alSampleParams.Add(strLOT_NO);
- alSampleParams.Add(strSTOVE_NO);//判定炉号
- alSampleParams.Add(strID);
- alSample.Add(alSampleParams);
- }
- }
- alAll.Add(alPlan);
- //alAll.Add(alBatchNo);
- alAll.Add(alSampleBatch);
- alAll.Add(alSample);
- PublicServer.SetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.DeleteBatchInfo",
- new Object[] { alAll, ultraGrid6.ActiveRow.Cells["SIMPLE_PROCESS"].Text.Trim(), strSTOVE_NO, strID }, ob);
- QueryLotNoAndStoveNo(dataTable6, ultraGrid6, "12");//刷新GRID1
- PublicPort.ActiveOperateRow(ultraGrid1, new string[] { "LOT_NO", "JUDGE_STOVE_NO" }, new string[] { strLOT_NO, strSTOVE_NO });//定位
- MessageUtil.ShowTips("分批取样实绩删除成功!");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- #endregion
- private void ultraGrid2_CellChange(object sender, CellEventArgs e)
- {
- ultraGrid2.UpdateData();
- if (e.Cell.Column.Key == "CHK")// && e.Cell.Text == "True" && e.Cell.Row.Cells["ISVALID"].Text == "否"
- {
- if (e.Cell.Row.Cells["ISVALID"].Text == "否")
- {
- e.Cell.Value = "False";
- }
- else
- {
- foreach (DataRow dr in dataTable3.Rows)
- {
- if (e.Cell.Row.Cells["BATCH_NO"].Text == dr["BATCH_NO"].ToString())
- {
- dr["SAMPLE_NUM"] = dataTable2.Select("CHK = 'True' AND BATCH_NO = '" + e.Cell.Row.Cells["BATCH_NO"].Text + "'").Length;
- return;
- }
- }
- }
- }
- else if (e.Cell.Column.Key == "SAMPLE_PIPE_LEN" && e.Cell.Text.Trim() != "" && !StringUtil.IsInt(e.Cell.Text.Trim()))
- {
- MessageUtil.ShowTips("样管长度必须为整数!");
- e.Cell.Value = "";
- }
- }
- private void txtPIPE_SIZE_TextChanged(object sender, EventArgs e)
- {
- if (txtPIPE_SIZE.Text.Trim() != "" && !StringUtil.IsNumber(txtPIPE_SIZE.Text.Trim()))
- {
- MessageUtil.ShowTips("每批样管数只能为整数!");
- txtPIPE_SIZE.Text = "2";
- return;
- }
- }
- private void btnAddSampleAll_Click(object sender, EventArgs e)
- {
- if (dataTable2 != null && dataTable2.Rows.Count > 0 && dataTable3.Rows.Count > 0 && dataTable5 != null)// && dataTable5.Rows.Count > 0
- {
- ultraGrid2.UpdateData();
- InitColumnsSampleReq();
- ValueList vlMin = PublicPort.GeneralValuelist(ref dataTable2, "PIPE_NO", "SEQ");
- ultraGrid5.DisplayLayout.Bands[0].Columns["PIPE_NO"].ValueList = vlMin;
- //先获取每一批次要取多少样 A\B端分别要取多少个样
- int i = 0;
- int j = 0;
- foreach (DataRow dr in dataTable3.Rows)
- {
- i = 0;
- DataRow[] arrDataRowA = dataTable5.Select("BATCH_NO = '" + dr["BATCH_NO"].ToString() + "' AND DESC_POSITION = 'A'");
- DataRow[] arrDataRowB = dataTable5.Select("BATCH_NO = '" + dr["BATCH_NO"].ToString() + "' AND DESC_POSITION = 'B'");
- int num = Convert.ToInt16(dr["PIPE_NUM"].ToString());
- DataRow[] arrDr = dataTable2.Select("BATCH_NO = '" + dr["BATCH_NO"].ToString() + "'", "SEQ");
- if (arrDr == null || arrDr.Length == 0)
- {
- continue;
- }
- int index = dataTable2.Rows.IndexOf(arrDr[0]);
- if (arrDataRowA.Length + arrDataRowB.Length <= num)//如果AB端之和小于等于此批支数
- {
- foreach (DataRow drs in dataTable5.Rows)
- {
- if (dr["BATCH_NO"].ToString() != drs["BATCH_NO"].ToString())
- {
- continue;
- }
- j++;
- drs["PIPE_NO"] = dataTable2.Rows[index + i]["PIPE_NO"].ToString();//管号
- //drs["PIPE_NO"] = dataTable2.Rows[index + i]["SEQ"].ToString();//管号
- drs["SEQ"] = dataTable2.Rows[index + i]["SEQ"].ToString();//序号
- drs["SAMPLE_NO"] = j;//样管号
- drs["SAMPLE_BARCODE"] = ultraGrid1.ActiveRow.Cells["PLINE_CODE"].Text.Trim() + DateTime.Now.Year.ToString().Substring(2) + dataTable2.Rows[index + i]["PIPE_NO"].ToString() + drs["DESC_POSITION"];
- i++;
- }
- }
- else
- {
- foreach (DataRow drs in dataTable5.Rows)
- {
- if (dr["BATCH_NO"].ToString() != drs["BATCH_NO"].ToString())
- {
- continue;
- }
- j++;
- drs["PIPE_NO"] = dataTable2.Rows[index + i]["PIPE_NO"].ToString();//管号
- //drs["PIPE_NO"] = dataTable2.Rows[index + i]["SEQ"].ToString();//管号
- drs["SEQ"] = dataTable2.Rows[index + i]["SEQ"].ToString();//序号
- drs["SAMPLE_NO"] = j;//样管号
- drs["SAMPLE_BARCODE"] = ultraGrid1.ActiveRow.Cells["PLINE_CODE"].Text.Trim() + DateTime.Now.Year.ToString().Substring(2) + dataTable2.Rows[index + i]["PIPE_NO"].ToString() + drs["DESC_POSITION"];
- i++;
- if (i >= num)
- {
- i = 0;
- }
- }
- }
- }
- PublicPort.RefreshAndAutoSizeColumns(ultraGrid5, new string[] { "SEQ" }, false);//刷新Grid
- }
- }
- private void btnFindSampleReq_Click(object sender, EventArgs e)
- {
- if (splitContainer2.Panel1Collapsed)
- {
- splitContainer2.Panel1Collapsed = false;
- }
- else
- {
- splitContainer2.Panel1Collapsed = true; ;
- }
- }
- private void ultraGrid5_AfterRowActivate(object sender, EventArgs e)
- {
- if (dataTable2 == null || dataTable2.Rows.Count == 0)
- {
- return;
- }
- UltraGridRow ugr = ultraGrid5.ActiveRow;
- DataTable dt = PublicPort.GetSelectDt(dataTable2, "BATCH_NO = '" + ugr.Cells["BATCH_NO"].Text + "' AND ISVALID = '是'");
- DataRow drs = dt.NewRow();
- drs["SEQ"] = "";
- drs["PIPE_NO"] = "";
- dt.Rows.Add(drs);
- ValueList vlMin = PublicPort.GeneralValuelist(ref dt, "PIPE_NO", "SEQ");
- ugr.Cells["SEQ"].ValueList = vlMin;
- }
- private void ultraGrid5_CellChange(object sender, CellEventArgs e)
- {
- if (e.Cell.Column.Key == "SEQ" && e.Cell.Text != "")
- {
- ultraGrid5.Update();
- ultraGrid5.UpdateData();
- e.Cell.Row.Cells["PIPE_NO"].Value = e.Cell.Value.ToString();
- e.Cell.Value = e.Cell.Text.Trim();
- foreach (DataRow dr in dataTable5.Rows)
- {
- if (dr["XH"].ToString() != e.Cell.Row.Cells["XH"].Text)
- {
- //如果存在相同的管号和AB端
- if (dr["SEQ"].ToString() == e.Cell.Row.Cells["SEQ"].Value.ToString() && dr["DESC_POSITION"].ToString() == e.Cell.Row.Cells["DESC_POSITION"].Text)
- {
- e.Cell.Value = "";
- e.Cell.Row.Cells["PIPE_NO"].Value = "";
- MessageUtil.ShowWarning("已存在相同的管号和取样位置请重新选择!");
- return;
- }
- }
- }
- ultraGrid5.DataBind();
- }
- }
- private void txtStartBatch_TextChanged(object sender, EventArgs e)
- {
- if (txtStartBatch.Text.Trim() != "" && !StringUtil.IsNumber(txtStartBatch.Text.Trim()))
- {
- MessageUtil.ShowTips("起始批号只能为整数!");
- txtStartBatch.Text = "";
- return;
- }
- }
- private void btnRefresh_Click(object sender, EventArgs e)
- {
- if (ultraGrid1.ActiveRow == null)
- {
- return;
- }
- if (txtStartBatch.Text.Trim() == "")
- {
- MessageUtil.ShowWarning("起始批号不能为空!");
- return;
- }
- if (dataTable2 == null || dataTable2.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("不存在有效的管号队列不能分批!");
- return;
- }
- ultraGrid3.UpdateData();
- if (dataTable3 == null || dataTable3.Rows.Count == 0)
- {
- //MessageUtil.ShowWarning("不存在有效的管号队列不能分批!");
- return;
- }
- int count = 0, sum = Convert.ToInt32(txtPIPE_SIZE.Text.Trim() == "" ? "0" : txtPIPE_SIZE.Text.Trim());
- foreach (DataRow dr in dataTable3.Rows)
- {
- count = sum;
- int start = Convert.ToInt16(dr["START_SEQ"].ToString());
- int end = Convert.ToInt16(dr["END_SEQ"].ToString());
- for (int j = start - 1; j < end; j++)
- {
- ultraGrid2.Rows[j].Cells["BATCH_NO"].Value = dr["BATCH_NO"].ToString();
- ultraGrid2.Rows[j].Cells["CHK"].Value = "False";
- ultraGrid2.Rows[j].Cells["SAMPLE_PIPE_LEN"].Value = "";
- if (count > 0)
- {
- ultraGrid2.Rows[j].Cells["CHK"].Value = "True";
- count--;
- }
- }
- }
- }
- private void btnSampleLength_Click(object sender, EventArgs e)
- {
- if (dataTable3.Rows.Count > 0)
- {
- ultraGrid5.UpdateData();
- if (dataTable5.Rows.Count > 0)
- {
- DataRow[] arrDr;
- foreach (DataRow dr in dataTable2.Rows)
- {
- arrDr = dataTable5.Select("BATCH_NO = '" + dr["BATCH_NO"].ToString() + "' AND SEQ = '" + dr["SEQ"].ToString() + "'");
- if (arrDr != null && arrDr.Length > 0)
- {
- dr["CHK"] = "True";//SAMPLE_PIPE_LEN
- dr["SAMPLE_PIPE_LEN"] = arrDr[0]["SAMPLE_LEN"].ToString();
- }
- else
- {
- dr["CHK"] = "False";
- dr["SAMPLE_PIPE_LEN"] = "";
- }
- }
- }
- else
- {
- foreach (DataRow dr in dataTable2.Rows)
- {
- dr["CHK"] = "False";
- dr["SAMPLE_PIPE_LEN"] = "";
- }
- }
- }
- else
- {
- dataTable5.Rows.Clear();
- foreach (DataRow dr in dataTable2.Rows)
- {
- dr["CHK"] = "False";
- dr["SAMPLE_PIPE_LEN"] = "";
- dr["BATCH_NO"] = "";
- }
- }
- }
- private void btnFindSampleStdReq_Click(object sender, EventArgs e)
- {
- if (splitContainer4.Panel1Collapsed)
- {
- splitContainer4.Panel1Collapsed = false;
- }
- else
- {
- splitContainer4.Panel1Collapsed = true; ;
- }
- }
- private void btnFindBatch_Click(object sender, EventArgs e)
- {
- if (splitContainer3.Panel1Collapsed)
- {
- splitContainer3.Panel1Collapsed = false;
- }
- else
- {
- splitContainer3.Panel1Collapsed = true; ;
- }
- }
- private void InitColumnsSampleConsign()
- {
- ArrayList arrayList = new ArrayList();
- arrayList.Add(ultraGrid11.ActiveRow.Cells["LOT_NO"].Text.Trim());
- arrayList.Add(ultraGrid11.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim());//条件
- DataTable dtDis = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QuerySampleInfoPhy_Distinct",
- new Object[] { arrayList }, ob);
- if (dtDis == null || dtDis.Rows.Count == 0)
- {
- return;
- }
- InitColumnsSampleReqDt(dataTable12, ultraGrid12, PublicPort.GetSelectDt(dtDis, "SAMPLE_KEY IS NOT NULL", "PHY_CODE_MIN").DefaultView.ToTable(true, "SAMPLE_KEY", "SAMPLE_KEY_DESC"));
- string row = "";//存放所有样管号判断是否有重复样管号
- DataRow newDr = dataTable12.NewRow();
- foreach (DataRow dr in dtDis.Rows)
- {
- if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- {
- row += dr["SAMPLE_NO"].ToString() + " ";
- newDr = dataTable12.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["XH"] = dr["XH"].ToString();
- newDr["PIPE_NO"] = dr["PIPE_NO"].ToString();
- newDr["SEQ"] = dr["SEQ"].ToString();
- newDr["DESC_POSITION"] = dr["DESC_POSITION"].ToString();//取样位置
- newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- newDr["SAMPLE_NO_MIN"] = dr["SAMPLE_NO_MIN"].ToString();
- newDr["SAMPLE_BARCODE"] = dr["SAMPLE_BARCODE"].ToString();
- newDr["SAMPLE_LEN"] = dr["SAMPLE_LEN"].ToString();
- newDr[dr["SAMPLE_KEY"].ToString()] = "√";
- dataTable12.Rows.Add(newDr);
- }
- else
- {
- newDr[dr["SAMPLE_KEY"].ToString()] = "√";
- }
- }
- PublicPort.setOtherColumnReadOnly(ultraGrid12, null);
- GridHelper.RefreshAndAutoSize(ultraGrid12);
- }
- //取样单
- private void RepLimsPortGetSample(UltraGrid ultraGrid)
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;
- UltraGridRow ugr = ultraGrid.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择您要打印的炉号!");
- return;
- }
- string strID = ugr.Cells["ID"].Text.Trim();
- string strLOT_NO = ugr.Cells["LOT_NO"].Text.Trim();
- string strJUDGE_STOVE_NO = ugr.Cells["JUDGE_STOVE_NO"].Text.Trim();
- string strurl = "";
- //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
- //{
- // strurl = "http://localhost:8075/WebReport/ReportServer?reportlet=RepLimsPortGetSample.cpt&bypagesize=false" + "&ID=" + strID + "&LOT_NO=" + strLOT_NO + "&JUDGE_STOVE_NO=" + strJUDGE_STOVE_NO;
- //}
- //else
- //{
- strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPortGetSample.cpt&bypagesize=false" + "&ID=" + strID + "&LOT_NO=" + strLOT_NO + "&JUDGE_STOVE_NO=" + strJUDGE_STOVE_NO;
- //}
- FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
- fBug.AutoSize = true;
- fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
- fBug.WindowState = FormWindowState.Maximized;
- fBug.Text = "取样计划单";
- fBug.Show();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- //检验委托单
- private void RepLimsPortCheckConsignOrder(UltraGrid ultraGrid)
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;
- UltraGridRow ugr = ultraGrid.ActiveRow;
- if (ugr == null)
- {
- MessageUtil.ShowWarning("请选择您要打印的炉号!");
- return;
- }
- string strID = ugr.Cells["ID"].Text.Trim();
- string strLOT_NO = ugr.Cells["LOT_NO"].Text.Trim();
- string strJUDGE_STOVE_NO = ugr.Cells["JUDGE_STOVE_NO"].Text.Trim();
- string checkNo = ugr.Cells["CHECK_NO"].Text.Trim();
- string strurl = "";
- //if (ob.MainUrl.StartsWith("http://127.0.0.1"))
- //{
- // strurl = "http://localhost:8075/WebReport/ReportServer?reportlet=RepLimsPortCheckConsignOrder.cpt&bypagesize=false" + "&ID=" + strID + "&LOT_NO=" + strLOT_NO + "&JUDGE_STOVE_NO=" + strJUDGE_STOVE_NO;
- //}
- //else
- //{
- strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepLimsPortCheckConsignOrder.cpt&&format=pdf&__embed__=true" + "&CHECK_NO=" + checkNo;
- //}
- FrmRepExcel fBug = new FrmRepExcel(ob, strurl);
- fBug.AutoSize = true;
- fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
- fBug.WindowState = FormWindowState.Maximized;
- fBug.Text = "检验委托单";
- fBug.Show();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- #region 未委托数据页
- private void ultraGrid11_AfterRowActivate(object sender, EventArgs e)
- {
- string blType = "";
- portMilShowBase3.ShowBaseInfo(ultraGrid11.ActiveRow);
- QuerySampleInfo();
- if (ultraGrid11.ActiveRow.Cells["ORD_LN_DLY_PK"].Text.Trim() == "")
- {
- dataTable13.Rows.Clear();
- dataTable14.Rows.Clear();
- dataTable15.Rows.Clear();
- return;
- }
- //QueryGetSampleReq_Desgin_Process(portMilShowBase3, ultraGrid11);//查询工序点是否经过成分和理化
- blType = doQueryBltype(ultraGrid11.ActiveRow.Cells["PRO_PLAN_ID"].Text.Trim(), ultraGrid11.ActiveRow.Cells["GX_PLAN_NO"].Text.Trim());
- QueryGetSampleReqDetail();//查询理化项目明细和成分项目明细
- QueryGetSampleReq(portMilShowBase3, ultraGrid11, dataTable14, ultraGrid14);//通过轧管合同号找取样要求
- }
- /// <summary>
- /// 查询备料类型
- /// </summary>
- /// <returns></returns>
- private string doQueryBltype(string proPlanId,string gxPlanNo)
- {
- string bltype = "";
- DataTable ds = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.doQueryBltype", new object[] { proPlanId, gxPlanNo }, ob);
- if (ds.Rows.Count > 0)
- {
- bltype = ds.Rows[0]["BLTYPE"].ToString();
- }
- return bltype;
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- switch (e.Tool.Key.ToString())
- {
- case "AddPhy":
- AddPhyItems();
- break;
- }
- }
- //增加理化检验项目
- private void AddPhyItems()
- {
- FrmBaseSelectItems _selectItems = new FrmBaseSelectItems(this.ob);//0810
- _selectItems.DtSelectPhySampleCode = m_dtSelectPhySampleCode;
- _selectItems.DtSelectPhyMin = m_dtSelectPhyMin;
- _selectItems.DtSelectPhyR = m_dtSelectPhyR;
- _selectItems.DtSelectSampleKey = m_dtSelectSampleKey;
- _selectItems.ShowDialog();
- //!!!PHY_CODE_MIN 检验大项 PHY_CODE_MAX 试样组 PHY_CODE检验报出项
- m_dtSelectPhySampleCode = _selectItems.DtSelectPhySampleCode;//PHY_CODE_MAX C0001 PHY_CODE_MIN R0001
- m_dtSelectPhyMin = _selectItems.DtSelectPhyMin;//PHY_CODE_MAX C0001 PHY_CODE_MIN R0001 PHY_CODE P0001
- m_dtSelectPhyR = _selectItems.DtSelectPhyR;//PHY_CODE_MAX C0001 PHY_CODE_MIN R0001 ITEM_CODE_F ITEM_CODE_W ITEM_CODE_C
- m_dtSelectSampleKey = _selectItems.DtSelectSampleKey;//PHY_CODE_MAX C0001 PHY_CODE_MIN R0001 SAMPLE_KEY ITEM_CODE_F ITEM_CODE_W ITEM_CODE_C
- AddColumns(4, m_dtSelectSampleKey, dataTable12);//把选中的大项增加到publicUltraGridDetail1.DataTable
- }
- /// <summary>
- /// 增加列
- /// </summary>
- /// <param name="dt"></param>源DataTable
- /// <param name="dataTable"></param>需要增加的DataTable
- public void AddColumns(int startNum, DataTable dt, DataTable dataTable)
- {
- if (dt != null && dt.Rows.Count > 0)
- {
- ultraGrid12.UpdateData();
- int dcNum = dataTable.Columns.Count;//清除列
- if (dcNum > startNum)//判断此列是否为空,如果不为空则不清除
- {
- bool isClear;
- string strClear = "";//需要清除列拼接
- foreach (DataColumn dCol in dataTable.Columns)
- {
- if (dataTable.Columns.IndexOf(dCol) < startNum)
- {
- continue;
- }
- isClear = true;
- foreach (DataRow drR in dt.Rows)
- {
- //20151118 PHY_CODE_MAX 换成SAMPLE_KEY
- if (drR["SAMPLE_KEY"].ToString() == dCol.ColumnName)
- {
- isClear = false;
- break;
- }
- }
- if (isClear == true)
- {
- strClear += dCol.ColumnName + " ";
- //break;
- }
- }
- if (strClear != "")
- {
- string[] arr = strClear.Split(' ');
- for (int i = 0; i < arr.Length - 1; i++)
- {
- if (dataTable.Columns.Contains(arr[i]))
- {
- dataTable.Columns.Remove(arr[i]);
- }
- }
- }
- }
- DataColumn dc;
- foreach (DataRow dr in dt.Rows)//增加列
- {
- try
- {
- //dc = new DataColumn(dr["PHY_CODE_MAX"].ToString());
- //dc.Caption = dr["PHY_NAME_MAX"].ToString();
- dc = new DataColumn(dr["SAMPLE_KEY"].ToString());
- dc.Caption = dr["SAMPLE_KEY_DESC"].ToString();
- dataTable.Columns.Add(dc);
- }
- catch
- {
- continue;
- }
- }
- }
- else
- {
- for (int i = startNum; i < dataTable12.Columns.Count; i++)
- {
- dataTable12.Columns.RemoveAt(i);
- }
- }
- ultraGrid12.DataBind();//dataTable发生变化提交给ultraGrid
- GridHelper.RefreshAndAutoSize(ultraGrid12);
- }
- //自适应
- private void RefreshAutoSize(int num)
- {
- if (num < 0)
- {
- return;
- }
- //ultraGrid12.DisplayLayout.Bands[0].Columns[0].Width = 80;
- for (int i = num; i < ultraGrid12.DisplayLayout.Bands[0].Columns.Count; i++)
- {
- ultraGrid12.DisplayLayout.Bands[0].Columns[i].Width = 60;//设置列宽
- }
- }
- private void QuerySampleInfo()
- {
- try
- {
- dataTable12.Rows.Clear();
- //查询已录入性能批号+样管号
- string strLOT_NO = ultraGrid11.ActiveRow.Cells["LOT_NO"].Text.Trim();//生产批号
- string strSTOVE_NO = ultraGrid11.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();//炉号
- string strID = ultraGrid11.ActiveRow.Cells["ID"].Text.Trim();//炉号
- ArrayList arrayList = new ArrayList();
- arrayList.Add(strLOT_NO);
- arrayList.Add(strSTOVE_NO);
- arrayList.Add(strID);//条件
- DataTable dtBATCH_NO = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QuerySampleInfo",
- new Object[] { arrayList }, ob);
- if (dtBATCH_NO == null || dtBATCH_NO.Rows.Count == 0)
- {
- return;
- }
- GridHelper.CopyDataToDatatable(dtBATCH_NO, dataTable12, true);
- GridHelper.RefreshAndAutoSize(ultraGrid12);
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- private void ultraGrid12_ClickCell(object sender, ClickCellEventArgs e)
- {
- if (e.Cell.Column.Key != "BATCH_NO" && e.Cell.Column.Key != "PIPE_NO" && e.Cell.Column.Key != "SAMPLE_PIPE_LEN")
- {
- if (e.Cell.Text.Trim() == "")
- {
- e.Cell.Value = "√";
- }
- else
- {
- e.Cell.Value = "";
- }
- }
- }
- //查询成分和理化是否监制
- private string[] QueryGetPrdceReq()
- {
- string[] arr = new string[2];
- try
- {
- ArrayList arrayList = new ArrayList();
- string strCONTRACT_NO = ultraGrid11.ActiveRow.Cells["CONTRACT_NO"].Text.Trim();
- arrayList.Add(strCONTRACT_NO.Substring(strCONTRACT_NO.IndexOf('/') + 1).PadLeft(3, '0'));
- arrayList.Add(strCONTRACT_NO.Substring(0, strCONTRACT_NO.IndexOf('/')));
- DataTable dt = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetPrdceReq",
- new Object[] { arrayList }, ob);
- if (dt != null && dt.Rows.Count > 0)
- {
- foreach (DataRow dr in dt.Rows)
- {
- if (dr["STATION_CODE"].ToString() == "40230" || dr["STATION_DESC"].ToString() == "成品成分")
- {
- arr[0] = "监制";
- }
- else
- {
- arr[1] = "监制";
- }
- }
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- return arr;
- }
- //查询理化项目明细和成分项目明细
- private void QueryGetSampleReqDetail()
- {
-
- try
- {
- ArrayList arrayList = new ArrayList();
- ArrayList aryList = new ArrayList();
- //string strORD_LN_DLY_PK = ultraGrid11.ActiveRow.Cells["ORD_LN_DLY_PK"].Text.Trim();
- ////arrayList.Add(strORD_LN_DLY_PK.Substring(strORD_LN_DLY_PK.IndexOf('-') + 1));
- //arrayList.Add(strORD_LN_DLY_PK.Substring(0, strORD_LN_DLY_PK.IndexOf('-')-3));
- //string gradeName = ultraGrid11.ActiveRow.Cells["GRADENAME"].Text.Trim();
- //aryList.Add(gradeName);
- //aryList.Add(strORD_LN_DLY_PK.Substring(0, strORD_LN_DLY_PK.IndexOf('-') - 3));
- string proPlanId = ultraGrid11.ActiveRow.Cells["PRO_PLAN_ID"].Text.Trim();
- string gxPlanNo = ultraGrid11.ActiveRow.Cells["GX_PLAN_NO"].Text.Trim();
- aryList.Add(proPlanId);
- aryList.Add(gxPlanNo);
- arrayList.Add(proPlanId);
- arrayList.Add(gxPlanNo);
- DataTable dtChem = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetSampleReqDetail_Chem",
- new Object[] { aryList }, ob);
- DataColumn dc;
- if (dtChem == null || dtChem.Rows.Count == 0)
- {
- dataTable13.Rows.Clear();
- this.ultraGrid12.DisplayLayout.Bands[0].Columns["HX"].Hidden = true;
- }
- else
- {
- this.ultraGrid12.DisplayLayout.Bands[0].Columns["HX"].Hidden = false;
- }
- GridHelper.CopyDataToDatatable(dtChem, dataTable13, true);
- GridHelper.RefreshAndAutoSize(ultraGrid13);
- DataTable dtPhy = PublicServer.GetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.QueryGetSampleReqDetail_Phy",
- new Object[] { arrayList }, ob);
- if (dtPhy == null || dtPhy.Rows.Count == 0)
- {
- dataTable15.Rows.Clear();
- if (m_dtSelectPhySampleCode != null)
- {
- m_dtSelectPhySampleCode.Rows.Clear();
- }
- if (m_dtSelectPhyMin != null)
- {
- m_dtSelectPhyMin.Rows.Clear();
- }
- if (m_dtSelectPhyR != null)
- {
- m_dtSelectPhyR.Rows.Clear();
- }
- if (m_dtSelectSampleKey != null)
- {
- m_dtSelectSampleKey.Rows.Clear();
- }
- for (int i = 4; i < dataTable12.Columns.Count; i++)
- {
- dataTable12.Columns.RemoveAt(i);//删除多余的列
- }
- return;
- }
- GridHelper.CopyDataToDatatable(dtPhy, dataTable15, true);
- GridHelper.RefreshAndAutoSize(ultraGrid15);
- m_dtSelectPhyMin = dtPhy.Copy();//查询出的检验项只赋值已选择检验项
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- }
- }
- //获取检验委托基本信息
- public ArrayList GetCheckConsignBase(UltraGrid ultraGrid, string strJZ)
- {
- ArrayList al = new ArrayList();
- al.Add(ultraGrid.ActiveRow.Cells["LOT_NO"].Text.Trim());//LOT_NO
- al.Add(ultraGrid.ActiveRow.Cells["STOVE_NO"].Text.Trim());//STOVE_NO
- al.Add(ultraGrid.ActiveRow.Cells["PLINE_CODE"].Text.Trim());//HEAT_NO
- al.Add(ultraGrid.ActiveRow.Cells["JUDGE_STOVE_NO_DESC"].Text.Trim());//HEAT_NO
- al.Add(ultraGrid.ActiveRow.Cells["STEELNAME"].Text.Trim());//钢级 STEEL_GRADE
- al.Add(ultraGrid.ActiveRow.Cells["GRADENAME"].Text.Trim());//钢号 STEEL_NO
- al.Add(ultraGrid.ActiveRow.Cells["VARIETIES"].Text.Trim());//品名 PRODUCT_NAME
- al.Add(ultraGrid.ActiveRow.Cells["IMP_PROCESS"].Text.Trim());//执行工艺 CRAFT_FILE_NO
- al.Add(ultraGrid.ActiveRow.Cells["CRAFT_PATH"].Text.Trim());//工艺文件路径
- al.Add(ultraGrid.ActiveRow.Cells["PRODUCE_STANDRAD"].Text.Trim());//产品标准 PRODUCT_STD
- al.Add(ultraGrid.ActiveRow.Cells["CONTRACT_NO"].Text.Trim());// CONTRACT_NO
- string strPIPE_SIZE = ultraGrid.ActiveRow.Cells["PIPE_SIZE"].Text.Trim();
- if (strPIPE_SIZE.IndexOf("*") >= 0)
- {
- al.Add(strPIPE_SIZE.Substring(0, strPIPE_SIZE.IndexOf("*")));//规格 外径*壁厚
- al.Add(strPIPE_SIZE.Substring(strPIPE_SIZE.IndexOf("*") + 1));
- }
- else
- {
- al.Add("");
- al.Add("");
- }
- al.Add(ultraGrid.ActiveRow.Cells["BUCKLE_TYPE"].Text.Trim()); //扣型
- al.Add(ultraGrid.ActiveRow.Cells["PROCESS_STATUS"].Text.Trim()); //工艺状态
- al.Add(UserInfo.GetUserName());//委托单位取样人
- al.Add(DateTime.Now.ToString());//委托人取样时间
- al.Add(UserInfo.GetDepartment());//委托单位 CONSIGN_DEPT
- al.Add(UserInfo.GetUserName());//委托人
- al.Add(UserInfo.GetUserName());//委托单位送样人
- al.Add("0"); //是否监制--监制信息如何读取 "0"不监制
- al.Add("");//特殊要求
- al.Add("1");//默认委托单位已送样
- al.Add(txtREMARK.Text);//备注
- return al;
- }
- //获取勾选的元素
- public ArrayList GetCheckChem()
- {
- ArrayList al = new ArrayList();
- string chemONH = "";
- string chemItems = "";
- ArrayList alchem = new ArrayList();
- if (dataTable13.Rows.Count > 0)
- {
- foreach (DataRow dr in dataTable13.Rows)
- {
- if ("ONH".IndexOf(dr["CHEM_NAME"].ToString()) >= 0)
- {
- chemONH += dr["CHEM_NAME"].ToString() + " ";
- }
- else
- {
- chemItems += dr["CHEM_NAME"].ToString() + " ";
- }
- }
- }
- alchem.Add(chemItems);
- alchem.Add(chemONH);
- al.Add(alchem);
- return al;
- }
- //增加检验委托
- private void AddCheckConsign()
- {
- try
- {
- if (ultraGrid11.ActiveRow == null || ultraGrid11.ActiveRow.Activated == false)
- {
- return;
- }
- if (dataTable12 == null || dataTable12.Rows.Count == 0)
- {
- MessageUtil.ShowWarning("没有取样要求明细不能生成委托!");
- return;
- }
- string strAddChem = isValid();
- if (strAddChem != "")
- {
- MessageUtil.ShowWarning(strAddChem);
- return;
- }
- //if (portMilShowBase3.StrIsPhy == "是" && (m_dtSampleReqDetail == null || m_dtSampleReqDetail.Rows.Count == 0))
- //{
- // MessageUtil.ShowWarning("没有对应的检验项不能生成委托!");
- // return;
- //}
- if (MessageUtil.ShowYesNoAndQuestion("是否确认新增?") == DialogResult.Yes)
- {
- string[] arr = QueryGetPrdceReq();//查询是否监制
- ultraGrid12.UpdateData();
- string strSIMPLE_PROCESS = ultraGrid11.ActiveRow.Cells["SIMPLE_PROCESS"].Text.Trim();
- string strID = ultraGrid11.ActiveRow.Cells["ID"].Text.Trim();//id SIMPLE_PROCESS
- string strLOT_NO = ultraGrid11.ActiveRow.Cells["LOT_NO"].Text.Trim();//批号
- string strJUDGE_STOVE_NO_DESC = ultraGrid11.ActiveRow.Cells["JUDGE_STOVE_NO_DESC"].Text.Trim();//判定炉号
- string strJUDGE_STOVE_NO = ultraGrid11.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();
- string strSTOVE_NO = ultraGrid11.ActiveRow.Cells["STOVE_NO"].Text.Trim();
- string strPline = ultraGrid11.ActiveRow.Cells["PLINE_CODE"].Text.Trim();
- string strCHECK_NO = strPline + strJUDGE_STOVE_NO_DESC;//产线+炉号+流水
- ArrayList alAll = new ArrayList();//整体list,插入几个表增加几个List
- ArrayList alBase = new ArrayList();//基础表list
- ArrayList alDetail = new ArrayList();//检验信息详细表list
- ArrayList alPhyDetail = new ArrayList();//理化信息list
- ArrayList alChemDetail = new ArrayList();//化学信息list
- ArrayList alBaseParams = new ArrayList();//基础表参数list
- ArrayList alDetailParams = new ArrayList();//检验信息详细表参数list
- ArrayList alPhyDetailParams = new ArrayList();//理化信息参数list
- ArrayList alChemDetailParams = new ArrayList();//化学信息参数list
- alBase.Add(GetCheckConsignBase(ultraGrid11, (arr[0] != "" || arr[1] != "" ? "1" : "0")));//增加基础表参数
- string strPHY_CODE_MAX = "";
- string strPHY_NAME_MAX = "";
- DataRow[] arrAddMax = null;//存放试样信息
- DataRow[] arrAddMin = null;
- ArrayList al = GetCheckChem();
- int sampleSeq = 0;//加入序号标示第几个试样
- int k = 0;//材质序号
- foreach (DataRow dr in dataTable12.Rows)
- {
- sampleSeq++;
- foreach (DataColumn dc in dataTable12.Columns)
- {
- if (dc.ColumnName != "BATCH_NO" && dc.ColumnName != "PIPE_NO" && dc.ColumnName != "SAMPLE_PIPE_LEN" && dr[dc.ColumnName].ToString().Trim() != "")
- {
- strPHY_CODE_MAX = dc.ColumnName;//strSAMPLE_KEY
- strPHY_NAME_MAX = dc.Caption.Trim();
- if (strPHY_CODE_MAX == "HX")
- {
- if (((ArrayList)al[0])[0].ToString() != "")
- {
- alDetailParams = new ArrayList();//增加明细表参数
- //alDetailParams.Add(strCHECK_NO);//检验编号
- //alDetailParams.Add(strSAMPLE_NO);//试样号服务端生成
- //alDetailParams.Add(strSAMPLE_NO_MIN);//钢印号服务端生成
- alDetailParams.Add(sampleSeq.ToString());
- alDetailParams.Add(dr["BATCH_NO"].ToString().Trim());//性能批号
- alDetailParams.Add(strPline + DateTime.Now.ToString("yy") + dr["PIPE_NO"].ToString() + "A");//试样条形码SAMPLE_BARCODE
- alDetailParams.Add(dr["SAMPLE_PIPE_LEN"].ToString().Trim());//试样长度
- alDetailParams.Add("HX");//大项
- alDetailParams.Add(((ArrayList)al[0])[0].ToString());
- alDetailParams.Add("002001007010");//部门DEPT_ID
- alDetailParams.Add("1");//样条数
- alDetailParams.Add("");//试验标准STD_NAME_TEST
- alDetailParams.Add("");//LENGTH
- alDetailParams.Add("");//WIDTH
- alDetailParams.Add("");//试样编码SPLINE_NO
- alDetailParams.Add("");//试验方向
- alDetailParams.Add("");//名义规格
- alDetailParams.Add("0");//是否热处理
- alDetailParams.Add((arr[0] != null && arr[0] != "") ? "1" : "0");//是否监制
- alDetail.Add(alDetailParams);//增加明细表参数List
- }
- if (((ArrayList)al[0])[1].ToString() != "")
- {
- alDetailParams = new ArrayList();
- //alDetailParams.Add(strCHECK_NO);//检验编号
- //alDetailParams.Add(strSAMPLE_NO);//试样号服务端生成
- //alDetailParams.Add(strSAMPLE_NO_MIN);//试样号服务端生成
- alDetailParams.Add(sampleSeq.ToString());
- alDetailParams.Add(dr["BATCH_NO"].ToString().Trim());//性能批号
- alDetailParams.Add(strPline + DateTime.Now.ToString("yy") + dr["PIPE_NO"].ToString() + "A");//试样条形码SAMPLE_BARCODE
- alDetailParams.Add(dr["SAMPLE_PIPE_LEN"].ToString().Trim());//试样长度
- alDetailParams.Add("ONH");
- alDetailParams.Add(((ArrayList)al[0])[1].ToString());
- alDetailParams.Add("002001007010");//部门DEPT_ID 一快分 二快分002001020001,002001020002
- alDetailParams.Add("1");//样条数
- alDetailParams.Add("");//试验标准STD_NAME_TEST
- alDetailParams.Add("");//LENGTH
- alDetailParams.Add("");//WIDTH
- alDetailParams.Add("");//试样编码SPLINE_NO
- alDetailParams.Add("");//试验方向
- alDetailParams.Add("");//名义规格
- alDetailParams.Add("0");//
- alDetailParams.Add((arr[0] != null && arr[0] != "") ? "1" : "0");
- alDetail.Add(alDetailParams);//增加明细表参数List
- }
- if (dataTable13 != null && dataTable13.Rows.Count > 0)
- {
- if (dataTable13.Rows.Count > 0)
- {
- foreach (DataRow drs in dataTable13.Rows)
- {
- alChemDetailParams = new ArrayList();//增加化学明细表参数
- //alChemDetailParams.Add(strCHECK_NO);
- //alChemDetailParams.Add(dr["SAMPLE_NO"].ToString().Trim());
- alChemDetailParams.Add(sampleSeq.ToString());
- alChemDetailParams.Add(drs["CHEM_CODE"].ToString().Trim());
- alChemDetailParams.Add(drs["CHEM_NAME"].ToString().Trim());
- alChemDetailParams.Add(drs["ISCHECK"].ToString().Trim());
- alChemDetailParams.Add(drs["ISJUDGE"].ToString().Trim());
- alChemDetailParams.Add(drs["ISQUOTE"].ToString().Trim());
- alChemDetailParams.Add(drs["STDMIN_SIGN"].ToString().Trim());
- alChemDetailParams.Add(drs["STDMIN"].ToString().Trim());
- alChemDetailParams.Add(drs["STDMAX_SIGN"].ToString().Trim());
- alChemDetailParams.Add(drs["STDMAX"].ToString().Trim());
- alChemDetailParams.Add(drs["STDTARGET"].ToString().Trim());
- alChemDetail.Add(alChemDetailParams);
- }
- }
- }
- }
- else
- {
- if (m_dtSelectSampleKey != null && m_dtSelectSampleKey.Rows.Count > 0)
- {
- if (m_dtSelectPhyMin != null && m_dtSelectPhyMin.Rows.Count > 0)
- {
- arrAddMin = m_dtSelectPhyMin.Select("PHY_CODE_MAX = '" + strPHY_CODE_MAX.Substring(0, 5) + "'");//筛选符合条件的小项
- }
- alDetailParams = new ArrayList();
- //alDetailParams.Add(strCHECK_NO);//检验编号
- //alDetailParams.Add(strSAMPLE_NO);//试样号服务端生成
- //alDetailParams.Add(strSAMPLE_NO_MIN);//试样号服务端生成
- alDetailParams.Add(sampleSeq.ToString());
- alDetailParams.Add(dr["BATCH_NO"].ToString().Trim());//性能批号
- alDetailParams.Add(strPline + DateTime.Now.ToString("yy") + dr["PIPE_NO"].ToString() + "A");//试样条形码SAMPLE_BARCODE
- alDetailParams.Add(dr["SAMPLE_PIPE_LEN"].ToString().Trim());//试样长度
- alDetailParams.Add(strPHY_CODE_MAX);
- alDetailParams.Add(strPHY_NAME_MAX);
- arrAddMax = m_dtSelectSampleKey.Select("SAMPLE_KEY = '" + strPHY_CODE_MAX + "'");//从查出来的取样码中筛选符合条件的试样信息
- if (arrAddMax != null && arrAddMax.Length > 0)
- {
- alDetailParams.Add(arrAddMax[0]["DEPT_ID"].ToString());
- alDetailParams.Add(arrAddMax[0]["SAMPLE_COUNT"].ToString());//样条数
- alDetailParams.Add(arrAddMax[0]["STD_NAME_TEST"].ToString());//试验标准STD_NAME_TEST
- alDetailParams.Add(arrAddMax[0]["LENGTH"].ToString());//LENGTH
- alDetailParams.Add(arrAddMax[0]["WIDTH"].ToString());//WIDTH
- alDetailParams.Add(arrAddMax[0]["SPLINE_NO"].ToString());//试样编码SPLINE_NO
- alDetailParams.Add(arrAddMax[0]["PHY_DIR"].ToString());//试验方向
- alDetailParams.Add(arrAddMax[0]["SIZE_DESC"].ToString());//名义规格
- alDetailParams.Add((arrAddMin != null && arrAddMin.Length > 0) ? arrAddMin[0]["BILLET_SAMPLE"].ToString().Trim() : "0");//坯样热处理和是否监制
- alDetailParams.Add((arr[1] != null && arr[1] != "") ? "1" : "0");
- //alDetailParams.Add(arrAddMax[0]["DESC_COUNT"].ToString());//取样数量(毛样)
- //alDetailParams.Add(arrAddMax[0]["DESC_POSITION"].ToString());//取样位置
- //alDetailParams.Add(arrAddMax[0]["SAMPLE_COUNT"].ToString());//样条个数
- }
- else
- {
- alDetailParams.Add("");//部门 DEPT_ID
- alDetailParams.Add("");//样条数
- alDetailParams.Add("");//试验标准STD_NAME_TEST
- alDetailParams.Add("");//LENGTH
- alDetailParams.Add("");//WIDTH
- alDetailParams.Add("");//试样编码SPLINE_NO
- alDetailParams.Add("");//试验方向
- alDetailParams.Add("");//名义规格
- alDetailParams.Add("0");//坯样热处理和是否监制
- alDetailParams.Add((arr[1] != null && arr[1] != "") ? "1" : "0");
- //alDetailParams.Add("");//取样数量(毛样)
- //alDetailParams.Add("");//取样位置
- //alDetailParams.Add("");//样条个数
- }
- alDetail.Add(alDetailParams);//增加明细表参数List
- if (arrAddMin != null && arrAddMin.Length > 0)
- {
- foreach (DataRow drR in arrAddMin)
- {
- k++;
- alPhyDetailParams = new ArrayList();
- //alPhyDetailParams.Add(strCHECK_NO);
- //alPhyDetailParams.Add(strSAMPLE_NO);
- alPhyDetailParams.Add(sampleSeq.ToString());
- alPhyDetailParams.Add(dr["BATCH_NO"].ToString().Trim());//性能批号
- alPhyDetailParams.Add(k.ToString());//材质序号
- alPhyDetailParams.Add(drR["DEPT_ID"].ToString().Trim());
- alPhyDetailParams.Add(strPHY_CODE_MAX);//SAMPLE_KEY
- alPhyDetailParams.Add(strPHY_NAME_MAX);//SAMPLE_KEY_DESC
- alPhyDetailParams.Add(drR["PHY_CODE_MIN"].ToString());//大项代码
- alPhyDetailParams.Add(drR["PHY_NAME_MIN"].ToString());//大项描述
- alPhyDetailParams.Add(drR["PHY_CODE"].ToString());//检验项代码
- alPhyDetailParams.Add(drR["PHY_NAME"].ToString());//检验项描述
- alPhyDetailParams.Add(drR["PHY_UNIT"].ToString());//值单位
- alPhyDetailParams.Add(drR["ITEM_CODE_F"].ToString());//方向代码
- alPhyDetailParams.Add(drR["ITEM_NAME_F"].ToString());//方向描述
- alPhyDetailParams.Add(drR["ITEM_CODE_W"].ToString());//温度代码
- alPhyDetailParams.Add(drR["ITEM_NAME_W"].ToString());//温度描述
- alPhyDetailParams.Add(drR["ITEM_CODE_C"].ToString());//尺寸代码
- alPhyDetailParams.Add(drR["ITEM_NAME_C"].ToString());//尺寸描述
- alPhyDetailParams.Add(drR["ISCHECK"].ToString().Trim());
- alPhyDetailParams.Add(drR["ISJUDGE"].ToString().Trim());
- alPhyDetailParams.Add(drR["ISQUOTE"].ToString().Trim());
- alPhyDetailParams.Add(drR["RESULT_COUNT"].ToString().Trim());
- alPhyDetailParams.Add(drR["STDMIN_SIGN"].ToString().Trim());
- alPhyDetailParams.Add(drR["STDMIN"].ToString().Trim());
- alPhyDetailParams.Add(drR["STDMAX_SIGN"].ToString().Trim());
- alPhyDetailParams.Add(drR["STDMAX"].ToString().Trim());
- alPhyDetailParams.Add(drR["JUDGE_BASIS"].ToString().Trim());
- alPhyDetailParams.Add(drR["STDMEMO"].ToString().Trim());
- alPhyDetailParams.Add(drR["BILLET_SAMPLE"].ToString().Trim());//小样热处理
- alPhyDetail.Add(alPhyDetailParams);
- }
- }
- }
- }
- }
- }
- }
- alAll.Add(alBase);
- //alAll.Add(alJg);
- alAll.Add(alDetail);
- alAll.Add(alPhyDetail);
- alAll.Add(alChemDetail);
- ArrayList alPlan = new ArrayList();
- ArrayList alPlanParams = new ArrayList();//更改状态位
- alPlanParams.Add(strSIMPLE_PROCESS);
- alPlanParams.Add(portMilShowBase2.StrBATCH_MAX);//最大批数
- alPlanParams.Add("3");
- alPlanParams.Add("2");
- alPlanParams.Add(strLOT_NO);
- alPlanParams.Add(strJUDGE_STOVE_NO);//判定炉号
- alPlanParams.Add(strID);
- alPlan.Add(alPlanParams);
- alAll.Add(alPlan);
- string strSampleCode = ultraGrid11.ActiveRow.Cells["SPLINE_DESC"].Text.Trim();//试样号首字母
- PublicServer.SetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.AddCheckConsign1",
- new Object[] { alAll, strPline + strJUDGE_STOVE_NO_DESC, strSampleCode }, this.ob);
- QueryLotNoAndStoveNo(dataTable11, ultraGrid11, "2");
- MessageUtil.ShowTips("新增委托成功!");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- return;
- }
- }
- //委托是否有效
- private string isValid()
- {
- ultraGrid12.UpdateData();
- bool isHaveItems = false;
- foreach (UltraGridRow ur in ultraGrid12.Rows)
- {
- isHaveItems = false;
- foreach (UltraGridColumn uc in ultraGrid12.DisplayLayout.Bands[0].Columns)
- {
- if (uc.Key != "BATCH_NO" && uc.Key != "PIPE_NO" && uc.Key != "SAMPLE_PIPE_LEN")
- {
- if (ur.Cells[uc.Key].Text.Trim() != "")
- {
- isHaveItems = true;
- }
- }
- }
- if (isHaveItems == false)
- {
- return "批号:" + ur.Cells["BATCH_NO"].Text.Trim() + ",样管号:" + ur.Cells["PIPE_NO"].Text.Trim() + "没有选择检验项目!";
- }
- }
- return "";
- }
- #endregion
- #region 已委托数据页
- private void DeleteCheckConsign()
- {
- try
- {
- if (ultraTabControl1.SelectedTab.Index != 3)
- {
- MessageUtil.ShowWarning("只有在已委托数据页才能进行取消委托操作!");
- return;
- }
- if (ultraGrid16.ActiveRow == null || ultraGrid16.ActiveRow.Activated == false)
- {
- MessageUtil.ShowWarning("请点击选择一条需要取消委托的信息!");
- return;
- }
- if (MessageUtil.ShowYesNoAndQuestion("是否确认取消?") == DialogResult.Yes)
- {
- string strSIMPLE_PROCESS = ultraGrid16.ActiveRow.Cells["SIMPLE_PROCESS"].Text.Trim();
- string strID = ultraGrid16.ActiveRow.Cells["ID"].Text.Trim();//id SIMPLE_PROCESS
- string strLOT_NO = ultraGrid16.ActiveRow.Cells["LOT_NO"].Text.Trim();//批号
- string strJUDGE_STOVE_NO = ultraGrid16.ActiveRow.Cells["JUDGE_STOVE_NO"].Text.Trim();
- string strCHECK_NO = ultraGrid16.ActiveRow.Cells["CHECK_NO"].Text.Trim();
- ArrayList all = new ArrayList();
- ArrayList alPlanParams = new ArrayList();//更改状态位
- alPlanParams.Add("");
- alPlanParams.Add(strSIMPLE_PROCESS);
- alPlanParams.Add(portMilShowBase3.StrBATCH_MAX);//最大批数
- alPlanParams.Add("2");
- alPlanParams.Add("3");
- alPlanParams.Add(strLOT_NO);
- alPlanParams.Add(strJUDGE_STOVE_NO);//判定炉号
- alPlanParams.Add(strID);
- ArrayList alConsign = new ArrayList();
- alConsign.Add("0");
- alConsign.Add(strCHECK_NO);
- all.Add(alPlanParams);
- all.Add(alConsign);
- PublicServer.SetData("com.steering.mes.port.mil.FrmMilGetBatchAndSample_Complex.DeleteCheckConsign",
- new Object[] { strCHECK_NO, all }, this.ob);
- QueryLotNoAndStoveNo(dataTable16, ultraGrid16, "3");
- MessageUtil.ShowTips("取消委托成功!");
- }
- }
- catch (Exception e)
- {
- MessageUtil.ShowWarning(e.Message);
- QueryLotNoAndStoveNo(dataTable16, ultraGrid16, "3");
- return;
- }
- }
- #endregion
- private void ultraGrid16_AfterRowActivate(object sender, EventArgs e)
- {
- portMilShowBase4.ShowBaseInfo(ultraGrid16.ActiveRow);
- ArrayList al = new ArrayList();
- al.Add("");
- al.Add(ultraGrid16.ActiveRow.Cells["CHECK_NO"].Text.Trim());
- QueryCheckConsignDetail(al, 5);
- string strHide = "HX,ONH";
- PublicPort.HideNullColumn(strHide, ultraGrid17);
- GridHelper.RefreshAndAutoSize(ultraGrid17);//刷新Grid
- }
- //查询检验委托明细信息
- public void QueryCheckConsignDetail(ArrayList arrayList, int startNum)
- {
- DataTable dt = PublicServer.GetData("com.steering.lims.data.pipe.PublicPipeBase.QueryCheckConsignDetail",
- new Object[] { arrayList }, ob);
- if (dt == null || dt.Rows.Count == 0)
- {
- dataTable17.Rows.Clear();
- int dcNum = dataTable17.Columns.Count;//清除列
- if (dcNum > startNum)
- {
- for (int i = 0; i < dcNum - startNum; i++)
- {
- dataTable17.Columns.RemoveAt(startNum);
- }
- }
- return;
- }
- if (startNum == -1)
- {
- GridHelper.CopyDataToDatatable(dt, dataTable17, true);//把dt复制给dataTable4
- //GridHelper.RefreshAndAutoSize(ultraGrid17);//刷新Grid
- return;
- }
- ShowColumns(startNum, dt, dataTable17);
- string row = "";//存放所有样管号判断是否有重复样管号
- dataTable17.Rows.Clear();//清除行
- DataRow newDr = dataTable17.NewRow();
- foreach (DataRow dr in dt.Rows)
- {
- if (row.IndexOf(dr["SAMPLE_NO"].ToString()) < 0)//判断是否有重复样管号,有则不增加行只增加对应的列
- {
- row += dr["SAMPLE_NO"].ToString() + " ";
- newDr = dataTable17.NewRow();
- newDr["BATCH_NO"] = dr["BATCH_NO"].ToString();
- newDr["SAMPLE_PIPE_LEN"] = dr["SAMPLE_LEN"].ToString();
- newDr["SAMPLE_NO"] = dr["SAMPLE_NO"].ToString();
- newDr[dr["PHY_CODE_MAX"].ToString()] = dr["SAMPLE_COUNT"].ToString();
- dataTable17.Rows.Add(newDr);
- }
- else
- {
- newDr[dr["PHY_CODE_MAX"].ToString()] = dr["SAMPLE_COUNT"].ToString();
- }
- }
- ultraGrid17.DataBind();//dataTable发生变化提交给ultraGrid
- //GridHelper.RefreshAndAutoSize(ultraGrid17);//刷新Grid
- }
- public void ShowColumns(int startNum, DataTable dt, DataTable dataTable)
- {
- if (dt != null && dataTable != null)
- {
- int dcNum = dataTable.Columns.Count;//清除列
- if (dcNum > startNum)
- {
- for (int i = 0; i < dcNum - startNum; i++)
- {
- dataTable.Columns.RemoveAt(startNum);
- }
- }
- foreach (DataRow dr in dt.Rows)//增加列
- {
- try
- {
- DataColumn dc = new DataColumn(dr["PHY_CODE_MAX"].ToString());
- if (dr["PHY_CODE_MAX"].ToString() == "HX")
- {
- dc.Caption = "化学";
- }
- else if (dr["PHY_CODE_MAX"].ToString() == "ONH")
- {
- dc.Caption = "ONH";
- }
- else
- {
- dc.Caption = dr["PHY_NAME_MAX"].ToString();
- }
- dataTable.Columns.Add(dc);
- }
- catch
- {
- continue;
- }
- }
- }
- }
- }
- }
|