frmCraftReviewTechnology.cs 198 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Server;
  11. using Core.Mes.Client.Comm.Control;
  12. using Infragistics.Win.UltraWinGrid;
  13. using Core.StlMes.Client.Qcm;
  14. using Core.Mes.Client.Comm.Format;
  15. using System.Collections;
  16. using Core.Mes.Client.Comm.Tool;
  17. using Core.StlMes.Client.SaleOrder.Dialog;
  18. using System.Threading;
  19. using Core.StlMes.Client.SaleOrder.BLL;
  20. using CoreFS.SA06;
  21. using Core.StlMes.Client.SaleOrder.Control;
  22. using System.Net;
  23. namespace Core.StlMes.Client.SaleOrder.ReviewForm
  24. {
  25. public partial class frmCraftReviewTechnology : FrmBase
  26. {
  27. private CtrlBom _ctrlBom;
  28. private CtrlBom _ctrlBomHead;
  29. private CtrlBom _ctrlBomJg;
  30. private CtrlBom _ctrlBomBl;
  31. private CtrlBomI _ctrlBomI;
  32. private CtrlBom _ctrlBomJgBl;
  33. private CraftOrdDesignBLL _craftOrdDesignBLL;
  34. //private PlaSaleOrdProcCtrl _plaSaleOrdProcCtrl;
  35. private string _errItem = "";//当前正在执行确认的错误项。
  36. private bool _isRun = false;//是否正在执行后台查询和质量设计
  37. private Dictionary<string, string> _dicQualityFlag = new Dictionary<string, string>();
  38. private bool _isPopup = false;
  39. private string _operateType = "0"; //0工艺制定 1工艺刷新 2工艺复制(删除工艺评审主表,但不删除工艺制定的数据)
  40. /// <summary>
  41. /// 是否是弹窗
  42. /// </summary>
  43. public bool IsPopup
  44. {
  45. get { return _isPopup; }
  46. set { _isPopup = value; }
  47. }
  48. /// <summary>
  49. /// 数据权限
  50. /// </summary>
  51. public string[] DataPurviewIds
  52. {
  53. get { return this.ValidDataPurviewIds; }
  54. set { this.ValidDataPurviewIds = value; }
  55. }
  56. public frmCraftReviewTechnology()
  57. {
  58. InitializeComponent();
  59. //ExceptionHelper.RegistException();
  60. _ctrlBomHead = new CtrlBom(splitContainer1.Panel1);
  61. _ctrlBomHead.UltraLabel1.Text = " 产品";
  62. _ctrlBomHead.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomHead_AfterRowActivate);
  63. GridHelper.HidenExcludeColumns(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0], "MaterialDesc");
  64. _ctrlBom = new CtrlBom(ultraTabPageControl14);
  65. _ctrlBom.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBom_AfterRowActivate);
  66. _ctrlBom.UltraLabel1.Text = " 产品";
  67. GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "JInMaterialDesc", "JOutMaterialDesc", "IInMaterialDesc", "IOutMaterialDesc");
  68. GridHelper.HidenColumns(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo");
  69. _ctrlBomJg = new CtrlBom(ultraTabPageControl12);
  70. _ctrlBomJg.UltraGridBom.AfterRowActivate += new EventHandler(_ctrlBomJg_AfterRowActivate);
  71. _ctrlBomJg.UltraLabel1.Text = " 接箍";
  72. GridHelper.HidenExcludeColumns(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0], "InMaterialNo", "MaterialDesc", "BomTyp");
  73. _ctrlBomBl = new CtrlBom(ultraTabPageControl13);
  74. _ctrlBomBl.UltraLabel1.Text = " 备料";
  75. _ctrlBomI = new CtrlBomI(splitContainer2.Panel2);
  76. _ctrlBomJgBl = new CtrlBom(splitContainer2.Panel2);
  77. _ctrlBomJgBl.Visible = false;
  78. this.IsLoadUserView = true;
  79. }
  80. private void frmOrderReviewTechnology_Load(object sender, EventArgs e)
  81. {
  82. labelDateTimePicker1.DateTimePicker.Value = DateTime.Now.Date.AddDays(-30);
  83. labelDateTimePicker2.DateTimePicker.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
  84. //评审状态,设计状态,默认选中第一项,数据是手动绑定在控件上面的。
  85. cmbSts.SelectedIndex = 0;
  86. cmbDesignSts.SelectedIndex = 0;
  87. ClsBaseInfo.SetComboItemHeight(cmbSts);
  88. ClsBaseInfo.SetComboItemHeight(cmbDesignSts);
  89. lblCmbPlanStatus.ComboBox.SelectedIndex = 0;
  90. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomHead.UltraGridBom.DisplayLayout.Bands[0]);
  91. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBom.UltraGridBom.DisplayLayout.Bands[0]);
  92. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomJg.UltraGridBom.DisplayLayout.Bands[0]);
  93. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomBl.UltraGridBom.DisplayLayout.Bands[0]);
  94. EntityHelper.ShowGridCaption<SlmOrdDesignBomIEntity>(_ctrlBomI.UltraGridBomI.DisplayLayout.Bands[0]);
  95. EntityHelper.ShowGridCaption<SlmOrdDesignBomEntity>(_ctrlBomJgBl.UltraGridBom.DisplayLayout.Bands[0]);
  96. _craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  97. toolTip1.SetToolTip(chkUrgent, @"工艺文件紧急待处理的含义:
  98. 1.待制造部接收,但工艺评审状态未生效的合同。
  99. 2.制造部已接收,但是还没有上传工艺文件的合同。
  100. 3.制造部已下发,但工艺评审状态未生效的合同。");
  101. }
  102. protected override void OnLoad(EventArgs e)
  103. {
  104. base.OnLoad(e);
  105. ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default;
  106. ctrlOrderLineDesign1.UltraGirdDelivery.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;
  107. ctrlOrderLineDesign1.UltraGridD.DisplayLayout.Override.ActiveRowAppearance.FontData.Bold = Infragistics.Win.DefaultableBoolean.Default;
  108. }
  109. /// <summary>
  110. /// 重写基类toolBar方法
  111. /// </summary>
  112. /// <param name="sender"></param>
  113. /// <param name="ToolbarKey"></param>
  114. public override void ToolBar_Click(object sender, string ToolbarKey)
  115. {
  116. switch (ToolbarKey)
  117. {
  118. case "doQuery":
  119. doQuery("");
  120. break;
  121. case "Lock":
  122. Lock();
  123. break;
  124. case "Unlock":
  125. Unlock();
  126. break;
  127. case "QueryCraft":
  128. QueryCraft();
  129. break;
  130. case "SubmitAudit":
  131. SubmitAudit();
  132. break;
  133. case "CreateCraft":
  134. CreateCraft();
  135. break;
  136. case "doQuality":
  137. doQuality();
  138. break;
  139. case "RefreshCraft":
  140. RefreshCraft();
  141. break;
  142. case "ReviewOrderReport":
  143. ReviewOrderReport();
  144. break;
  145. case "RollBack":
  146. RollBack();
  147. break;
  148. case "Appoint":
  149. Appoint();
  150. break;
  151. case "AppointCraftFile":
  152. AppointCraftFile();
  153. break;
  154. case "AppointTmpCraftFile":
  155. AppointTmpCraftFile();
  156. break;
  157. case "MatchCraftFile":
  158. MatchCraftFile();
  159. break;
  160. case "Msc":
  161. ShowMsc();
  162. break;
  163. case "PlnCraftChange":
  164. if (ultraGridOrderLine.ActiveRow == null)
  165. {
  166. MessageUtil.ShowWarning("请选择一条记录!");
  167. return;
  168. }
  169. string ordLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK");
  170. PlnCraftChange(ordLnPk, true, false, ob);
  171. Relocate(ordLnPk);
  172. break;
  173. case "SaveCraftChangeMemo":
  174. SaveCraftChangeMemo();
  175. break;
  176. case "Export":
  177. Export();
  178. break;
  179. case "doClose":
  180. this.Close();
  181. break;
  182. }
  183. }
  184. private void Export()
  185. {
  186. GridHelper.ulGridToExcel(ultraGridOrderLine, "工艺评审记录");
  187. }
  188. public void SaveCraftChangeMemo()
  189. {
  190. if (ultraGridOrderLine.ActiveRow == null)
  191. {
  192. MessageUtil.ShowWarning("请选择一条记录!");
  193. return;
  194. }
  195. string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK");
  196. string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ");
  197. string memo = ultraGridOrderLine.GetActiveRowValue("CRAFT_CHANGE_MEMO");
  198. CraftOrdDesignBLL craftOrdDesginBLL = new CraftOrdDesignBLL(ob);
  199. CraftOrdDesignEntity craftOrdDesign = craftOrdDesginBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk });
  200. if (craftOrdDesign.Validflag != "2")
  201. {
  202. MessageUtil.ShowWarning("只有设计状态为制定中的工艺评审记录,才能保存工艺变更说明!");
  203. return;
  204. }
  205. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk);
  206. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID()
  207. && UserInfo.GetUserID() != "admin")
  208. {
  209. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限保存工艺变更说明!");
  210. return;
  211. }
  212. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateCraftChangeMemo",
  213. new object[] { ordLnPk, craftSeq, memo }, ob);
  214. MessageUtil.ShowTips("保存成功!");
  215. Relocate(ordLnPk);
  216. }
  217. public void PlnCraftChange(string ordLnPk, bool showMsg, bool isBackgound, OpeBase ob)
  218. {
  219. CraftOrdDesignBLL craftOrdDesginBLL = new CraftOrdDesignBLL(ob);
  220. CraftOrdDesignEntity craftOrdDesign = craftOrdDesginBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk });
  221. if (craftOrdDesign.Validflag != "1" && craftOrdDesign.Validflag != "8")
  222. {
  223. if (showMsg)
  224. {
  225. MessageUtil.ShowWarning("只有变更待生效(或生效)状态的工艺评审记录,才能进行工艺变更!");
  226. }
  227. return;
  228. }
  229. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk);
  230. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID()
  231. && UserInfo.GetUserID() != "admin")
  232. {
  233. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限进行工艺变更!");
  234. return;
  235. }
  236. DataTable dtOrdLn = GetOrdLnState(ordLnPk);
  237. if (dtOrdLn.Rows.Count > 0)
  238. {
  239. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  240. {
  241. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺变更!");
  242. return;
  243. }
  244. }
  245. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.IsExistCraftChange",
  246. new object[]{ ordLnPk }, ob);
  247. if (dt.Rows.Count == 0)
  248. {
  249. if (showMsg)
  250. {
  251. //MessageUtil.ShowWarning("没有需要进行工艺变更的排产记录!");
  252. }
  253. //return;
  254. }
  255. if (!isBackgound)
  256. {
  257. if (MessageUtil.ShowYesNoAndQuestion("是否确认工艺变更?") == System.Windows.Forms.DialogResult.No)
  258. {
  259. return;
  260. }
  261. }
  262. CoreClientParam ccp = new CoreClientParam();
  263. ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology";
  264. ccp.MethodName = "PlnCraftChange";
  265. ccp.ServerParams = new object[] { ordLnPk };
  266. ccp.IfShowErrMsg = false;
  267. ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  268. //object result = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.PlnCraftChange",
  269. // new object[] { ordLnPk }, ob);
  270. if (ccp.ReturnObject.ToString2() != "")
  271. {
  272. if (showMsg)
  273. {
  274. if (ccp.ReturnCode == -1)
  275. {
  276. MessageUtil.ShowWarning("变更失败!失败原因:" + ccp.ReturnObject.ToString2());
  277. return;
  278. }
  279. else if (MessageUtil.ShowYesNoAndQuestion("变更失败!失败原因:" + ccp.ReturnObject.ToString2() + "。 \r\n 是否跳过本次变更,直接生效?") == System.Windows.Forms.DialogResult.No)
  280. {
  281. return;
  282. }
  283. else
  284. {
  285. ServerHelper.SetData("com.steering.pss.sale.order.DAL.CraftOrdDesignDAL.SetValidflagByPk",
  286. new object[] { "1", ordLnPk, craftOrdDesign.CraftSeq.ToString() }, ob);
  287. MessageUtil.ShowTips("生效成功!");
  288. }
  289. return;
  290. }
  291. else
  292. {
  293. return;
  294. }
  295. }
  296. if (showMsg)
  297. {
  298. MessageUtil.ShowTips("变更成功!");
  299. }
  300. if (!isBackgound)
  301. {
  302. CopyCraftLv2Popup popup = new CopyCraftLv2Popup(ordLnPk, ob);
  303. popup.ShowDialog();
  304. }
  305. }
  306. private void RefreshCraft()
  307. {
  308. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  309. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  310. CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk });
  311. if (craftOrdDesign == null)
  312. {
  313. MessageUtil.ShowWarning("未制定工艺的合同行,不能刷新工艺!");
  314. return;
  315. }
  316. _operateType = "1";
  317. try
  318. {
  319. //CheckQuality(ordLnPk, false, ob);
  320. doQuality();
  321. }
  322. finally
  323. {
  324. _operateType = "0";
  325. }
  326. }
  327. private void MatchCraftFile()
  328. {
  329. IQueryable<UltraGridRow> rows = ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'");
  330. if(rows.Count() == 0)
  331. {
  332. MessageUtil.ShowWarning("请选一行记录!");
  333. return;
  334. }
  335. CraftFileApplyBLL craftFileApplyBLL = new CraftFileApplyBLL(ob);
  336. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  337. int matchCnt = 0;
  338. List<CraftOrdDesignEntity> craftOrdDesignList = new List<CraftOrdDesignEntity>();
  339. foreach (UltraGridRow row in rows)
  340. {
  341. if(row.GetValue("ORDER_ADD_DESC") != "")
  342. {
  343. MessageUtil.ShowWarning("该合同行有附加要求,不能使用自动匹配功能!");
  344. row.Activate();
  345. return;
  346. }
  347. DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK"));
  348. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  349. {
  350. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许使用自动匹配功能!");
  351. row.Activate();
  352. return;
  353. }
  354. DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK"));
  355. if (dtCraftDesignSts.Rows.Count > 0)
  356. {
  357. if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S"
  358. || dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2")
  359. {
  360. MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行自动匹配!");
  361. row.Activate();
  362. return;
  363. }
  364. }
  365. else
  366. {
  367. MessageUtil.ShowWarning("请选择制定中并且设计状态通过的合同行进行自动匹配!");
  368. row.Activate();
  369. return;
  370. }
  371. }
  372. if (MessageUtil.ShowYesNoAndQuestion("是否确认自动匹配工艺文件?") == System.Windows.Forms.DialogResult.No)
  373. {
  374. return;
  375. }
  376. string ordLnPk = "";
  377. foreach (UltraGridRow row in rows)
  378. {
  379. DataTable dt = craftFileApplyBLL.GetMatchCraftFile(row.GetValue("ORD_LN_PK"));
  380. if (dt.Rows.Count == 1)
  381. {
  382. craftOrdDesignList.Add(new CraftOrdDesignEntity()
  383. {
  384. CraftNo = dt.Rows[0]["CRAFT_NO"].ToString(),
  385. CraftNoV = dt.Rows[0]["CRAFT_NO_V"].ToString(),
  386. CraftPath = dt.Rows[0]["CRAFT_PATH"].ToString(),
  387. CraftSource = "人工上传",
  388. UpdateName = UserInfo.GetUserName(),
  389. DeleteName = UserInfo.GetUserName(),
  390. OrdLnPk = row.GetValue("ORD_LN_PK")
  391. });
  392. matchCnt++;
  393. }
  394. ordLnPk = row.GetValue("ORD_LN_PK");
  395. }
  396. //......
  397. craftOrdDesignBLL.MatchCraftFile(craftOrdDesignList);
  398. MessageUtil.ShowTips(string.Format("选中{0}行记录,其中系统自动匹配成功{1}行,失败{2}行!",
  399. rows.Count(), matchCnt, rows.Count() - matchCnt));
  400. Relocate(ordLnPk);
  401. }
  402. private void AppointCraftFile()
  403. {
  404. ultraGridOrderLine.UpdateData();
  405. string ordLnPk = "";
  406. if (ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count() == 0)
  407. {
  408. MessageUtil.ShowWarning("请选择合同行进行工艺文件指定!");
  409. return;
  410. }
  411. ArrayList list = new ArrayList();
  412. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  413. {
  414. if (row.GetValue("CHK").ToString() == "True")
  415. {
  416. if (!row.GetValue("ORD_LN_PK").StartsWith("BL"))
  417. {
  418. DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK"));
  419. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  420. {
  421. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许指定工艺文件!");
  422. row.Activate();
  423. return;
  424. }
  425. }
  426. DataRow mscRow = _craftOrdDesignBLL.GetMscByOrdLnPk(row.GetValue("ORD_LN_PK"));
  427. if (mscRow != null && mscRow["ALLOW_NK"].ToString() == "1")
  428. {
  429. MessageUtil.ShowWarning("合同管理号" + row.GetValue("MNG_ORDER_NO") + "对应的"
  430. + mscRow["MSC"].ToString() + "的是否内控标志为'是',只能由系统生成工艺文件,不能指定工艺文件!");
  431. return;
  432. }
  433. //DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK"));
  434. //if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  435. // && UserInfo.GetUserID() != "admin")
  436. //{
  437. // MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能指定工艺文件!");
  438. // return;
  439. //}
  440. ArrayList listSub = new ArrayList();
  441. listSub.Add(row.GetValue("ORDER_NO"));
  442. listSub.Add(row.GetValue("ORDER_SEQ"));
  443. listSub.Add(row.GetValue("ORD_LN_PK"));
  444. list.Add(listSub);
  445. ordLnPk = row.GetValue("ORD_LN_PK");
  446. }
  447. }
  448. CraftOrdDesignFilePopup popup = new CraftOrdDesignFilePopup(list, "AppointCraftFile", ob);
  449. GridHelper.SetExcludeColumnsActive(popup.UltraGrid1.DisplayLayout.Bands[0], "CHK");
  450. popup.ShowDialog();
  451. Relocate(ordLnPk);
  452. }
  453. private void AppointTmpCraftFile()
  454. {
  455. ultraGridOrderLine.UpdateData();
  456. string ordLnPk = "";
  457. if (ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count() == 0)
  458. {
  459. MessageUtil.ShowWarning("请选择合同行进行工艺文件指定!");
  460. return;
  461. }
  462. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  463. {
  464. if (row.GetValue("CHK") == "False") continue;
  465. if (!row.GetValue("ORD_LN_PK").StartsWith("BL"))
  466. {
  467. DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK"));
  468. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  469. {
  470. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许指定工艺文件!");
  471. row.Activate();
  472. return;
  473. }
  474. }
  475. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK"));
  476. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  477. && UserInfo.GetUserID() != "admin")
  478. {
  479. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能指定工艺文件!");
  480. row.Activate();
  481. return;
  482. }
  483. DataRow mscRow = _craftOrdDesignBLL.GetMscByOrdLnPk(row.GetValue("ORD_LN_PK"));
  484. if (mscRow != null && mscRow["ALLOW_NK"].ToString() == "1")
  485. {
  486. MessageUtil.ShowWarning("合同管理号" + row.GetValue("MNG_ORDER_NO") + "对应的"
  487. + mscRow["MSC"].ToString() + "的是否内控标志为'是',只能由系统生成工艺文件,不能指定工艺文件!");
  488. return;
  489. }
  490. }
  491. ArrayList list = new ArrayList();
  492. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  493. {
  494. if (row.GetValue("CHK").ToString() == "True")
  495. {
  496. ArrayList listSub = new ArrayList();
  497. listSub.Add(row.GetValue("ORDER_NO"));
  498. listSub.Add(row.GetValue("ORDER_SEQ"));
  499. listSub.Add(row.GetValue("ORD_LN_PK"));
  500. list.Add(listSub);
  501. ordLnPk = row.GetValue("ORD_LN_PK");
  502. }
  503. }
  504. CraftOrdDesignFilePopup popup = new CraftOrdDesignFilePopup(list, "AppointTmpCraftFile", ob);
  505. GridHelper.SetExcludeColumnsActive(popup.UltraGrid1.DisplayLayout.Bands[0], "CHK");
  506. popup.ShowDialog();
  507. Relocate(ordLnPk);
  508. }
  509. private void ReviewOrderReport()
  510. {
  511. try
  512. {
  513. this.Cursor = Cursors.WaitCursor;
  514. UltraGridRow ugr = ultraGridOrderLine.ActiveRow;
  515. if (ugr == null)
  516. {
  517. MessageUtil.ShowWarning("请选择您要查看的合同行!");
  518. return;
  519. }
  520. //string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
  521. //string saleOrg = ugr.Cells["SALE_ORG"].Value.ToString();
  522. //string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  523. string orderNo = ugr.Cells["ORDER_NO"].Value.ToString();
  524. string strurl = "";
  525. if (ob.MainUrl.StartsWith("http://127.0.0.1"))
  526. {
  527. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTradeCC.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo;
  528. }
  529. else
  530. {
  531. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepInterTradeCC.cpt&__bypagesize__=false" + "&cmbOrder=" + orderNo;
  532. }
  533. FrmOrderRepExcel fBug = new FrmOrderRepExcel(ob, strurl);
  534. fBug.AutoSize = true;
  535. fBug.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
  536. fBug.WindowState = FormWindowState.Maximized;
  537. fBug.Text = "TPCO合同查询";
  538. fBug.Show();
  539. }
  540. finally
  541. {
  542. this.Cursor = Cursors.Default;
  543. }
  544. }
  545. private void Appoint()
  546. {
  547. ultraGridOrderLine.UpdateData();
  548. UltraGridRow[] rows = ultraGridOrderLine.Rows.AsQueryable().Where(
  549. a => a.GetValue("CHK") == "True").ToArray();
  550. if (rows.Length == 0)
  551. {
  552. MessageUtil.ShowWarning("请选择一条记录然后再进行操作!");
  553. return;
  554. }
  555. string[] ordLnPks = new string[rows.Length];
  556. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  557. for(int i = 0; i < rows.Length; i++)
  558. {
  559. DataTable dtComMsc = GetComMscByOrdLnPk(rows[i].GetValue("ORD_LN_PK"));
  560. if (dtComMsc.Rows.Count > 0 && dtComMsc.Rows[0]["UNIT_CODE_PROCESS"].ToString() != UserInfo.GetDeptid()
  561. && UserInfo.GetUserID() != "admin" && !(this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua"))
  562. {
  563. MessageUtil.ShowWarning(string.Format("只有{0}的人员,才能进行工艺指派!", dtComMsc.Rows[0]["UNIT_DESC_PROCESS"].ToString()));
  564. return;
  565. }
  566. //只有合同行才进行的验证,备料码不做这些验证。
  567. if (!rows[i].GetValue("ORD_LN_PK").StartsWith("BL"))
  568. {
  569. DataTable dtOrdLn = GetOrdLnState(rows[i].GetValue("ORD_LN_PK"));
  570. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  571. {
  572. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺指派!");
  573. Relocate(rows[i].GetValue("ORD_LN_PK"));
  574. return;
  575. }
  576. //DataTable dt = QueryPlnSaleorder(rows[i].GetValue("ORD_LN_PK"));
  577. //if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0")
  578. //{
  579. // MessageUtil.ShowWarning("当前合同行已经排产,不允许工艺指派!");
  580. // rows[i].Activate();
  581. // return;
  582. //}
  583. }
  584. CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  585. {
  586. OrdLnPk = rows[i].GetValue("ORD_LN_PK"),
  587. CraftSeq = decimal.Parse(rows[i].GetValue("CRAFT_SEQ") == "" ? "0" : rows[i].GetValue("CRAFT_SEQ"))
  588. });
  589. if (craftOrdDesign != null)
  590. {
  591. if (craftOrdDesign.Validflag == "4")
  592. {
  593. MessageUtil.ShowWarning("当前合同行有工艺文件正在审核中,不能进行工艺指派!");
  594. Relocate(rows[i].GetValue("ORD_LN_PK"));
  595. return;
  596. }
  597. }
  598. ordLnPks[i] = rows[i].GetValue("ORD_LN_PK");
  599. }
  600. CraftNamePopup craftNamePopup = new CraftNamePopup(ordLnPks, ob);
  601. craftNamePopup.ShowDialog();
  602. Relocate(ordLnPks[ordLnPks.Length - 1]);
  603. }
  604. private void SubmitAudit()
  605. {
  606. ultraGridOrderLine.UpdateData();
  607. IQueryable<UltraGridRow> queryableRows = ultraGridOrderLine.Rows.AsQueryable().Where(
  608. a => a.GetValue("CHK") == "True");
  609. if (queryableRows.Count() == 0)
  610. {
  611. MessageUtil.ShowWarning("请选择一条记录然后再进行操作!");
  612. return;
  613. }
  614. List<CraftOrdDesignEntity> craftOrdDesignList = new List<CraftOrdDesignEntity>();
  615. ArrayList list = new ArrayList();
  616. string ordLnPk = "";
  617. foreach (UltraGridRow row in queryableRows)
  618. {
  619. ordLnPk = row.GetValue("ORD_LN_PK");
  620. if (!ordLnPk.StartsWith("BL"))
  621. {
  622. DataTable dtOrdLn = GetOrdLnState(ordLnPk);
  623. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  624. {
  625. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许提交审核!");
  626. Relocate(ordLnPk);
  627. return;
  628. }
  629. }
  630. DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK"));
  631. if (dtCraftDesignSts.Rows.Count > 0)
  632. {
  633. if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S"
  634. || dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2")
  635. {
  636. MessageUtil.ShowWarning("只有设计状态通过并且工艺制定中的合同行,才能提交审核!");
  637. Relocate(row.GetValue("ORD_LN_PK"));
  638. return;
  639. }
  640. if (dtCraftDesignSts.Rows[0]["CRAFT_PATH"].ToString() == "")
  641. {
  642. MessageUtil.ShowWarning("请先生成工艺文件,然后再提交审核!");
  643. Relocate(row.GetValue("ORD_LN_PK"));
  644. return;
  645. }
  646. }
  647. else
  648. {
  649. MessageUtil.ShowWarning("请先进行工艺制定,然后再进行操作!");
  650. row.Activate();
  651. return;
  652. }
  653. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK"));
  654. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  655. && UserInfo.GetUserID() != "admin")
  656. {
  657. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能提交审核!");
  658. return;
  659. }
  660. if (row.GetValue("ORD_LN_PK").StartsWith("BL"))
  661. {
  662. MessageUtil.ShowWarning("备料码不需要审核,请直接生成工艺文件!");
  663. return;
  664. }
  665. CraftOrdDesignEntity craftOrdDesignParm = new CraftOrdDesignEntity()
  666. {
  667. Validflag = "3",
  668. UpdateName = UserInfo.GetUserName(),
  669. OrdLnPk = row.GetValue("ORD_LN_PK"),
  670. OrderNo = row.GetValue("ORDER_NO"),
  671. OrderSeq = row.GetValue("ORDER_SEQ"),
  672. CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ")
  673. == "" ? "0" : row.GetValue("CRAFT_SEQ")),
  674. CraftSource = "系统生成"
  675. };
  676. craftOrdDesignList.Add(craftOrdDesignParm);
  677. }
  678. for (int i = 0; i < craftOrdDesignList.Count; i++)
  679. {
  680. string orderManageNo = craftOrdDesignList[i].OrderNo + "/" + craftOrdDesignList[i].OrderSeq;
  681. }
  682. if (MessageUtil.ShowYesNoAndQuestion("是否确认提交审核?") == System.Windows.Forms.DialogResult.No)
  683. {
  684. return;
  685. }
  686. _craftOrdDesignBLL.UpdateCraftNo(craftOrdDesignList, list);
  687. MessageUtil.ShowTips("提交审核成功!");
  688. Relocate(ordLnPk);
  689. }
  690. private void CreateCraft()
  691. {
  692. ultraGridOrderLine.UpdateData();
  693. IQueryable<UltraGridRow> queryableRows = ultraGridOrderLine.Rows.AsQueryable().Where(
  694. a => a.GetValue("CHK") == "True");
  695. if (queryableRows.Count() == 0)
  696. {
  697. MessageUtil.ShowWarning("请选择一条记录然后再进行操作!");
  698. return;
  699. }
  700. List<CraftOrdDesignEntity> craftOrdDesignList = new List<CraftOrdDesignEntity>();
  701. ArrayList list = new ArrayList();
  702. string ordLnPk = "";
  703. foreach (UltraGridRow row in queryableRows)
  704. {
  705. ordLnPk = row.GetValue("ORD_LN_PK");
  706. DataTable dtCraftDesignSts = GetCraftDesignSts(row.GetValue("ORD_LN_PK"));
  707. if (dtCraftDesignSts.Rows.Count > 0)
  708. {
  709. if ((dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2" || dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S")
  710. && !row.GetValue("ORD_LN_PK").StartsWith("BL"))
  711. {
  712. MessageUtil.ShowWarning("只有工艺评审状态为制定中并且设计状态通过的合同行,才能生成工艺文件!");
  713. return;
  714. }
  715. else if (row.GetValue("ORD_LN_PK").StartsWith("BL"))
  716. {
  717. if (dtCraftDesignSts.Rows[0]["DESIGN_STS"].ToString() != "S")
  718. {
  719. MessageUtil.ShowWarning("只有设计状态通过的备料码,才能生成工艺文件!");
  720. return;
  721. }
  722. else if (dtCraftDesignSts.Rows[0]["VALIDFLAG"].ToString() != "2")
  723. {
  724. MessageUtil.ShowWarning("只有工艺评审状态为制定中的备料码,才能生成工艺文件!");
  725. return;
  726. }
  727. }
  728. }
  729. else
  730. {
  731. MessageUtil.ShowWarning("请先进行工艺制定,然后再进行操作!");
  732. row.Activate();
  733. return;
  734. }
  735. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(row.GetValue("ORD_LN_PK"));
  736. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  737. && UserInfo.GetUserID() != "admin")
  738. {
  739. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能生成工艺文件!");
  740. return;
  741. }
  742. if (!row.GetValue("ORD_LN_PK").StartsWith("BL"))
  743. {
  744. CraftAutoPeopleFrm autoPeoleFrm = new CraftAutoPeopleFrm(row.GetValue("ORD_LN_PK"), ob);
  745. if (autoPeoleFrm.ShowDialog() != System.Windows.Forms.DialogResult.OK)
  746. {
  747. return;
  748. }
  749. }
  750. //string validflag = int.Parse(row.GetValue("CRAFT_SEQ")) > 1 ? "8" : "1";
  751. CraftOrdDesignEntity craftOrdDesignParm = new CraftOrdDesignEntity()
  752. {
  753. LockFlag = "1",
  754. DeleteName = UserInfo.GetUserName(),
  755. OrdLnPk = row.GetValue("ORD_LN_PK"),
  756. DesginKey = row.GetValue("DESGIN_KEY"),
  757. OrderNo = row.GetValue("ORDER_NO"),
  758. OrderSeq = row.GetValue("ORDER_SEQ"),
  759. CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ")
  760. == "" ? "0" : row.GetValue("CRAFT_SEQ")),
  761. CraftSource = "系统生成"
  762. };
  763. craftOrdDesignList.Add(craftOrdDesignParm);
  764. }
  765. bool autoBackLog = false;
  766. bool autoMaterial = false;
  767. foreach(CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList)
  768. {
  769. if (!_craftOrdDesignBLL.GetMaterialAutoCraft(craftOrdDesign.OrdLnPk))
  770. {
  771. if (MessageUtil.ShowYesNoAndQuestion("是否将合同所对应的物料设置成<自动生成工艺文件>?") == DialogResult.Yes)
  772. {
  773. autoMaterial = true;
  774. }
  775. break;
  776. }
  777. }
  778. //if (MessageUtil.ShowYesNoAndQuestion("是否将合同所对应的制程设置成<自动生成工艺文件>?") == DialogResult.Yes)
  779. //{
  780. // autoMaterial = true;
  781. //}
  782. //if (MessageUtil.ShowYesNoAndQuestion("是否确认生成工艺文件?") == System.Windows.Forms.DialogResult.No)
  783. //{
  784. // return;
  785. //}
  786. try
  787. {
  788. this.Cursor = Cursors.WaitCursor;
  789. WaitingForm2 wf = new WaitingForm2("正在生成工艺文件....");
  790. foreach(CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList)
  791. {
  792. if (craftOrdDesign.OrdLnPk.StartsWith("BL"))
  793. {
  794. if (!_craftOrdDesignBLL.AutoCreateCraft(craftOrdDesign.OrdLnPk, "2"))
  795. {
  796. return;
  797. }
  798. }
  799. else
  800. {
  801. string filePathNew = "Qcm/Craft/" + craftOrdDesign.OrdLnPk + "/" + craftOrdDesign.CraftSeq + "/";
  802. string pdfName = craftOrdDesign.OrderNo + "-" + craftOrdDesign.OrderSeq + "-" + craftOrdDesign.CraftSeq.ToString().PadLeft(3, '0');
  803. craftOrdDesign.CraftPath = filePathNew + pdfName + ".pdf";
  804. List<CraftOrdDesignEntity> craftOrdDesignParms = new List<CraftOrdDesignEntity>();
  805. craftOrdDesignParms.Add(craftOrdDesign);
  806. _craftOrdDesignBLL.CreateCraft(craftOrdDesignParms, autoBackLog, autoMaterial, UserInfo.GetUserID());
  807. if (!_craftOrdDesignBLL.CreatePdfToFtp(craftOrdDesign, pdfName))
  808. {
  809. MessageUtil.ShowError("系统生成PDF失败,请稍后再试!");
  810. return;
  811. }
  812. }
  813. }
  814. wf.Close();
  815. MessageUtil.ShowTips("生成工艺文件成功!");
  816. Relocate(ordLnPk);
  817. }
  818. finally
  819. {
  820. this.Cursor = Cursors.Default;
  821. }
  822. }
  823. /// <summary>
  824. /// 调用报表服务器生成PDF并上传到FTP服务器。
  825. /// </summary>
  826. /// <param name="craftOrdDesignList"></param>
  827. /// <returns></returns>
  828. private bool CreatePdfToFtp(List<CraftOrdDesignEntity> craftOrdDesignList)
  829. {
  830. WebClient webClient = new WebClient();
  831. List<FileBean> listPdf = new List<FileBean>();
  832. foreach (CraftOrdDesignEntity craftOrdDesign in craftOrdDesignList)
  833. {
  834. string filePathNew = "Qcm/Craft/" + craftOrdDesign.OrdLnPk + "/" + craftOrdDesign.CraftSeq + "/";
  835. string pdfName = craftOrdDesign.OrderNo + "-" + craftOrdDesign.OrderSeq + "-" + craftOrdDesign.CraftSeq.ToString().PadLeft(3, '0');
  836. craftOrdDesign.CraftPath = filePathNew + pdfName + ".pdf";
  837. DataTable dtComMsc = CraftOrdDesignCtrl.GetComMscByOrdLnPk(craftOrdDesign.OrdLnPk, ob);
  838. string strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraft.cpt&bypagesize=false&format=pdf&embed=true"
  839. + "&desgin_key=" + craftOrdDesign.DesginKey + "&lnpk=" + craftOrdDesign.OrdLnPk;
  840. if (dtComMsc.Rows[0]["DEPARTMENT_CODE"].ToString() == "002001007")
  841. {
  842. strurl = "http://172.54.10.42:8080/webroot/decision/view/report?viewlet=RepTechOrderLineCraftCenter.cpt&bypagesize=false&format=pdf&embed=true"
  843. + "&desgin_key=" + craftOrdDesign.DesginKey + "&lnpk=" + craftOrdDesign.OrdLnPk;
  844. }
  845. byte[] pdf = webClient.DownloadData(strurl);
  846. FileBean fileBean = new FileBean();
  847. fileBean.setFile(pdf);
  848. fileBean.setFileName(pdfName + ".pdf");
  849. fileBean.setPathName(filePathNew);
  850. listPdf.Add(fileBean);
  851. }
  852. webClient.Dispose();
  853. return FileHelper.Upload(listPdf);
  854. }
  855. private DataTable GetCraftDesignSts(string ordLnPk)
  856. {
  857. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftDesignSts",
  858. new object[] { ordLnPk }, ob);
  859. return dt;
  860. }
  861. private void Lock()
  862. {
  863. ultraGridOrderLine.UpdateData();
  864. IQueryable<UltraGridRow> queryable = ultraGridOrderLine.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  865. if (queryable.Count() == 0)
  866. {
  867. MessageUtil.ShowWarning("请选择一条记录,然后再进行操作!");
  868. return;
  869. }
  870. ArrayList list = new ArrayList();
  871. string ordLnPk = "";
  872. foreach (UltraGridRow row in queryable)
  873. {
  874. DataTable dtOrdLn = GetOrdLnState(row.GetValue("ORD_LN_PK"));
  875. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  876. {
  877. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许封锁!");
  878. return;
  879. }
  880. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  881. List<CraftOrdDesignEntity> craftOrdDesignList = craftOrdDesignBLL.Query(new CraftOrdDesignEntity()
  882. {
  883. OrdLnPk = row.GetValue("ORD_LN_PK")
  884. }, UserInfo.DataPurviewIds, UserInfo.GetUserID());
  885. int lockCnt = craftOrdDesignList.Where(a => a.LockFlag == "1").Count();
  886. if (lockCnt >= 1)
  887. {
  888. MessageUtil.ShowWarning("当前合同行正在工艺评审,不允许再次封锁!");
  889. return;
  890. }
  891. DataTable dt = QueryPlnSaleorder(row.GetValue("ORD_LN_PK"));
  892. if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0")
  893. {
  894. MessageUtil.ShowWarning("当前合同行已经排产,不允许封锁!");
  895. return;
  896. }
  897. CraftOrdDesignEntity craftOrdDesign = new CraftOrdDesignEntity();
  898. craftOrdDesign.OrdLnPk = row.GetValue("ORD_LN_PK");
  899. ordLnPk = craftOrdDesign.OrdLnPk;
  900. craftOrdDesign.CreateName = UserInfo.GetUserName();
  901. list.Add(JSONFormat.Format(craftOrdDesign));
  902. }
  903. if (MessageUtil.ShowYesNoAndQuestion("是否确认封锁?") == DialogResult.No)
  904. {
  905. return;
  906. }
  907. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.lock",
  908. new object[] { list }, ob);
  909. MessageUtil.ShowTips("封锁成功!");
  910. doQuery("");
  911. IQueryable<UltraGridRow> queryableActive = ultraGridOrderLine.Rows.AsQueryable().Where(
  912. a => a.GetValue("ORD_LN_PK") == ordLnPk);
  913. if (queryableActive.Count() > 0)
  914. {
  915. queryableActive.First().Activate();
  916. }
  917. }
  918. private void Unlock()
  919. {
  920. ultraGridOrderLine.UpdateData();
  921. IQueryable<UltraGridRow> queryable = ultraGridOrderLine.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  922. if (queryable.Count() == 0)
  923. {
  924. MessageUtil.ShowWarning("请选择一条记录,然后再进行操作!");
  925. return;
  926. }
  927. else if (queryable.Count() >= 2)
  928. {
  929. MessageUtil.ShowWarning("不能同时解锁多条记录,请选择一条记录进行解锁!");
  930. return;
  931. }
  932. ArrayList list = new ArrayList();
  933. UltraGridRow row = queryable.First();
  934. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  935. List<CraftOrdDesignEntity> craftOrdDesignList = craftOrdDesignBLL.Query(new CraftOrdDesignEntity()
  936. {
  937. OrdLnPk = row.GetValue("ORD_LN_PK")
  938. }, UserInfo.DataPurviewIds, UserInfo.GetUserID());
  939. IEnumerable<CraftOrdDesignEntity> queryableLock = craftOrdDesignList.Where(
  940. a => a.LockFlag == "1" && a.CraftSeq.ToString() == row.GetValue("CRAFT_SEQ"));
  941. if (queryableLock.Count() == 0)
  942. {
  943. MessageUtil.ShowWarning("当前合同行不是封锁状态,不允许解锁!");
  944. return;
  945. }
  946. CraftOrdDesignEntity craftOrdDesign = new CraftOrdDesignEntity();
  947. craftOrdDesign.OrdLnPk = row.GetValue("ORD_LN_PK");
  948. craftOrdDesign.CraftSeq = decimal.Parse(row.GetValue("CRAFT_SEQ"));
  949. craftOrdDesign.CraftNo = "";
  950. craftOrdDesign.DesginKey = "";
  951. craftOrdDesign.LockFlag = "0";
  952. craftOrdDesign.UpdateName = UserInfo.GetUserName();
  953. craftOrdDesign.CreateName = UserInfo.GetUserName();
  954. CraftNoPopup craftNoPopup = new CraftNoPopup();
  955. DialogResult dialogResutl = craftNoPopup.ShowDialog();
  956. if (dialogResutl == DialogResult.OK)
  957. {
  958. craftOrdDesign.CraftNo = craftNoPopup.UltraTextEditor1.Text.Trim();
  959. }
  960. else
  961. {
  962. return;
  963. }
  964. list.Add(JSONFormat.Format(craftOrdDesign));
  965. if (MessageUtil.ShowYesNoAndQuestion("是否确认解锁?") == DialogResult.No)
  966. {
  967. return;
  968. }
  969. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.unlock",
  970. new object[] { list }, ob);
  971. MessageUtil.ShowTips("解锁成功!");
  972. doQuery("");
  973. IQueryable<UltraGridRow> queryableActive = ultraGridOrderLine.Rows.AsQueryable().Where(
  974. a => a.GetValue("ORD_LN_PK") == craftOrdDesign.OrdLnPk);
  975. if (queryableActive.Count() > 0)
  976. {
  977. queryableActive.First().Activate();
  978. }
  979. }
  980. private DataTable QueryPlnSaleorder(string ordLnPk)
  981. {
  982. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.queryPlnSaleorder",
  983. new object[] { ordLnPk }, ob);
  984. return dt;
  985. }
  986. private void QueryCraft()
  987. {
  988. if (ultraGridOrderLine.ActiveRow == null) return;
  989. this.Cursor = Cursors.WaitCursor;
  990. try
  991. {
  992. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"));
  993. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  994. && UserInfo.GetUserID() != "admin")
  995. {
  996. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ", 不能操作工艺文件!");
  997. return;
  998. }
  999. CraftOrdDesignPopup craftOrdDesignPopup = new CraftOrdDesignPopup(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"), ob, this);
  1000. //craftOrdDesignPopup.FormClosed += new FormClosedEventHandler((a, b) =>
  1001. //{
  1002. // this.BeginInvoke(new HandledEventHandler((sender, e) =>
  1003. // {
  1004. // this.Cursor = Cursors.WaitCursor;
  1005. // this.Relocate(sender.ToString());
  1006. // }), ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"), null);
  1007. //});
  1008. craftOrdDesignPopup.Disposed += new EventHandler((a, b) =>
  1009. {
  1010. string ordLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK");
  1011. doQuery(ordLnPk);
  1012. var row = ultraGridOrderLine.Rows.Where(c => c.GetValue("ORD_LN_PK") == ordLnPk).FirstOrDefault();
  1013. if (row != null)
  1014. {
  1015. row.Activate();
  1016. }
  1017. });
  1018. craftOrdDesignPopup.IsPopup = true;
  1019. craftOrdDesignPopup.Show();
  1020. }
  1021. finally
  1022. {
  1023. this.Cursor = Cursors.Default;
  1024. }
  1025. }
  1026. /// <summary>
  1027. /// 保存按钮,update周期修正值。
  1028. /// </summary>
  1029. private void doSave()
  1030. {
  1031. if (ultraGridOrderLine.ActiveRow == null)
  1032. {
  1033. MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1034. return;
  1035. }
  1036. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  1037. if (ultraGridMscPlPc.ActiveRow == null)
  1038. {
  1039. MessageBox.Show("请先选择生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1040. return;
  1041. }
  1042. //当没有选择项时,给出提示。
  1043. int chkNumber = 0;
  1044. foreach (UltraGridRow row in ultraGridMscPlPc.Rows)
  1045. {
  1046. if (Convert.ToBoolean(row.Cells["CHK"].Value))
  1047. {
  1048. chkNumber++;
  1049. }
  1050. }
  1051. if (chkNumber <= 0)
  1052. {
  1053. MessageBox.Show("请先选中需要保存的生产周期。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1054. return;
  1055. }
  1056. ArrayList parms = new ArrayList();
  1057. foreach (UltraGridRow row in ultraGridMscPlPc.Rows)
  1058. {
  1059. if (Convert.ToBoolean(row.Cells["CHK"].Value))
  1060. {
  1061. ArrayList parm = new ArrayList();
  1062. parm.Add(row.Cells["CYC_EDIT"].Value.ToString());
  1063. parm.Add(row.Cells["DESGIN_KEY"].Value.ToString());
  1064. parm.Add(row.Cells["ORD_LN_DLY_PK"].Value.ToString());
  1065. parm.Add(row.Cells["MSC_PLINE"].Value.ToString());
  1066. parms.Add(parm);
  1067. }
  1068. }
  1069. //执行数据库相关操作
  1070. CoreClientParam ccp = new CoreClientParam();
  1071. //服务端的包名+类名
  1072. ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology";
  1073. //类里的方法名
  1074. ccp.MethodName = "UpdateCraftMscPlPc";
  1075. ccp.ServerParams = new object[] { parms };
  1076. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1077. if (ccp.ReturnCode == -1)
  1078. {
  1079. return;
  1080. }
  1081. else
  1082. {
  1083. MessageBox.Show("保存成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1084. GetMscPlPc(ordLnPk);
  1085. }
  1086. }
  1087. private void RollBack()
  1088. {
  1089. if (ultraGridOrderLine.ActiveRow == null)
  1090. {
  1091. MessageUtil.ShowWarning("请选择一条记录,再进行操作!");
  1092. return;
  1093. }
  1094. DataRow plnSaleOrd = getPlnSaleOrdByPk(ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK"));
  1095. if (plnSaleOrd != null && ultraGridOrderLine.ActiveRow.GetValue("REVIEW_STATUS") != "制定中")
  1096. {
  1097. if (plnSaleOrd["JGORD_IS_OK"].ToString() == "1")
  1098. {
  1099. MessageUtil.ShowWarning("计划接箍订单已经形成,不允许工艺回退!");
  1100. return;
  1101. }
  1102. else if (plnSaleOrd["DJBL_REQ_IS_OK"].ToString() == "1")
  1103. {
  1104. MessageUtil.ShowWarning("计划短节备料订单已经形成,不允许工艺回退!");
  1105. return;
  1106. }
  1107. }
  1108. if (ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL") && ultraGridOrderLine.ActiveRow.GetValue("REVIEW_STATUS") != "制定中")
  1109. {
  1110. MessageUtil.ShowWarning("只有制定中的备料码才可以工艺回退!");
  1111. return;
  1112. }
  1113. string craftSeq = ultraGridOrderLine.ActiveRow.GetValue("CRAFT_SEQ");
  1114. frmDesignFallBack frmFallBack = new frmDesignFallBack(pOrdLnPk, craftSeq, true, ob);
  1115. frmFallBack.ShowDialog();
  1116. Relocate(pOrdLnPk);
  1117. }
  1118. private void ShowMsc()
  1119. {
  1120. if (ultraGridOrderLine.ActiveRow == null) return;
  1121. var row = ultraGridOrderLine.ActiveRow;
  1122. string psc = row.GetValue("PSC");
  1123. string msc = "";
  1124. string dimater = "";
  1125. string height = "";
  1126. string specCode = "";
  1127. msc = row.GetValue("MSC");
  1128. dimater = row.GetValue("DIMATER");
  1129. height = row.GetValue("HEIGHT");
  1130. specCode = row.GetValue("SPEC_CODE");
  1131. string ordLnPk = row.GetValue("ORD_LN_PK");
  1132. string custAlphaNo = "";
  1133. string specialDesc = "";
  1134. if (!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL"))
  1135. {
  1136. DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"));
  1137. custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString()
  1138. : dt.Rows[0]["CUST_ALPHA_NO"].ToString();
  1139. specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  1140. }
  1141. FrmProPSCMSC2Popup popup = new FrmProPSCMSC2Popup(new string[] { psc, msc, dimater, height, specCode, ordLnPk},
  1142. custAlphaNo, specialDesc, "", ordLnPk, true, this.ValidDataPurviewIds, StdExceptionType.AllMsc, "", ob);
  1143. popup.ShowDialog();
  1144. }
  1145. /// <summary>
  1146. /// 评审通过
  1147. /// </summary>
  1148. private void doReviewPass(string y)
  1149. {
  1150. ultraGridOrderLine.UpdateData();
  1151. if (ultraGridOrderLine.ActiveRow == null)
  1152. {
  1153. MessageBox.Show("请先选择合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1154. return;
  1155. }
  1156. int ucount = 0;
  1157. ArrayList paramPassList = new ArrayList();
  1158. ArrayList paramOrdPk = new ArrayList();
  1159. //提取出来,用于完成之后聚焦。
  1160. string ordLnPk = "";
  1161. foreach (UltraGridRow urow in ultraGridOrderLine.Rows)
  1162. {
  1163. if (Convert.ToBoolean(urow.Cells["CHK"].Value))
  1164. {
  1165. //执行事务,改变评审主表、项目表、明细表状态为评审通过S。改变合同行状态为技术评审通过。
  1166. string deviewNo = urow.Cells["REVIEW_NO"].Value.ToString();
  1167. string ordPk = urow.Cells["ORD_PK"].Value.ToString();
  1168. ordLnPk = urow.Cells["ORD_LN_PK"].Value.ToString();
  1169. string reviewMan = UserInfo.GetUserName();
  1170. string reviewDept = UserInfo.GetDepartment();
  1171. //如果当前选中行的评审状态为失败或通过,return。
  1172. string reviewStatus = GetReviewStatus(ordLnPk);
  1173. //WD如果为待审或评审中,则继续操作,否则组织操作。
  1174. if ("W".Equals(reviewStatus) || "D".Equals(reviewStatus))
  1175. {
  1176. ucount++;
  1177. if ("1".Equals(y))
  1178. {
  1179. if (!"通过".Equals(urow.Cells["DESIGN_STS"].Value.ToString()))
  1180. {
  1181. MessageBox.Show("请先完成工艺制定。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1182. urow.Activate();
  1183. return;
  1184. }
  1185. //if ("评审通过".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString()))
  1186. //{
  1187. // MessageBox.Show("当前合同行,已通过技术评审,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1188. // urow.Activate();
  1189. // return;
  1190. //}
  1191. }
  1192. else
  1193. {
  1194. if ("评审失败".Equals(urow.Cells["REVIEW_STATUS"].Value.ToString()))
  1195. {
  1196. MessageBox.Show("当前合同行,评审状态为评审失败,不允许重复提交。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1197. urow.Activate();
  1198. return;
  1199. }
  1200. }
  1201. if ("002001001001" != UserInfo.GetDeptid() && UserInfo.GetUserID() != "admin" && UserInfo.GetUserID() != "19880049" || !(this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua"))
  1202. {
  1203. MessageUtil.ShowWarning("只有制造部-计划科的人员,才能进行评审操作!");
  1204. return;
  1205. }
  1206. ArrayList param = new ArrayList();
  1207. param.Add(deviewNo);
  1208. param.Add(ordPk);
  1209. param.Add(ordLnPk);
  1210. param.Add(reviewMan);
  1211. param.Add(reviewDept);
  1212. //用于判断是技术评审通过还是失败。
  1213. //param.Add(y);
  1214. paramPassList.Add(param);
  1215. //获取合同头集合,用于修正合同头状态。
  1216. paramOrdPk.Add(ordPk);
  1217. }
  1218. else
  1219. {
  1220. MessageBox.Show("当前合同行技术评审完毕,不允许再次执行技术评审。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1221. return;
  1222. }
  1223. }
  1224. }
  1225. if ("0".Equals(y))
  1226. {
  1227. if (MessageBox.Show("是否确认执行技术评审失败操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  1228. {
  1229. return;
  1230. }
  1231. }
  1232. else if ("1".Equals(y))
  1233. {
  1234. if (MessageBox.Show("是否确认执行技术评审通过操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  1235. {
  1236. return;
  1237. }
  1238. }
  1239. if (ucount <= 0)
  1240. {
  1241. MessageBox.Show("请先勾选需要操作的合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1242. return;
  1243. }
  1244. //执行数据库相关操作
  1245. CoreClientParam ccp = new CoreClientParam();
  1246. //服务端的包名+类名
  1247. ccp.ServerName = "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology";
  1248. //类里的方法名
  1249. ccp.MethodName = "doReviewPass";
  1250. ccp.ServerParams = new object[] { paramPassList, y };
  1251. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1252. if (ccp.ReturnCode == -1)
  1253. {
  1254. return;
  1255. }
  1256. else
  1257. {
  1258. string[] strs = paramOrdPk.Cast<string>().Distinct().ToArray();
  1259. for (int j = 0; j < strs.Length; j++)
  1260. {
  1261. if ("1".Equals(y))
  1262. {
  1263. //依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。
  1264. DataTable GetLineDt = GetLineDtByOrdPk(strs[j]);
  1265. if (GetLineDt.Rows.Count <= 0)
  1266. {
  1267. //没有,则合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。
  1268. UpdateOrderHead(strs[j]);
  1269. }
  1270. }
  1271. else
  1272. {
  1273. //依据当前合同行所属合同头Key,判断该合同头状态是否为技术评审通过。
  1274. DataTable ordHeadSts = GetOrderHeadSts(strs[j]);
  1275. if (ordHeadSts.Rows.Count > 0)
  1276. {
  1277. string ordSts = ordHeadSts.Rows[0][0].ToString();
  1278. if ("12020202".Equals(ordSts))
  1279. {
  1280. //则修改其状态为技术评审失败。12020203
  1281. UpdateOrderHeadSts(strs[j]);
  1282. }
  1283. //否则,不修改其状态。
  1284. }
  1285. }
  1286. }
  1287. doQuery("");
  1288. //聚焦当前选中合同行。
  1289. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  1290. {
  1291. if (ordLnPk.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
  1292. {
  1293. row.Activate();
  1294. break;
  1295. }
  1296. }
  1297. }
  1298. }
  1299. /// <summary>
  1300. /// 获取当前合同头状态。
  1301. /// </summary>
  1302. /// <param name="ordPk"></param>
  1303. /// <returns></returns>
  1304. private DataTable GetOrderHeadSts(string ordPk)
  1305. {
  1306. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderHeadSts",
  1307. new object[] { ordPk }, this.ob);
  1308. }
  1309. /// <summary>
  1310. /// 修改当前合同头状态为技术评审失败
  1311. /// </summary>
  1312. /// <param name="ordSts"></param>
  1313. private void UpdateOrderHeadSts(string ordPk)
  1314. {
  1315. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHeadSts",
  1316. new object[] { ordPk }, this.ob);
  1317. }
  1318. /// <summary>
  1319. /// 获取冶金规范的使用次数
  1320. /// </summary>
  1321. /// <param name="ordLnPk"></param>
  1322. /// <returns></returns>
  1323. private DataTable GetComMscByOrdLnPk(string ordLnPk)
  1324. {
  1325. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getComMscByOrdLnPk",
  1326. new object[] { ordLnPk }, ob);
  1327. }
  1328. /// <summary>
  1329. /// 合同行均为技术评审通过以上的状态,合同头状态修正为技术评审通过。
  1330. /// </summary>
  1331. private void UpdateOrderHead(string ordPk)
  1332. {
  1333. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderHead",
  1334. new Object[] { ordPk }, this.ob);
  1335. }
  1336. /// <summary>
  1337. /// 依据当前合同行所属合同头Key,查询该合同头下是否还有技术评审通过以下的合同行。
  1338. /// </summary>
  1339. /// <param name="ordPk"></param>
  1340. /// <returns></returns>
  1341. private DataTable GetLineDtByOrdPk(string ordPk)
  1342. {
  1343. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetLineDtByOrdPk",
  1344. new Object[] { ordPk }, this.ob);
  1345. }
  1346. private DataTable GetOrdLnState(string ordLnPk)
  1347. {
  1348. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getOrdLnState",
  1349. new object[] { ordLnPk }, ob);
  1350. return dt;
  1351. }
  1352. private Dictionary<string, string> _craftDataSourceDic = new Dictionary<string, string>();
  1353. public bool CheckQuality(string ordLnPk, bool isBackGround, OpeBase ob)
  1354. {
  1355. this.ob = ob;
  1356. string tipMsg = _operateType == "1" ? "刷新" : "制定";
  1357. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  1358. DataTable dtCraftDesignSts = GetCraftDesignSts(ordLnPk);
  1359. DataTable dtOrdLn = GetOrdLnState(ordLnPk);
  1360. DataTable dtMscUseCnt = GetComMscByOrdLnPk(ordLnPk);
  1361. if (isBackGround == false)
  1362. {
  1363. DataTable dtFailLstItem = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getFailLstItem",
  1364. new object[] { ordLnPk }, ob);
  1365. if (dtFailLstItem.Rows.Count == 0 || dtFailLstItem.Rows[0]["LST_ITEM"].ToString() != "试样码")
  1366. {
  1367. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ordLnPk);
  1368. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != CoreUserInfo.UserInfo.GetUserID()
  1369. && UserInfo.GetUserID() != "admin")
  1370. {
  1371. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",没有权限进行工艺" + tipMsg + "!");
  1372. return false;
  1373. }
  1374. }
  1375. }
  1376. if (dtMscUseCnt.Rows.Count > 0 && int.Parse(dtMscUseCnt.Rows[0]["USER_COUNT"].ToString()) == 0)
  1377. {
  1378. if (!isBackGround)
  1379. {
  1380. MessageUtil.ShowWarning("冶金规范的可使用次数为0,不能再进行工艺" + tipMsg + "!");
  1381. }
  1382. return false;
  1383. }
  1384. if (!ordLnPk.StartsWith("BL"))
  1385. {
  1386. if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  1387. {
  1388. MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺" + tipMsg + "!");
  1389. return false;
  1390. }
  1391. if (decimal.Parse(dtOrdLn.Rows[0]["ORDER_LN_STATUS"].ToString()) < decimal.Parse("12020301"))
  1392. {
  1393. MessageUtil.ShowWarning("生效前的合同行,不允许工艺" + tipMsg + "!");
  1394. return false;
  1395. }
  1396. if (decimal.Parse(dtOrdLn.Rows[0]["ORDER_LN_STATUS"].ToString()) >= decimal.Parse("12020602"))
  1397. {
  1398. MessageUtil.ShowWarning("缴库完毕的合同行,不允许工艺" + tipMsg + "!");
  1399. return false;
  1400. }
  1401. DataRow plnSaleOrd = getPlnSaleOrdByPk(ordLnPk);
  1402. CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryCraftByOrLnPk(new CraftOrdDesignEntity() { OrdLnPk = ordLnPk });
  1403. if (plnSaleOrd != null)
  1404. {
  1405. if (_operateType == "1")
  1406. {
  1407. if (plnSaleOrd["JGORD_IS_OK"].ToString() == "1")
  1408. {
  1409. MessageUtil.ShowWarning("计划接箍订单已经形成,不允许工艺刷新!");
  1410. return false;
  1411. }
  1412. else if (plnSaleOrd["DJBL_REQ_IS_OK"].ToString() == "1")
  1413. {
  1414. MessageUtil.ShowWarning("计划短节备料订单已经形成,不允许工艺刷新!");
  1415. return false;
  1416. }
  1417. }
  1418. else if (_operateType == "0")
  1419. {
  1420. if (plnSaleOrd["PORDERSTATUS"].ToString() == "1" && isBackGround == false)
  1421. {
  1422. MessageUtil.ShowWarning("计划科已经接收,请联系计划科退回处理!");
  1423. return false;
  1424. }
  1425. else if (craftOrdDesign != null && craftOrdDesign.Validflag == "1")
  1426. {
  1427. //if (plnSaleOrd["PORDERSTATUS"].ToString() == "2")
  1428. //{
  1429. // if (MessageUtil.ShowYesNoAndQuestion("该合同已经下发,是否进行工艺变更?") == DialogResult.No)
  1430. // {
  1431. // return false;
  1432. // }
  1433. //}
  1434. //else if (plnSaleOrd["PORDERSTATUS"].ToString() == "3")
  1435. //{
  1436. // if (MessageUtil.ShowYesNoAndQuestion("该合同正在生产中,是否进行工艺变更?") == DialogResult.No)
  1437. // {
  1438. // return false;
  1439. // }
  1440. //}
  1441. }
  1442. else if (decimal.Parse(plnSaleOrd["PORDERSTATUS"].ToString()) >= 4)
  1443. {
  1444. //MessageUtil.ShowWarning("该合同已经生产完成,不能再进行工艺制定!");
  1445. //return false;
  1446. }
  1447. }
  1448. }
  1449. }
  1450. else
  1451. {
  1452. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetOrderLineCntByBl",
  1453. new object[] { ordLnPk }, ob);
  1454. if (dt.Rows[0][0].ToString() != "0")
  1455. {
  1456. MessageUtil.ShowWarning("该备料被制造部接收状态的合同使用,不允许工艺制定!");
  1457. return false;
  1458. }
  1459. if (_operateType == "1")
  1460. {
  1461. MessageUtil.ShowWarning("备料码不允许工艺刷新!");
  1462. return false;
  1463. }
  1464. }
  1465. if (isBackGround == false && dtCraftDesignSts.Rows.Count > 0)
  1466. {
  1467. CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  1468. {
  1469. OrdLnPk = ordLnPk,
  1470. CraftSeq = decimal.Parse(dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() ==
  1471. "" ? "0" : dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString())
  1472. });
  1473. if (craftOrdDesign != null)
  1474. {
  1475. if (craftOrdDesign.Validflag == "4")
  1476. {
  1477. MessageUtil.ShowWarning("当前合同行有工艺文件正在审批中,不能进行工艺" + tipMsg + "!");
  1478. return false;
  1479. }
  1480. else if (craftOrdDesign.Validflag == "6")
  1481. {
  1482. MessageUtil.ShowWarning("当前合同行有工艺文件正在相关科室审核中,不能进行工艺" + tipMsg + "!");
  1483. return false;
  1484. }
  1485. else if (craftOrdDesign.Validflag == "7")
  1486. {
  1487. MessageUtil.ShowWarning("当前合同行有工艺文件正在批准中,不能进行工艺" + tipMsg + "!");
  1488. return false;
  1489. }
  1490. else if (craftOrdDesign.Validflag == "9")
  1491. {
  1492. if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为待生成,是否确认进行工艺制定?")
  1493. == System.Windows.Forms.DialogResult.No)
  1494. {
  1495. return false;
  1496. }
  1497. }
  1498. else if (craftOrdDesign.Validflag == "8")
  1499. {
  1500. if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为变更待生效,是否确认进行工艺制定?")
  1501. == System.Windows.Forms.DialogResult.No)
  1502. {
  1503. return false;
  1504. }
  1505. }
  1506. else if (craftOrdDesign.Validflag == "1" && _operateType == "0")
  1507. {
  1508. if (MessageUtil.ShowYesNoAndQuestion("当前合同行工艺评审状态为生效状态,是否确认进行工艺制定?")
  1509. == System.Windows.Forms.DialogResult.No)
  1510. {
  1511. return false;
  1512. }
  1513. }
  1514. }
  1515. }
  1516. //if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1"
  1517. // && isBackGround == false && _craftDataSourceDic.Count == 0)
  1518. //{
  1519. // Core.StlMes.Client.SaleOrder.Dialog.PopupAudit popupAudit = new Dialog.PopupAudit(
  1520. // string.Format("合同号{0}合同行{1}", dtOrdLn.Rows[0]["ORDER_NO"].ToString(), dtOrdLn.Rows[0]["ORDER_SEQ"].ToString()));
  1521. // popupAudit.MinimumSize = new Size(popupAudit.MinimumSize.Width + 50, popupAudit.MinimumSize.Height - 150);
  1522. // popupAudit.MaximumSize = new Size(popupAudit.MaximumSize.Width + 50, popupAudit.MaximumSize.Height - 150);
  1523. // popupAudit.BtnSubmit.Location = new Point(popupAudit.BtnSubmit.Location.X + 50, popupAudit.BtnSubmit.Location.Y);
  1524. // popupAudit.CmbAuditType.Width += 50;
  1525. // popupAudit.TxtAudit.Visible = false;
  1526. // popupAudit.CmbAuditType.Caption = "工艺制定来源";
  1527. // popupAudit.CmbAuditType.ComboBox.Items.Clear();
  1528. // popupAudit.CmbAuditType.ComboBox.Items.Add("取MPS");
  1529. // popupAudit.CmbAuditType.ComboBox.Items.Add("取MSC");
  1530. // if (popupAudit.ShowDialog() == DialogResult.OK)
  1531. // {
  1532. // if (popupAudit.CmbAuditType.Text == "取MPS")
  1533. // {
  1534. // _craftDataSourceDic.Add(ordLnPk, "取MPS");
  1535. // }
  1536. // else
  1537. // {
  1538. // //.......(工艺制定(MPS))
  1539. // _craftDataSourceDic.Add(ordLnPk, "取MSC");
  1540. // }
  1541. // }
  1542. // else
  1543. // {
  1544. // return false;
  1545. // //_craftDataSourceDic.Add(ordLnPk, "取MPS");
  1546. // }
  1547. //}
  1548. //else if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1"
  1549. // && _craftDataSourceDic.Count > 0)
  1550. //{
  1551. // string ordLnPkOld = _craftDataSourceDic.First().Key;
  1552. // _craftDataSourceDic.Add(ordLnPk, _craftDataSourceDic[ordLnPkOld]);
  1553. //}
  1554. //else
  1555. //{
  1556. // if (!_craftDataSourceDic.ContainsKey(ordLnPk))
  1557. // {
  1558. // _craftDataSourceDic.Add(ordLnPk, "取MSC");
  1559. // }
  1560. //}
  1561. if (_craftDataSourceDic.ContainsKey(ordLnPk))
  1562. {
  1563. _craftDataSourceDic.Remove(ordLnPk);
  1564. }
  1565. _craftDataSourceDic.Add(ordLnPk, "取MSC");
  1566. //if (!ordLnPk.StartsWith("BL") && dtOrdLn.Rows[0]["MPS_FL"].ToString() == "1")
  1567. //{
  1568. // _craftDataSourceDic.Add(ordLnPk, "取MPS");
  1569. //}
  1570. //else
  1571. //{
  1572. // _craftDataSourceDic.Add(ordLnPk, "取MSC");
  1573. //}
  1574. return true;
  1575. }
  1576. private bool _isBackGround = false;
  1577. public void Quality(string ordLnPk, bool isBackGround, OpeBase ob)
  1578. {
  1579. this.ob = ob;
  1580. string desPath = "";
  1581. string filePath = "";
  1582. _isBackGround = isBackGround;
  1583. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  1584. DataTable dtCraftDesignSts = GetCraftDesignSts(ordLnPk);
  1585. string crafSeq = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() : "";
  1586. //MPS
  1587. if (!ordLnPk.StartsWith("BL"))
  1588. {
  1589. if (_craftDataSourceDic[ordLnPk] == "取MPS")
  1590. {
  1591. CopyOrdToCraft(ordLnPk, "1", UserInfo.GetUserName(), isBackGround);
  1592. }
  1593. else
  1594. {
  1595. //.......(工艺制定(MPS))
  1596. CraftDesign(craftOrdDesignBLL, ordLnPk, crafSeq, isBackGround);
  1597. }
  1598. }
  1599. else
  1600. {
  1601. CraftDesign(craftOrdDesignBLL, ordLnPk, crafSeq, isBackGround);
  1602. }
  1603. //dtCraftDesignSts = GetCraftDesignSts(ordLnPk); //CRAF_SEQ变了
  1604. //crafSeq = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["CRAFT_SEQ"].ToString() : "";
  1605. //string designKey = dtCraftDesignSts.Rows.Count > 0 ? dtCraftDesignSts.Rows[0]["DESGIN_KEY"].ToString() : "";
  1606. //DataTable dtCraftDesignPl = GetDesignPlCraftNo(designKey);
  1607. //if (dtCraftDesignPl.Rows.Count > 0 && dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString() != "")
  1608. //{
  1609. // filePath = "Qcm/Craft_PL/" + dtCraftDesignPl.Rows[0]["MSC"].ToString() + "/" + dtCraftDesignPl.Rows[0]["MSC_PLINE"].ToString();
  1610. //}
  1611. //if (filePath != "")
  1612. //{
  1613. // desPath = "Qcm/Craft/" + ordLnPk + "/" + crafSeq;
  1614. // int copyCnt = CopyFtpFile(filePath, desPath);
  1615. // if(copyCnt > 0)
  1616. // {
  1617. // UpdateCraftNo(ordLnPk, dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString(), filePath);
  1618. // }
  1619. // else
  1620. // {
  1621. // UpdateCraftNo(ordLnPk, dtCraftDesignPl.Rows[0]["PROCESS_NO"].ToString(), "");
  1622. // }
  1623. // if (copyCnt == -1)
  1624. // {
  1625. // MessageUtil.ShowWarning("复制工艺文件失败,请重新工艺制定!");
  1626. // return;
  1627. // }
  1628. //}
  1629. }
  1630. /// <summary>
  1631. /// 质量设计
  1632. /// </summary>
  1633. private void doQuality()
  1634. {
  1635. ultraGridOrderLine.UpdateData();
  1636. _craftDataSourceDic.Clear();
  1637. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  1638. try
  1639. {
  1640. this.Cursor = Cursors.WaitCursor;
  1641. int chkCnt = ultraGridOrderLine.Rows.AsQueryable().Where("CHK = 'True'").Count();
  1642. if (chkCnt == 0)
  1643. {
  1644. MessageUtil.ShowWarning("请先选择合同行!");
  1645. return;
  1646. }
  1647. int i = 0;
  1648. sum = 0; //共sum条合同行执行质量设计
  1649. sumT = 0; //通过
  1650. sumF = 0; //失败
  1651. string ordLnPkT = "";
  1652. //刷新UltraGrid,选中与取消选中时,需要刷新UltraGrid。
  1653. ultraGridOrderLine.UpdateData();
  1654. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  1655. {
  1656. if (Convert.ToBoolean(row.Cells["CHK"].Value) == false) continue;
  1657. if (CheckQuality(row.GetValue("ORD_LN_PK"), false, ob) == false)
  1658. {
  1659. Relocate(ordLnPkT);
  1660. return;
  1661. }
  1662. }
  1663. WaitingForm2 wf3 = new WaitingForm2("正在执行工艺设计,请稍候......");
  1664. try
  1665. {
  1666. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  1667. {
  1668. if (Convert.ToBoolean(row.Cells["CHK"].Value))
  1669. {
  1670. i++;
  1671. ordLnPkT = row.GetValue("ORD_LN_PK");
  1672. Quality(row.GetValue("ORD_LN_PK"), false, ob);
  1673. }
  1674. }
  1675. if (i <= 0)
  1676. {
  1677. MessageBox.Show("当前没有选中合同行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1678. return;
  1679. }
  1680. if (sum <= 0)
  1681. {
  1682. return;
  1683. }
  1684. }
  1685. finally
  1686. {
  1687. wf3.Close();
  1688. }
  1689. if (_isRun == false)
  1690. {
  1691. MessageBox.Show("当前共" + sum + "条记录执行工艺制定," + sumT + "条记录通过," + sumF + "条记录不通过。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1692. }
  1693. Relocate(ordLnPkT);
  1694. }
  1695. finally
  1696. {
  1697. this.Cursor = Cursors.Default;
  1698. }
  1699. }
  1700. private void CraftDesign(CraftOrdDesignBLL craftOrdDesignBLL, string ordLnPk, string craftSeq, bool isBackground)
  1701. {
  1702. CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  1703. {
  1704. OrdLnPk = ordLnPk,
  1705. CraftSeq = decimal.Parse(craftSeq == "" ? "0" : craftSeq)
  1706. });
  1707. if (craftOrdDesign != null)
  1708. {
  1709. if (craftOrdDesign.Validflag == "1")
  1710. {
  1711. Quality(ordLnPk, "", isBackground);
  1712. }
  1713. else
  1714. {
  1715. //如果有多个合同行使用的DESIGN_KEY则不能清除工艺制定记录。
  1716. if (craftOrdDesignBLL.GetDesignKeyCnt(craftOrdDesign.DesginKey) >= 2)
  1717. {
  1718. Quality(ordLnPk, "", isBackground);
  1719. }
  1720. else
  1721. {
  1722. Quality(ordLnPk, craftOrdDesign.DesginKey, isBackground);
  1723. }
  1724. }
  1725. }
  1726. else
  1727. {
  1728. Quality(ordLnPk, "", isBackground);
  1729. }
  1730. if (!_isBackGround && UserInfo.GetUserID() != "admin")
  1731. {
  1732. //工艺指定,默认是点击工艺制定的人。
  1733. ArrayList list = new ArrayList();
  1734. list.Add(ordLnPk);
  1735. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.appoint",
  1736. new object[] { list, "", UserInfo.GetUserName(), UserInfo.GetUserID() }, ob);
  1737. }
  1738. }
  1739. /// <summary>
  1740. /// 获取制程工艺评审中的工艺文件号。
  1741. /// </summary>
  1742. /// <param name="desginKey"></param>
  1743. /// <returns></returns>
  1744. private DataTable GetDesignPlCraftNo(string desginKey)
  1745. {
  1746. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getDesignPlCraftNo",
  1747. new object[] { desginKey }, ob);
  1748. return dt;
  1749. }
  1750. /// <summary>
  1751. /// 修改工艺文件号并置为生效状态
  1752. /// </summary>
  1753. /// <param name="ordLnPk"></param>
  1754. private void UpdateCraftNo(string ordLnPk, string craftNo, string craftPath)
  1755. {
  1756. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.updateCraftNo",
  1757. new object[] { ordLnPk, craftNo, craftPath }, ob);
  1758. }
  1759. /// <summary>
  1760. /// 复制FTP服务器不同目录的文件。
  1761. /// </summary>
  1762. /// <param name="srcPath"></param>
  1763. /// <param name="desPath"></param>
  1764. public int CopyFtpFile(string srcPath, string desPath)
  1765. {
  1766. List<FileBean> list = FileHelper.Download(srcPath);
  1767. int i = 0;
  1768. foreach (FileBean file in list)
  1769. {
  1770. file.setPathName(desPath);
  1771. i++;
  1772. }
  1773. bool result = FileHelper.Upload(list);
  1774. if (result)
  1775. {
  1776. return i;
  1777. }
  1778. else
  1779. {
  1780. return -1;
  1781. }
  1782. }
  1783. /// <summary>
  1784. /// 查询工艺指派记录
  1785. /// </summary>
  1786. /// <param name="ordLnPk"></param>
  1787. /// <returns></returns>
  1788. private DataTable GetCraftDesignAppointByPk(string ordLnPk)
  1789. {
  1790. DataTable dt = ServerHelper.GetData(
  1791. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getCraftDesignAppointByPk",
  1792. new object[] { ordLnPk }, ob);
  1793. return dt;
  1794. }
  1795. private void Relocate(string ordLnPk)
  1796. {
  1797. doQuery("");
  1798. foreach (UltraGridRow rowT in ultraGridOrderLine.Rows)
  1799. {
  1800. if (ordLnPk.Equals(rowT.Cells["ORD_LN_PK"].Value.ToString()))
  1801. {
  1802. rowT.Activate();
  1803. break;
  1804. }
  1805. }
  1806. }
  1807. private void CopyOrdToCraft(string ordLnPk, string craftSrc, string userName, bool isBackground)
  1808. {
  1809. sum++;
  1810. object obj = ServerHelper.SetDataReturnObj("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.copyOrdToCraft",
  1811. new object[] { ordLnPk, craftSrc, userName, _operateType}, ob);
  1812. if (!_isBackGround && UserInfo.GetUserID() != "admin")
  1813. {
  1814. //工艺指定,默认是点击工艺制定的人。
  1815. ArrayList list = new ArrayList();
  1816. list.Add(ordLnPk);
  1817. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.appoint",
  1818. new object[] { list, UserInfo.GetUserName(), UserInfo.GetUserName(), UserInfo.GetUserID() }, ob);
  1819. }
  1820. if (obj.ToString() == "S")
  1821. {
  1822. if (_craftOrdDesignBLL == null)
  1823. {
  1824. _craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  1825. }
  1826. //自动生成工艺文件
  1827. string designStyle = isBackground ? "0" : "1";
  1828. try
  1829. {
  1830. this.Cursor = Cursors.WaitCursor;
  1831. if (_craftOrdDesignBLL.AutoCreateCraft(ordLnPk, designStyle))
  1832. {
  1833. //PlnCraftChange(ordLnPk, false, isBackgound, ob);
  1834. }
  1835. }
  1836. finally
  1837. {
  1838. this.Cursor = Cursors.Default;
  1839. }
  1840. sumT++;
  1841. }
  1842. else
  1843. {
  1844. sumF++;
  1845. }
  1846. }
  1847. private DataRow GetMscBLByPk(string bLCode)
  1848. {
  1849. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.BLCodeManage.queryMscBlByPk",
  1850. new object[] { bLCode }, ob);
  1851. return dt.Rows[0];
  1852. }
  1853. /// <summary>
  1854. /// 获取合同行技术评审状态。
  1855. /// </summary>
  1856. /// <param name="ordLnPk"></param>
  1857. /// <returns></returns>
  1858. private string GetReviewStatus(string ordLnPk)
  1859. {
  1860. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetReviewStatus",
  1861. new Object[] { ordLnPk }, this.ob);
  1862. if (dt.Rows.Count > 0)
  1863. {
  1864. return dt.Rows[0][0].ToString();
  1865. }
  1866. else
  1867. {
  1868. return "";
  1869. }
  1870. }
  1871. private int sum = 0;
  1872. private int sumT = 0;
  1873. private int sumF = 0;
  1874. /// <summary>
  1875. /// 质量设计方法
  1876. /// </summary>
  1877. private void Quality(string ordLnPk, string designKey, bool isBackgound)
  1878. {
  1879. if (AskRollBack() == false) return;
  1880. string flag = ordLnPk.StartsWith("BL") ? "1" : "0";
  1881. CoreClientParam ccp = new CoreClientParam();
  1882. ccp.ServerName = "com.steering.pss.sale.order.craftDesign.main.CraftDesignMain";
  1883. ccp.MethodName = "craftDesign";
  1884. string isOrderReport = _isBackGround ? "0" : "1";//0表示销售提报排产界面调用, 1表示工艺评审点击按钮调用
  1885. ccp.ServerParams = new object[] { ordLnPk, UserInfo.GetUserName(), designKey, flag, _operateType, isOrderReport};
  1886. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1887. if (ccp.ReturnCode == -1)
  1888. {
  1889. return;
  1890. }
  1891. else
  1892. {
  1893. if (!"".Equals(ccp.ReturnInfo))
  1894. {
  1895. MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1896. return;
  1897. }
  1898. sum++;
  1899. if (Convert.ToBoolean(ccp.ReturnObject.ToString()))
  1900. {
  1901. sumT++;
  1902. if (_craftOrdDesignBLL == null)
  1903. {
  1904. _craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  1905. }
  1906. //自动生成工艺文件
  1907. try
  1908. {
  1909. this.Cursor = Cursors.WaitCursor;
  1910. if (_craftOrdDesignBLL.AutoCreateCraft(ordLnPk, isOrderReport))
  1911. {
  1912. //PlnCraftChange(ordLnPk, false, isBackgound, ob);
  1913. }
  1914. }
  1915. finally
  1916. {
  1917. this.Cursor = Cursors.Default;
  1918. }
  1919. }
  1920. else
  1921. {
  1922. sumF++;
  1923. }
  1924. }
  1925. }
  1926. /// <summary>
  1927. /// 质量设计方法
  1928. /// </summary>
  1929. private void QualityBL(string blCode)
  1930. {
  1931. //循环遍历当前UltraGrid,判断行是否选中,选中则调用质量设计方法即可。
  1932. //循环调用质量设计方法。
  1933. if (AskRollBack() == false) return;
  1934. ArrayList param = new ArrayList();
  1935. param.Add(UserInfo.GetUserID());
  1936. CoreClientParam ccp = new CoreClientParam();
  1937. ccp.ServerName = "com.steering.pss.sale.order.qualityDesign.QualityDesignBL";
  1938. ccp.MethodName = "qualityDesignBL";
  1939. ccp.ServerParams = new object[] { blCode, UserInfo.GetUserName() };
  1940. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1941. //ccp.ReturnObject();
  1942. if (ccp.ReturnCode == -1)
  1943. {
  1944. return;
  1945. }
  1946. else
  1947. {
  1948. if (!"".Equals(ccp.ReturnInfo))
  1949. {
  1950. MessageBox.Show(ccp.ReturnInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1951. return;
  1952. }
  1953. sum++;
  1954. if (Convert.ToBoolean(ccp.ReturnObject.ToString()))
  1955. {
  1956. sumT++;
  1957. }
  1958. else
  1959. {
  1960. sumF++;
  1961. }
  1962. }
  1963. }
  1964. //如果orderNo为空就用查询区域的orderNo, 否则只查询指定的合同。
  1965. private DataTable GetParentData(string ordLnPk)
  1966. {
  1967. //模糊查询条件,合同号、评审状态W、F、S、设计状态。
  1968. string beginTime = "";
  1969. string endTime = "";
  1970. if (labelDateTimePicker1.Checked)
  1971. {
  1972. if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(30))
  1973. {
  1974. return null;
  1975. }
  1976. else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0))
  1977. {
  1978. return null;
  1979. }
  1980. beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss");
  1981. endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss");
  1982. }
  1983. DataTable dt;
  1984. if (CustomInfo == "Spline" || !checkBox1.Checked)
  1985. {
  1986. _isPopup = false;
  1987. }
  1988. else
  1989. {
  1990. _isPopup = true;
  1991. }
  1992. if (ordLnPk == "")
  1993. {
  1994. string orderNo = utxtOrderNo.Text.Trim();
  1995. string orderSts = cmbSts.Value.ToString().Trim();
  1996. string designSts = cmbDesignSts.Value.ToString().Trim();
  1997. string unit_code = UserInfo.GetDeptid();
  1998. string userId = UserInfo.GetUserID();
  1999. string userName = UserInfo.GetUserName();
  2000. string planStatus = lblCmbPlanStatus.Checked ? lblCmbPlanStatus.SelecteValue.ToString2() : "";
  2001. string urgent = chkUrgent.Checked ? "1" : "0";
  2002. ArrayList list = new ArrayList();
  2003. list.AddRange(designSts, orderNo, orderSts, unit_code, userId,
  2004. userName, beginTime, endTime, planStatus, urgent);
  2005. string supp = this.CustomInfo.ToString2().Contains("120504") ? "120504" : "";
  2006. if (this.CustomInfo.ToString2().Equals("120501"))
  2007. {
  2008. supp = "120501";
  2009. }
  2010. if (this.CustomInfo.ToString2().Equals("120504-BBHT"))
  2011. {
  2012. dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraftBBHT",
  2013. new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(),supp }, this.ob);
  2014. }
  2015. else{
  2016. dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraft",
  2017. new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(),supp }, this.ob);
  2018. }
  2019. }
  2020. else
  2021. {
  2022. DataRow drOld = slm_order_line.Select("ORD_LN_PK = '" + ordLnPk + "'")[0];
  2023. string orderNo = drOld["ORDER_NO"].ToString();
  2024. string orderSts = cmbSts.Value.ToString().Trim();
  2025. string designSts = cmbDesignSts.Value.ToString().Trim();
  2026. string unit_code = UserInfo.GetDeptid();
  2027. string userId = UserInfo.GetUserID();
  2028. string userName = UserInfo.GetUserName();
  2029. string planStatus = lblCmbPlanStatus.Checked ? lblCmbPlanStatus.SelecteValue.ToString2() : "";
  2030. string urgent = chkUrgent.Checked ? "1" : "0";
  2031. ArrayList list = new ArrayList();
  2032. list.AddRange(designSts, orderNo, orderSts, unit_code, userId,
  2033. userName, beginTime, endTime, planStatus, urgent);
  2034. string supp = this.CustomInfo.ToString2().Contains("120504") ? "120504" : "";
  2035. if (this.CustomInfo.ToString2().Equals("120501"))
  2036. {
  2037. supp = "120501";
  2038. }
  2039. DataTable dtNew = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.doQueryCraft",
  2040. new Object[] { list, this.ValidDataPurviewIds, _isPopup.ToString(), supp }, this.ob);
  2041. DataRow drNew = dtNew.Select("ORD_LN_PK = '" + ordLnPk + "'")[0];
  2042. for(int i = 0; i < slm_order_line.Columns.Count; i++)
  2043. {
  2044. if (dtNew.Columns.Contains(slm_order_line.Columns[i].ColumnName))
  2045. {
  2046. string str = drNew[slm_order_line.Columns[i].ColumnName].ToString();
  2047. if(str == "")
  2048. {
  2049. drOld[slm_order_line.Columns[i].ColumnName] = DBNull.Value;
  2050. }
  2051. else
  2052. {
  2053. drOld[slm_order_line.Columns[i].ColumnName] = drNew[slm_order_line.Columns[i].ColumnName].ToString();
  2054. }
  2055. }
  2056. }
  2057. dt = slm_order_line.Copy();
  2058. }
  2059. return dt;
  2060. }
  2061. /// <summary>
  2062. /// 获取客户和标准合并的附加要求
  2063. /// </summary>
  2064. /// <param name="addAskNo"></param>
  2065. /// <param name="stdCode"></param>
  2066. /// <returns></returns>
  2067. private DataTable GetOrdStdAddAskDesc(string addAskNo, string stdCode)
  2068. {
  2069. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getOrdStdAddAskDesc",
  2070. new object[] { addAskNo, stdCode }, ob);
  2071. }
  2072. /// <summary>
  2073. /// 合同行查询
  2074. /// </summary>
  2075. private void doQuery(string ordLnPk)
  2076. {
  2077. WaitingForm2 wf3 = new WaitingForm2("正在查询,请稍候....");
  2078. try
  2079. {
  2080. this.Cursor = Cursors.WaitCursor;
  2081. ultraGridOrderLine.BeginUpdate();
  2082. string beginTime = "";
  2083. string endTime = "";
  2084. if (labelDateTimePicker1.Checked)
  2085. {
  2086. if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) > TimeSpan.FromDays(90))
  2087. {
  2088. MessageUtil.ShowWarning("查询条件:合同行生效时间范围不能超过90天!");
  2089. labelDateTimePicker1.DateTimePicker.Focus();
  2090. return;
  2091. }
  2092. else if ((labelDateTimePicker2.Value.Date - labelDateTimePicker1.Value) < TimeSpan.FromDays(0))
  2093. {
  2094. MessageUtil.ShowWarning("查询条件:合同行生效时间的开始时间不能大于结束时间!");
  2095. labelDateTimePicker1.DateTimePicker.Focus();
  2096. return;
  2097. }
  2098. beginTime = labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2099. endTime = labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss");
  2100. }
  2101. //模糊查询条件,合同号、评审状态W、F、S、设计状态。
  2102. string orderNo = utxtOrderNo.Text.Trim();
  2103. string orderSts = cmbSts.Value.ToString().Trim();
  2104. string designSts = cmbDesignSts.Value.ToString().Trim();
  2105. string unit_code = UserInfo.GetDeptid();
  2106. if (UserInfo.GetUserID() == "admin" || UserInfo.GetUserID() == "19880049" || (this.CustomInfo.ToString2().Contains("120504") && UserInfo.GetUserID() == "longjinhua"))
  2107. {
  2108. unit_code = "";
  2109. }
  2110. //先清除交货信息子表记录,再清除合同行主表记录。
  2111. this.slm_order_line_delivery.Rows.Clear();
  2112. DataTable dt = GetParentData(ordLnPk);
  2113. //当合同行数据为空时,清空其下设计状态TABLE。
  2114. if (dt.Rows.Count <= 0)
  2115. {
  2116. //交付标准
  2117. this.slm_ord_design_std.Rows.Clear();
  2118. //制程
  2119. this.slm_ord_design_msc_pl.Rows.Clear();
  2120. //制程适用钢种
  2121. this.slm_ord_design_msc_pl_gz.Rows.Clear();
  2122. //投入、产出物料,现在好像没有该表。
  2123. this.slm_ord_design_msc_pl_In.Rows.Clear();
  2124. //接箍料
  2125. this.com_msc_jg.Rows.Clear();
  2126. //接箍备料
  2127. this.com_msc_bl.Rows.Clear();
  2128. //单独备料
  2129. this.slm_ord_design_msc_bl.Rows.Clear();
  2130. //生产周期主表
  2131. this.slm_ord_design_msc_pl_pc.Rows.Clear();
  2132. //生产周期明细
  2133. this.slm_ord_design_msc_pl_pc_lst.Rows.Clear();
  2134. //质量设计展示项目。
  2135. if (ctrlOrderLineDesign1.DesignDt != null)
  2136. {
  2137. ctrlOrderLineDesign1.DesignDt.Rows.Clear();
  2138. }
  2139. //质量设计不通过项目。
  2140. if (ctrlOrderLineDesign1.DesignDtNPass != null)
  2141. {
  2142. ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear();
  2143. }
  2144. _ctrlBom.BomBindingSource.Clear();
  2145. _ctrlBomBl.BomBindingSource.Clear();
  2146. _ctrlBomHead.BomBindingSource.Clear();
  2147. _ctrlBomI.BomIBindingSource.Clear();
  2148. _ctrlBomJg.BomBindingSource.Clear();
  2149. _ctrlBomJgBl.BomBindingSource.Clear();
  2150. }
  2151. //绑定数据时,先绑定主表。
  2152. GridHelper.CopyDataToDatatable(ref dt, ref this.slm_order_line, true);
  2153. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  2154. {
  2155. if (row.Cells.Exists("PLINE_SELECT"))
  2156. {
  2157. row.Cells["PLINE_SELECT"].Value = "产线确认";
  2158. }
  2159. }
  2160. ultraGridOrderLine.EndUpdate();
  2161. ultraGridOrderLine.UpdateData();
  2162. }
  2163. finally
  2164. {
  2165. wf3.Close();
  2166. this.Cursor = Cursors.Default;
  2167. }
  2168. }
  2169. /// <summary>
  2170. /// 获取当前合同行主键下面,设计状态不通过的管理科室。
  2171. /// </summary>
  2172. /// <param name="p"></param>
  2173. /// <returns></returns>
  2174. private DataTable isDesignV(string ordLnPk)
  2175. {
  2176. return ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.isDesignV",
  2177. new Object[] { ordLnPk }, this.ob);
  2178. }
  2179. /// <summary>
  2180. /// 查询区合同号查询事件。
  2181. /// </summary>
  2182. /// <param name="sender"></param>
  2183. /// <param name="e"></param>
  2184. private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
  2185. {
  2186. if (uchkOrderNo.Checked)
  2187. {
  2188. utxtOrderNo.ReadOnly = false;
  2189. }
  2190. else
  2191. {
  2192. utxtOrderNo.Text = "";
  2193. utxtOrderNo.ReadOnly = true;
  2194. }
  2195. }
  2196. /// <summary>
  2197. /// 查询区评审状态
  2198. /// </summary>
  2199. /// <param name="sender"></param>
  2200. /// <param name="e"></param>
  2201. private void uchkSts_CheckedChanged(object sender, EventArgs e)
  2202. {
  2203. if (uchkSts.Checked)
  2204. {
  2205. cmbSts.Enabled = true;
  2206. chkUrgent.Checked = false;
  2207. }
  2208. else
  2209. {
  2210. cmbSts.Enabled = false;
  2211. cmbSts.SelectedIndex = 0;
  2212. }
  2213. }
  2214. /// <summary>
  2215. /// 查询区设计状态
  2216. /// </summary>
  2217. /// <param name="sender"></param>
  2218. /// <param name="e"></param>
  2219. private void uchkDesignSts_CheckedChanged(object sender, EventArgs e)
  2220. {
  2221. if (uchkDesignSts.Checked)
  2222. {
  2223. cmbDesignSts.Enabled = true;
  2224. chkUrgent.Checked = false;
  2225. }
  2226. else
  2227. {
  2228. cmbDesignSts.Enabled = false;
  2229. cmbDesignSts.SelectedIndex = 0;
  2230. }
  2231. }
  2232. private string pOrdLnPk = "";
  2233. private string pDesignKey = "";
  2234. /// <summary>
  2235. /// 选中合同行时
  2236. /// </summary>
  2237. /// <param name="sender"></param>
  2238. /// <param name="e"></param>
  2239. private void ultraGridOrderLine_AfterRowActivate(object sender, EventArgs e)
  2240. {
  2241. try
  2242. {
  2243. this.Cursor = Cursors.WaitCursor;
  2244. if (_isRun == false && ckbAutoRefresh.Checked)
  2245. {
  2246. ckbAutoRefresh.Checked = false;
  2247. }
  2248. //获取设计状态和设计状态明细。
  2249. pOrdLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  2250. pDesignKey = ultraGridOrderLine.GetActiveRowValue("DESGIN_KEY");
  2251. string designKey = ultraGridOrderLine.ActiveRow.HasParent() ?
  2252. ultraGridOrderLine.ActiveRow.ParentRow.Cells["DESGIN_KEY"].Value.ToString() :
  2253. ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2254. GetOrdDesign(pOrdLnPk);
  2255. //获取质量设计失败项目。
  2256. GetOrdDesignNPass(pOrdLnPk);
  2257. GetDesginDownData(pOrdLnPk, designKey);
  2258. //通过。
  2259. //if (ultraGridOrderLine.ActiveRow.GetValue("DESIGN_STS") == "失败")
  2260. //{
  2261. // panel1.Visible = true;
  2262. //}
  2263. //else
  2264. //{
  2265. // panel1.Visible = false;
  2266. //}
  2267. }
  2268. finally
  2269. {
  2270. this.Cursor = Cursors.Default;
  2271. }
  2272. }
  2273. private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  2274. {
  2275. if (ultraGridOrderLine.ActiveRow == null) return;
  2276. this.Cursor = Cursors.WaitCursor;
  2277. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  2278. string designKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2279. GetDesginDownData(ordLnPk, designKey);
  2280. this.Cursor = Cursors.Default;
  2281. }
  2282. /// <summary>
  2283. /// 获取质量设计向下数据
  2284. /// </summary>
  2285. private void GetDesginDownData(string ordLnPk, string designKey)
  2286. {
  2287. if (ultraTabControl3.SelectedTab == null) return;
  2288. switch (ultraTabControl3.SelectedTab.Key)
  2289. {
  2290. case "0":
  2291. //产品交付要求数据绑定
  2292. GetDesignStd(designKey);
  2293. break;
  2294. case "1":
  2295. //生产制程,全程途径数据绑定。
  2296. GetDesignMscPl(designKey);
  2297. break;
  2298. case "2":
  2299. //接箍数据绑定。COM_MSC_JG
  2300. GetComMscJg(designKey);
  2301. break;
  2302. case "3":
  2303. //备料码数据绑定
  2304. GetMscBl(designKey);
  2305. break;
  2306. case "4":
  2307. //交货行数据绑定。
  2308. GetMscPlPc(ordLnPk);
  2309. break;
  2310. case "5":
  2311. GetBomHead(designKey);
  2312. break;
  2313. case "6":
  2314. GetPlsOrdProc(ordLnPk);
  2315. break;
  2316. case "7":
  2317. GetDesignWater(designKey);
  2318. break;
  2319. case "8":
  2320. GetDesignProcess(designKey);
  2321. break;
  2322. }
  2323. }
  2324. private void GetDesignWater(string designKey)
  2325. {
  2326. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignWater",
  2327. new object[] { designKey }, ob);
  2328. GridHelper.CopyDataToDatatable(dt, dataTable2, true);
  2329. }
  2330. private void GetDesignProcess(string designKey)
  2331. {
  2332. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignProcess",
  2333. new object[]{ designKey }, ob);
  2334. GridHelper.CopyDataToDatatable(dt, dataTable3, true);
  2335. }
  2336. /// <summary>
  2337. /// 获取计划排产队列
  2338. /// </summary>
  2339. private void GetPlsOrdProc(string ordLnPk)
  2340. {
  2341. UltraGridRow row = ultraGridOrderLine.ActiveRow;
  2342. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.queryPlnProcess",
  2343. new object[] { row.GetValue("ORD_LN_PK") }, ob);
  2344. GridHelper.CopyDataToDatatable(dt, dataTable1, true);
  2345. //PlnSaleordProcEntity plaOrdProcEntity = new PlnSaleordProcEntity();
  2346. //plaOrdProcEntity.CraftFileNo = row.GetValue("CRAFT_NO");
  2347. //plaOrdProcEntity.CraftNoV = row.GetValue("CRAFT_NO_V_C");
  2348. //_plaSaleOrdProcCtrl.Query(plaOrdProcEntity, ordLnPk);
  2349. }
  2350. /// <summary>
  2351. /// 备料码
  2352. /// </summary>
  2353. /// <param name="ordLnPk"></param>
  2354. private void GetMscBl(string designKey)
  2355. {
  2356. DataTable mscBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscBl",
  2357. new Object[] { designKey }, this.ob);
  2358. GridHelper.CopyDataToDatatable(ref mscBlDt, ref this.slm_ord_design_msc_bl, true);
  2359. ////列自适应
  2360. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscBl, new UltraGridColumn[] {
  2361. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]3
  2362. //});
  2363. }
  2364. private void GetBomHead(string designKey)
  2365. {
  2366. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  2367. "com.steering.pss.sale.order.CoreOrderReviewTechnology.getCraftBomLst", new object[] { designKey }, ob);
  2368. _ctrlBomHead.BomBindingSource.DataSource = listSource;
  2369. if (_ctrlBomHead.UltraGridBom.Rows.Count == 0)
  2370. {
  2371. _ctrlBom.BomBindingSource.Clear();
  2372. _ctrlBomJg.BomBindingSource.Clear();
  2373. _ctrlBomBl.BomBindingSource.Clear();
  2374. _ctrlBomI.BomIBindingSource.Clear();
  2375. _ctrlBomJgBl.BomBindingSource.Clear();
  2376. }
  2377. }
  2378. /// <summary>
  2379. /// 查询Bom
  2380. /// </summary>
  2381. private void GetBom(SlmOrdDesignBomEntity bom)
  2382. {
  2383. List<SlmOrdDesignBomEntity> listSource = new List<SlmOrdDesignBomEntity>();
  2384. listSource.Add(EntityHelper.CopyEntity<SlmOrdDesignBomEntity>(bom));
  2385. _ctrlBom.BomBindingSource.DataSource = listSource;
  2386. GridHelper.RefreshAndAutoSize(_ctrlBom.UltraGridBom);
  2387. if (_ctrlBom.UltraGridBom.Rows.Count == 0)
  2388. {
  2389. _ctrlBomI.BomIBindingSource.Clear();
  2390. }
  2391. }
  2392. /// <summary>
  2393. /// 查询BomJg
  2394. /// </summary>
  2395. private void GetBomJg(string bom)
  2396. {
  2397. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  2398. "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomJgLst", new object[] { bom }, ob);
  2399. _ctrlBomJg.BomBindingSource.DataSource = listSource;
  2400. GridHelper.RefreshAndAutoSize(_ctrlBomJg.UltraGridBom);
  2401. }
  2402. /// <summary>
  2403. /// 查询BomBl
  2404. /// </summary>
  2405. private void GetBomBl(string bom)
  2406. {
  2407. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  2408. "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomBlLst", new object[] { bom }, ob);
  2409. _ctrlBomBl.BomBindingSource.DataSource = listSource;
  2410. GridHelper.RefreshAndAutoSize(_ctrlBomBl.UltraGridBom);
  2411. }
  2412. private void GetBomJgBlByBom(string bom, string bomJg)
  2413. {
  2414. List<SlmOrdDesignBomEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomEntity>(
  2415. "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomLstByBomJg", new object[] { bom, bomJg }, ob);
  2416. _ctrlBomJgBl.BomBindingSource.DataSource = listSource;
  2417. GridHelper.RefreshAndAutoSize(_ctrlBomJgBl.UltraGridBom);
  2418. }
  2419. private void GetBomIByBom(string bom)
  2420. {
  2421. List<SlmOrdDesignBomIEntity> listSource = EntityHelper.GetData<SlmOrdDesignBomIEntity>(
  2422. "com.steering.pss.sale.order.CoreOrderReviewTechnology.getBomILst", new object[] { bom }, ob);
  2423. _ctrlBomI.BomIBindingSource.DataSource = listSource;
  2424. GridHelper.RefreshAndAutoSize(_ctrlBomI.UltraGridBomI);
  2425. }
  2426. /// <summary>
  2427. /// 交货行数据绑定。
  2428. /// </summary>
  2429. /// <param name="ordLnPk"></param>
  2430. private void GetMscPlPc(string ordLnPk)
  2431. {
  2432. DataTable mscPlPcDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscPlPc",
  2433. new Object[] { ordLnPk, "" }, this.ob);
  2434. if (mscPlPcDt.Rows.Count > 0)
  2435. {
  2436. GridHelper.CopyDataToDatatable(ref mscPlPcDt, ref this.slm_ord_design_msc_pl_pc, true);
  2437. foreach (UltraGridRow row in ultraGridMscPlPc.Rows)
  2438. {
  2439. row.SetValue("BTN", "维护");
  2440. }
  2441. }
  2442. else
  2443. {
  2444. this.slm_ord_design_msc_pl_pc.Rows.Clear();
  2445. this.slm_ord_design_msc_pl_pc_lst.Rows.Clear();
  2446. }
  2447. for (int i = 0; i < ultraGridMscPlPc.Rows.Count; i++)
  2448. {
  2449. //除最后一项,选择项外,其他项不可编辑。
  2450. for (int j = 0; j < ultraGridMscPlPc.Rows[i].Cells.Count - 1; j++)
  2451. {
  2452. ultraGridMscPlPc.Rows[i].Cells[j].Activation = Activation.ActivateOnly;
  2453. }
  2454. //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12
  2455. string prdCyc = Math.Round(Convert.ToDouble(ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value), 4).ToString();
  2456. ultraGridMscPlPc.Rows[i].Cells["PRD_CYC"].Value = prdCyc;
  2457. ultraGridMscPlPc.Rows[i].Cells["CHK"].Value = false;
  2458. }
  2459. ultraGridMscPlPc.UpdateData();
  2460. }
  2461. /// <summary>
  2462. /// 接箍数据绑定
  2463. /// </summary>
  2464. /// <param name="ordLnPk"></param>
  2465. private void GetComMscJg(string designKey)
  2466. {
  2467. DataTable comMscJgDt = ServerHelper.GetData(
  2468. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftComMscJg",
  2469. new Object[] { designKey }, this.ob);
  2470. if (comMscJgDt.Rows.Count > 0)
  2471. {
  2472. GridHelper.CopyDataToDatatable(ref comMscJgDt, ref this.com_msc_jg, true);
  2473. }
  2474. else
  2475. {
  2476. this.com_msc_jg.Rows.Clear();
  2477. this.com_msc_bl.Rows.Clear();
  2478. }
  2479. //列自适应
  2480. GridHelper.RefreshAndAutoSizeExceptColumns(ultraGridJg, "FILE_NAME", "MEMO", "JG_MEMO");
  2481. }
  2482. /// <summary>
  2483. /// 生产制程,全程途径数据绑定。
  2484. /// </summary>
  2485. /// <param name="ordLnPk"></param>
  2486. private void GetDesignMscPl(string designKey)
  2487. {
  2488. DataTable designMscPlDt = ServerHelper.GetData(
  2489. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPl",
  2490. new Object[] { designKey }, this.ob);
  2491. if (designMscPlDt.Rows.Count > 0)
  2492. {
  2493. GridHelper.CopyDataToDatatable(ref designMscPlDt, ref this.slm_ord_design_msc_pl, true);
  2494. }
  2495. else
  2496. {
  2497. this.slm_ord_design_msc_pl.Rows.Clear();
  2498. this.slm_ord_design_msc_pl_gz.Rows.Clear();
  2499. this.slm_ord_design_msc_pl_In.Rows.Clear();
  2500. this.slm_ord_design_msc_pl_gx_prl.Rows.Clear();
  2501. }
  2502. ////列自适应
  2503. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridDesignMscPl, new UltraGridColumn[] {
  2504. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2505. //});
  2506. }
  2507. /// <summary>
  2508. /// 产品交付要求数据绑定
  2509. /// </summary>
  2510. /// <param name="ordLnPk"></param>
  2511. private void GetDesignStd(string designKey)
  2512. {
  2513. DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignStd",
  2514. new Object[] { designKey }, this.ob);
  2515. GridHelper.CopyDataToDatatable(ref designDt, ref this.slm_ord_design_std, true);
  2516. }
  2517. /// <summary>
  2518. /// 用于判断,质量设计是否通过。
  2519. /// </summary>
  2520. private string orderDesignSts = "";
  2521. /// <summary>
  2522. /// 获取质量设计失败项目。
  2523. /// </summary>
  2524. /// <param name="ordPk"></param>
  2525. /// <param name="ordLnPk"></param>
  2526. private void GetOrdDesignNPass(string ordLnPk)
  2527. {
  2528. //质量设计状态DESIGN_STS='F'的项目。
  2529. DataTable designDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignNPass",
  2530. new Object[] { ordLnPk }, this.ob);
  2531. if (designDt.Rows.Count <= 0)
  2532. {
  2533. if (ctrlOrderLineDesign1.DesignDtNPass != null)
  2534. {
  2535. ctrlOrderLineDesign1.DesignDtNPass.Rows.Clear();
  2536. }
  2537. return;
  2538. }
  2539. DataTable orderLineDesign = new DataTable();
  2540. //设计状态主信息展示列。
  2541. orderLineDesign.Columns.Add("columns");
  2542. //*2是因为,每一行取2列,项目名称和管理科室。假设有12行记录,则该表有24列。
  2543. //项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。项目名称,失败原因。
  2544. for (int i = 0; i < designDt.Rows.Count; i++)
  2545. {
  2546. orderLineDesign.Columns.Add("columns" + i);
  2547. }
  2548. //项目名称
  2549. DataRow designRowItem = orderLineDesign.NewRow();
  2550. //管理科室
  2551. DataRow designRowUnitDesc = orderLineDesign.NewRow();
  2552. //所有相关参数
  2553. DataRow designRowKey = orderLineDesign.NewRow();
  2554. //整体设计状态展示。
  2555. //string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString();
  2556. //if ("W".Equals(designSts))
  2557. //{
  2558. // designSts = "等待";
  2559. //}
  2560. //else if ("S".Equals(designSts))
  2561. //{
  2562. // designSts = "通过";
  2563. //}
  2564. //else if ("F".Equals(designSts))
  2565. //{
  2566. // designSts = "失败";
  2567. //}
  2568. designRowItem["columns"] = "待维护项目";
  2569. designRowUnitDesc["columns"] = "管理科室";
  2570. //为新创建的表赋值。
  2571. //int j = 0;
  2572. for (int i = 0; i < designDt.Rows.Count; i++)
  2573. {
  2574. //项目名称
  2575. designRowItem["columns" + i] = designDt.Rows[i]["LST_ITEM"].ToString();
  2576. //管理科室
  2577. designRowUnitDesc["columns" + i] = designDt.Rows[i]["UNIT_DESC"].ToString();
  2578. //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值
  2579. //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY
  2580. designRowKey["columns" + i] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString() + "|" +
  2581. designDt.Rows[i]["PSC"].ToString() + "|" +
  2582. designDt.Rows[i]["MSC"].ToString() + "|" +
  2583. designDt.Rows[i]["USE_CODE"].ToString() + "|" +
  2584. designDt.Rows[i]["FINAL_USER"].ToString() + "|" +
  2585. designDt.Rows[i]["GRADECODE"].ToString() + "|" +
  2586. designDt.Rows[i]["UNIT_CODE"].ToString() + "|" +
  2587. designDt.Rows[i]["DESIGN_OBJ_KEY"].ToString();
  2588. }
  2589. //第一行存储了项目名称和失败原因参数。
  2590. orderLineDesign.Rows.Add(designRowItem);
  2591. orderLineDesign.Rows.Add(designRowUnitDesc);
  2592. orderLineDesign.Rows.Add(designRowKey);
  2593. ctrlOrderLineDesign1.DesignDtNPass = orderLineDesign;
  2594. ctrlOrderLineDesign1.binUltraGridNPass();
  2595. }
  2596. /// <summary>
  2597. /// 获取设计状态和设计状态明细。
  2598. /// </summary>
  2599. /// <param name="ordPk"></param>
  2600. /// <param name="ordLnPk"></param>
  2601. private void GetOrdDesign(string ordLnPk)
  2602. {
  2603. DataTable designDt = ServerHelper.GetData(
  2604. "com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesign",
  2605. new Object[] { ordLnPk }, this.ob);
  2606. if (designDt.Rows.Count <= 0)
  2607. {
  2608. orderDesignSts = "";
  2609. if (ctrlOrderLineDesign1.DesignDt != null)
  2610. {
  2611. ctrlOrderLineDesign1.DesignDt.Rows.Clear();
  2612. }
  2613. return;
  2614. }
  2615. orderDesignSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString();
  2616. DataTable orderLineDesign = new DataTable();
  2617. //总设计状态
  2618. orderLineDesign.Columns.Add("columns");
  2619. for (int i = 0; i < designDt.Rows.Count * 2; i++)
  2620. {
  2621. //有多少行,就有多少列,*2是因为每1行,取2列。设计状态和设计状态明细。
  2622. orderLineDesign.Columns.Add("columns" + i);
  2623. }
  2624. //项目名称行
  2625. DataRow designRowItem = orderLineDesign.NewRow();
  2626. //项目设计状态行。
  2627. DataRow designRowStsRs = orderLineDesign.NewRow();
  2628. //整体设计状态展示。
  2629. string designSts = designDt.Rows[0]["DESIGN_STS_MAIN"].ToString();
  2630. if ("W".Equals(designSts))
  2631. {
  2632. designSts = "等待";
  2633. }
  2634. else if ("S".Equals(designSts))
  2635. {
  2636. designSts = "通过";
  2637. }
  2638. else if ("F".Equals(designSts))
  2639. {
  2640. designSts = "失败";
  2641. }
  2642. designRowItem["columns"] = "工艺制定状态";
  2643. designRowStsRs["columns"] = designSts;
  2644. int j = 0;
  2645. //遍历所有行,获取相应数据。
  2646. for (int i = 0; i < designDt.Rows.Count; i++)
  2647. {
  2648. //构建第1行记录,第1列记录。
  2649. designRowItem["columns" + j] = designDt.Rows[i]["LST_ITEM"].ToString();
  2650. //构建第2行记录,第1列记录。
  2651. designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_RS"].ToString();
  2652. j++;
  2653. //构建第1行记录,第2列记录。
  2654. designRowItem["columns" + j] = "";
  2655. //构建第2行记录,第2列记录。
  2656. designRowStsRs["columns" + j] = designDt.Rows[i]["DESIGN_STS_DESC"].ToString();
  2657. j++;
  2658. }
  2659. orderLineDesign.Rows.Add(designRowItem);
  2660. orderLineDesign.Rows.Add(designRowStsRs);
  2661. //将Table,Set传递给自定义控件。
  2662. ctrlOrderLineDesign1.DesignDt = orderLineDesign;
  2663. //调用自定义控件方法绑定数据源。
  2664. ctrlOrderLineDesign1.binUltraGrid();
  2665. if(ctrlOrderLineDesign1.UltraGirdDelivery.Rows.Count >= 2)
  2666. {
  2667. foreach (var cell in ctrlOrderLineDesign1.UltraGirdDelivery.Rows[0].Cells)
  2668. {
  2669. if (cell.Value.ToString() == "内控标准" || cell.Value.ToString() == "试样码")
  2670. {
  2671. if (ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Value.ToString() == "缺项")
  2672. {
  2673. ctrlOrderLineDesign1.UltraGirdDelivery.Rows[1].Cells[cell.Column.Key].Appearance.BackColor = Color.FromArgb(255, 99, 71);
  2674. }
  2675. }
  2676. }
  2677. }
  2678. }
  2679. /// <summary>
  2680. /// 全程途径选中行触发事件
  2681. /// </summary>
  2682. /// <param name="sender"></param>
  2683. /// <param name="e"></param>
  2684. private void ultraGridDesignMscPl_AfterRowActivate(object sender, EventArgs e)
  2685. {
  2686. string desginKey = ultraGridDesignMscPl.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2687. string mscPline = ultraGridDesignMscPl.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  2688. GetDesignMscPlGz(desginKey, mscPline);
  2689. GetDesignMscPlIn(desginKey, mscPline);
  2690. }
  2691. /// <summary>
  2692. /// 依据全程途径获取对应钢种
  2693. /// </summary>
  2694. /// <param name="designKey"></param>
  2695. private void GetDesignMscPlGz(string desginKey, string mscPline)
  2696. {
  2697. DataTable desginMscPlGzDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlGz",
  2698. new Object[] { desginKey, mscPline }, this.ob);
  2699. GridHelper.CopyDataToDatatable(ref desginMscPlGzDt, ref this.slm_ord_design_msc_pl_gz, true);
  2700. ////列自适应
  2701. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGz, new UltraGridColumn[] {
  2702. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2703. //});
  2704. }
  2705. /// <summary>
  2706. /// 依据全程途径获取工序投入产出物料
  2707. /// </summary>
  2708. /// <param name="desginKey"></param>
  2709. private void GetDesignMscPlIn(string desginKey, string mscPline)
  2710. {
  2711. DataTable desginMscPlInDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlIn",
  2712. new Object[] { desginKey, mscPline }, this.ob);
  2713. if (desginMscPlInDt.Rows.Count > 0)
  2714. {
  2715. GridHelper.CopyDataToDatatable(ref desginMscPlInDt, ref this.slm_ord_design_msc_pl_In, true);
  2716. }
  2717. else
  2718. {
  2719. this.slm_ord_design_msc_pl_In.Rows.Clear();
  2720. this.slm_ord_design_msc_pl_gx_prl.Rows.Clear();
  2721. }
  2722. ////列自适应
  2723. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridIn, new UltraGridColumn[] {
  2724. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2725. //});
  2726. }
  2727. private void ultraGridIn_AfterRowActivate(object sender, EventArgs e)
  2728. {
  2729. string desginKey = ultraGridIn.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2730. string mscPline = ultraGridIn.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  2731. string backlogSeq = ultraGridIn.ActiveRow.Cells["BACKLOG_SEQ"].Value.ToString();
  2732. string processCode = ultraGridIn.ActiveRow.Cells["PROCESS_CODE"].Value.ToString();
  2733. GetDesignMscPlGxPrl(desginKey, mscPline, backlogSeq, processCode);
  2734. }
  2735. /// <summary>
  2736. /// 依据工序获取适应产线
  2737. /// </summary>
  2738. /// <param name="desginKey"></param>
  2739. /// <param name="processCode"></param>
  2740. private void GetDesignMscPlGxPrl(string designKey, string mscPline, string backlogSeq, string processCode)
  2741. {
  2742. DataTable desginMscPlGxPrl = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftDesignMscPlGxPrl",
  2743. new Object[] { designKey, mscPline, backlogSeq, processCode }, this.ob);
  2744. GridHelper.CopyDataToDatatable(ref desginMscPlGxPrl, ref this.slm_ord_design_msc_pl_gx_prl, true);
  2745. ////列自适应
  2746. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridGxPrl, new UltraGridColumn[] {
  2747. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2748. //});
  2749. }
  2750. /// <summary>
  2751. /// 接箍行触发事件,获取接箍备料信息。
  2752. /// </summary>
  2753. /// <param name="sender"></param>
  2754. /// <param name="e"></param>
  2755. private void ultraGridJg_AfterRowActivate(object sender, EventArgs e)
  2756. {
  2757. string codeJg = ultraGridJg.ActiveRow.Cells["KEY_JG"].Value.ToString();
  2758. string desginKey = ultraGridJg.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2759. GetJgBl(desginKey, codeJg);
  2760. }
  2761. /// <summary>
  2762. /// 获取接箍备料信息
  2763. /// </summary>
  2764. /// <param name="codeJg"></param>
  2765. private void GetJgBl(string desginKey, string keyJg)
  2766. {
  2767. DataTable jgBlDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftJgBl",
  2768. new Object[] { desginKey, keyJg }, this.ob);
  2769. GridHelper.CopyDataToDatatable(ref jgBlDt, ref this.com_msc_bl, true);
  2770. ////列自适应
  2771. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridBl, new UltraGridColumn[] {
  2772. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2773. //});
  2774. }
  2775. /// <summary>
  2776. /// 交货行带出相应的工序。
  2777. /// </summary>
  2778. /// <param name="sender"></param>
  2779. /// <param name="e"></param>
  2780. private void ultraGridMscPlPc_AfterRowActivate(object sender, EventArgs e)
  2781. {
  2782. string designKey = ultraGridMscPlPc.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2783. string mscPline = ultraGridMscPlPc.ActiveRow.Cells["MSC_PLINE"].Value.ToString();
  2784. string ordLnDlyPk = ultraGridMscPlPc.ActiveRow.Cells["ORD_LN_DLY_PK"].Value.ToString();
  2785. GetMscPlPcLst(designKey, mscPline, ordLnDlyPk);
  2786. ultraGridMscPlPcLst.UpdateData();
  2787. }
  2788. /// <summary>
  2789. /// 获取交货行对应的工序。
  2790. /// </summary>
  2791. /// <param name="desginKey"></param>
  2792. private void GetMscPlPcLst(string designKey, string mscPline, string ordLnDlyPk)
  2793. {
  2794. DataTable plPcLstDt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.GetCraftMscPlPcLst",
  2795. new Object[] { designKey, mscPline, ordLnDlyPk }, this.ob);
  2796. GridHelper.CopyDataToDatatable(ref plPcLstDt, ref this.slm_ord_design_msc_pl_pc_lst, true);
  2797. for (int i = 0; i < ultraGridMscPlPcLst.Rows.Count; i++)
  2798. {
  2799. //生产周期截取4为小数。Convert.ToDouble(strValue).ToString("0.00");//95.12
  2800. string prdCyc = Convert.ToDouble(ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value).ToString("f4");
  2801. ultraGridMscPlPcLst.Rows[i].Cells["PRD_CYC"].Value = prdCyc;
  2802. }
  2803. ////列自适应
  2804. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGridMscPlPcLst, new UltraGridColumn[] {
  2805. // //ultraGridDesignStd.DisplayLayout.Bands[0].Columns["CHK"]
  2806. //});
  2807. }
  2808. private void _ctrlBomJg_AfterRowActivate(object sender, EventArgs e)
  2809. {
  2810. SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject;
  2811. SlmOrdDesignBomEntity bomJg = (SlmOrdDesignBomEntity)_ctrlBomJg.UltraGridBom.ActiveRow.ListObject;
  2812. GetBomJgBlByBom(bomHead.Bom.ToString(), bomJg.Bom.ToString());
  2813. }
  2814. private void ultraTabControl4_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  2815. {
  2816. if (e.Tab.Key == "0")
  2817. {
  2818. splitContainer2.Panel2Collapsed = false;
  2819. splitContainer2.SplitterDistance = this.Width - 300 - splitContainer1.Panel1.Width;
  2820. _ctrlBomI.Visible = true;
  2821. _ctrlBomJgBl.Visible = false;
  2822. }
  2823. else if (e.Tab.Key == "1")
  2824. {
  2825. splitContainer2.Panel2Collapsed = false;
  2826. splitContainer2.SplitterDistance = 400;
  2827. _ctrlBomI.Visible = false;
  2828. _ctrlBomJgBl.Visible = true;
  2829. }
  2830. else
  2831. {
  2832. splitContainer2.Panel2Collapsed = true;
  2833. }
  2834. GetBomHeadDown();
  2835. }
  2836. private void _ctrlBomHead_AfterRowActivate(object sender, EventArgs e)
  2837. {
  2838. GetBomHeadDown();
  2839. }
  2840. private void GetBomHeadDown()
  2841. {
  2842. if (ultraTabControl4.SelectedTab == null) return;
  2843. if (_ctrlBomHead.UltraGridBom.ActiveRow == null) return;
  2844. SlmOrdDesignBomEntity bomHead = (SlmOrdDesignBomEntity)_ctrlBomHead.UltraGridBom.ActiveRow.ListObject;
  2845. if (ultraTabControl4.SelectedTab.Key == "0")
  2846. {
  2847. GetBom(bomHead);
  2848. }
  2849. else if (ultraTabControl4.SelectedTab.Key == "1")
  2850. {
  2851. GetBomJg(bomHead.Bom.ToString());
  2852. }
  2853. else if (ultraTabControl4.SelectedTab.Key == "2")
  2854. {
  2855. GetBomBl(bomHead.Bom.ToString());
  2856. }
  2857. }
  2858. private void _ctrlBom_AfterRowActivate(object sender, EventArgs e)
  2859. {
  2860. SlmOrdDesignBomEntity bom = (SlmOrdDesignBomEntity)_ctrlBom.UltraGridBom.ActiveRow.ListObject;
  2861. GetBomIByBom(bom.Bom.ToString());
  2862. }
  2863. /// <summary>
  2864. /// 质量设计方法
  2865. /// </summary>
  2866. private void QualityT(string ordLnPk, string designKey)
  2867. {
  2868. DataTable dtOrdLn = GetOrdLnState(ordLnPk);
  2869. DataTable dtCraftDesign = GetCraftDesignSts(ordLnPk);
  2870. string craftSeq = dtCraftDesign.Rows.Count > 0 ? dtCraftDesign.Rows[0]["CRAFT_SEQ"].ToString() : "";
  2871. //if (dtOrdLn.Rows[0]["ISLOCK"].ToString() == "1")
  2872. //{
  2873. // MessageUtil.ShowWarning("当前合同行正在进行合同变更,不允许工艺制定!");
  2874. // return;
  2875. //}
  2876. //DataTable dt = QueryPlnSaleorder(ordLnPk);
  2877. //if (dt.Rows.Count > 0 && dt.Rows[0]["PORDERSTATUS"].ToString() != "0")
  2878. //{
  2879. // MessageUtil.ShowWarning("当前合同行已经排产,不允许工艺制定!");
  2880. // return;
  2881. //}
  2882. CraftOrdDesignBLL craftOrdDesignBLL = new CraftOrdDesignBLL(ob);
  2883. //CraftOrdDesignEntity craftOrdDesign = craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  2884. //{
  2885. // OrdLnPk = ordLnPk,
  2886. // CraftSeq = decimal.Parse(craftSeq == "" ? "0" : craftSeq)
  2887. //});
  2888. //if (craftOrdDesign != null)
  2889. //{
  2890. // if (craftOrdDesign.Validflag == "4")
  2891. // {
  2892. // MessageUtil.ShowWarning("当前合同行有工艺文件正在审核中,不能进行工艺制定!");
  2893. // Relocate(ordLnPk);
  2894. // return;
  2895. // }
  2896. //}
  2897. if (CheckQuality(ordLnPk, false, ob))
  2898. {
  2899. Quality(ordLnPk, false, ob);
  2900. }
  2901. //string mpsFlg = ultraGridOrderLine.GetActiveRowValue("MPS_FL");
  2902. //CraftOrdDesignEntity craftDesign = craftOrdDesignBLL.QueryCraftByOrLnPk(
  2903. // new CraftOrdDesignEntity() { OrdLnPk = ordLnPk });
  2904. //if (mpsFlg == "True" && craftDesign.QualityFlag == "1")
  2905. //{
  2906. // CopyOrdToCraft(ordLnPk, craftDesign.QualityFlag, UserInfo.GetUserName(), false);
  2907. //}
  2908. //else
  2909. //{
  2910. // CraftDesign(craftOrdDesignBLL, ordLnPk, craftSeq, false);
  2911. //}
  2912. Relocate(ordLnPk);
  2913. }
  2914. private bool AskRollBack()
  2915. {
  2916. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.checkFallBack",
  2917. new object[] { pOrdLnPk }, ob);
  2918. if (dt.Rows.Count > 0)
  2919. {
  2920. if (_errItem != "" && _errItem != dt.Rows[0]["FALLBACK_ITEM"].ToString())
  2921. {
  2922. string str = dt.Rows[0]["FALLBACK_DEPT_DESC"].ToString() + dt.Rows[0]["FALLBACK_MAN"].ToString() +
  2923. "将此合同号回退至" + dt.Rows[0]["FALLBACK_ITEM"].ToString() + " 回退原因:" +
  2924. dt.Rows[0]["FALLBACK_REASON"].ToString();
  2925. if (MessageUtil.ShowYesNoAndQuestion(str + " \r\n是否继续质量设计?") == DialogResult.No)
  2926. {
  2927. return false;
  2928. }
  2929. }
  2930. }
  2931. ServerHelper.SetData("com.steering.pss.sale.order.qualityDesign.QualityDesignFallback.updateFallBack",
  2932. new object[] { pOrdLnPk }, ob);
  2933. return true;
  2934. }
  2935. /// <summary>
  2936. /// 选中之后,才允许编辑。
  2937. /// </summary>
  2938. /// <param name="sender"></param>
  2939. /// <param name="e"></param>
  2940. private void ultraGridMscPlPc_CellChange(object sender, CellEventArgs e)
  2941. {
  2942. ultraGridMscPlPc.UpdateData();
  2943. if (e.Cell.Column.Key.Equals("CHK"))
  2944. {
  2945. if (e.Cell.Value != null && !string.IsNullOrEmpty(e.Cell.Value.ToString()))
  2946. {
  2947. if (Convert.ToBoolean(e.Cell.Value))
  2948. {
  2949. e.Cell.Row.Cells["CYC_EDIT"].Activation = Activation.AllowEdit;
  2950. }
  2951. else
  2952. {
  2953. //没有选中,除第一列外,全部不可编辑。
  2954. for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++)
  2955. {
  2956. e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  2957. }
  2958. }
  2959. }
  2960. else
  2961. {
  2962. //没有选中,除第一列外,全部不可编辑。
  2963. for (int i = 0; i < e.Cell.Row.Cells.Count - 1; i++)
  2964. {
  2965. e.Cell.Row.Cells[i].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  2966. }
  2967. }
  2968. }
  2969. }
  2970. private void ultraGridMscPlPc_ClickCellButton(object sender, CellEventArgs e)
  2971. {
  2972. string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK");
  2973. string mscPline = ultraGridMscPlPc.GetActiveRowValue("MSC_PLINE");
  2974. string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ");
  2975. PopupMscPlPc popup = new PopupMscPlPc(ordLnPk, mscPline, craftSeq, true, ob);
  2976. popup.ShowDialog();
  2977. GetMscPlPc(ordLnPk);
  2978. }
  2979. /// <summary>
  2980. /// 单项维护质量设计。
  2981. /// </summary>
  2982. /// <param name="lstItem"></param>
  2983. /// <param name="designSts"></param>
  2984. private void ctrlOrderLineDesign1_DesignCellText(string lstItem, string designObj)
  2985. {
  2986. try
  2987. {
  2988. this.Cursor = Cursors.WaitCursor;
  2989. if (ultraGridOrderLine.ActiveRow == null)
  2990. {
  2991. MessageBox.Show("请先选中合同行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  2992. return;
  2993. }
  2994. ckbAutoRefresh.Checked = false;
  2995. string desginKey = ultraGridOrderLine.ActiveRow.Cells["DESGIN_KEY"].Value.ToString();
  2996. string custAlphaNo = "";
  2997. string specialDesc = "";
  2998. if (!ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK").StartsWith("BL"))
  2999. {
  3000. DataTable dt = GetOrdLnState(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"));
  3001. custAlphaNo = dt.Rows[0]["CUST_ALPHA_NO"].ToString() == "" ? dt.Rows[0]["CUST_ALPHA_NO2"].ToString()
  3002. : dt.Rows[0]["CUST_ALPHA_NO"].ToString();
  3003. specialDesc = dt.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  3004. }
  3005. //外径、壁厚参数,DIMATER,HEIGHT
  3006. string dimater = ultraGridOrderLine.ActiveRow.Cells["DIMATER"].Value.ToString();
  3007. string height = ultraGridOrderLine.ActiveRow.Cells["HEIGHT"].Value.ToString();
  3008. string specCode = ultraGridOrderLine.ActiveRow.Cells["SPEC_CODE"].Value.ToString();
  3009. string specName = ultraGridOrderLine.ActiveRow.Cells["SPEC_NAME"].Value.ToString();
  3010. //扣型
  3011. string modelCode = ultraGridOrderLine.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
  3012. //评审单号,合同头表REVW_RPT_NO
  3013. string revwRptNo = ultraGridOrderLine.ActiveRow.Cells["REVW_RPT_NO"].Value.ToString();
  3014. //钢种,钢级牌号
  3015. //string steelCode=ultraGridOrderLine.ActiveRow.Cells["STEELCODE"].Value.ToString();
  3016. //ADD_ASK_NO附加要求编号。
  3017. string addAskNo = ultraGridOrderLine.ActiveRow.Cells["ADD_ASK_NO"].Value.ToString();
  3018. //订货单位
  3019. //CUSTOMER_NM、CUSTOMER_NO
  3020. string customerNo = ultraGridOrderLine.ActiveRow.Cells["CUSTOMER_NO"].Value.ToString();
  3021. string ordPk = ultraGridOrderLine.ActiveRow.Cells["ORD_PK"].Value.ToString();
  3022. string ordLnPk = ultraGridOrderLine.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  3023. string designStsDesc = "";
  3024. string psc = "";
  3025. string msc = "";
  3026. string useCode = "";
  3027. string finalUser = "";
  3028. string gradeCode = "";
  3029. string unitCode = "";
  3030. string designObjKey = "";
  3031. if (designObj != "")
  3032. {
  3033. string[] designKeyObj = designObj.Split('|');
  3034. //设计状态结果描述,产品规范码,冶金规范码,用途码,最终用户(来源客户表),钢种,设计对象Key值
  3035. //DESIGN_STS_DESC,PSC,MSC,USE_CODE,FINAL_USER,GRADECODE,DESIGN_OBJ_KEY
  3036. designStsDesc = designKeyObj[0];
  3037. psc = designKeyObj[1];
  3038. msc = designKeyObj[2];
  3039. useCode = designKeyObj[3];
  3040. finalUser = designKeyObj[4];
  3041. gradeCode = designKeyObj[5];
  3042. unitCode = designKeyObj[6];
  3043. designObjKey = designKeyObj[7];
  3044. }
  3045. if (lstItem == "试样码")
  3046. {
  3047. //DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CraftSplineUnit.queryUnit",
  3048. // new object[]{ }, ob);
  3049. //if (dt.Rows.Count > 0)
  3050. //{
  3051. // if (UserInfo.GetDeptid() != dt.Rows[0]["UNIT_CODE"].ToString() && UserInfo.GetUserID() != "admin")
  3052. // {
  3053. // MessageUtil.ShowWarning("只有" + dt.Rows[0]["UNIT_DESC"].ToString() + "的人员才能维护试样码!");
  3054. // return;
  3055. // }
  3056. //}
  3057. }
  3058. else
  3059. {
  3060. DataTable dtCraftDesignAppoint = GetCraftDesignAppointByPk(ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"));
  3061. if (dtCraftDesignAppoint.Rows.Count > 0 && dtCraftDesignAppoint.Rows[0]["CRAFT_ID"].ToString() != UserInfo.GetUserID()
  3062. && UserInfo.GetUserID() != "admin")
  3063. {
  3064. MessageUtil.ShowWarning("该合同行已指派给" + dtCraftDesignAppoint.Rows[0]["CRAFT_NAME"].ToString() + ",不能进行维护!");
  3065. return;
  3066. }
  3067. }
  3068. switch (lstItem)
  3069. {
  3070. case "MSC(0)":
  3071. //传入值:产品规范码PSC、最终用户(可能无值)、用途码(产品alpha)、基础MSC(无特殊要求)、失败原因描述
  3072. string[] strMsc = { psc, finalUser, useCode, msc, designStsDesc };
  3073. getMscFrm(strMsc, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3074. break;
  3075. case "成分标准":
  3076. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述
  3077. string[] strComponent = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3078. getComponentFrm(strComponent, designStsDesc);
  3079. break;
  3080. case "理化标准":
  3081. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述
  3082. string[] strMaterial = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3083. getMaterialFrm(strMaterial, designStsDesc);
  3084. break;
  3085. case "探伤标准":
  3086. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdDetection
  3087. string[] strDetection = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3088. getDetectionFrm(strDetection, designStsDesc);
  3089. break;
  3090. case "公差标准":
  3091. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmTolerancesStandard
  3092. string[] strTolerances = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3093. getTolerancesFrm(strTolerances, designStsDesc);
  3094. break;
  3095. case "水压标准":
  3096. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmWaterPressureStand
  3097. string[] strWater = { psc, useCode, msc, dimater, height, modelCode, ordLnPk, designStsDesc };
  3098. getWaterFrm(strWater, designStsDesc);
  3099. break;
  3100. case "加工标准":
  3101. //产品规范码PSC、用途码(产品alpha)、基础MSC码、外径、壁厚、扣型编码、失败原因描述FrmComMSCStdProcess
  3102. string[] strCom = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3103. getComFrm(strCom, designStsDesc);
  3104. break;
  3105. case "产品技术要求":
  3106. //产品规范码PSC、最终用户、评审单号、基础MSC码、外径、壁厚、扣型编码。提供后台方法自动形成用途码与MSC,FrmOrderSpecialInfo
  3107. string[] strSpecial = { psc, finalUser, revwRptNo, msc, dimater, height,
  3108. modelCode, custAlphaNo, ordLnPk, specCode, specName, ordPk};
  3109. getSpecialFrm(strSpecial, designStsDesc);
  3110. break;
  3111. case "MSC(n)":
  3112. //产品规范码PSC、最终用户、用途码(产品alpha)、使用MSC码、失败原因描述
  3113. string[] strMscN = { psc, finalUser, useCode, msc, designStsDesc };
  3114. getMscFrmN(strMscN, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3115. break;
  3116. case "接箍制程":
  3117. case "制程":
  3118. //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述
  3119. string[] strPro = { psc, useCode, msc, dimater, height, modelCode, desginKey, ordLnPk, designObjKey };
  3120. getProcess(strPro, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3121. break;
  3122. case "钢种":
  3123. //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述
  3124. string[] strSteel = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, designObjKey };
  3125. getSteel(strSteel, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3126. break;
  3127. case "内控标准":
  3128. //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、制程号、失败原因描述
  3129. string[] strNk = { psc, useCode, msc, dimater, height, modelCode, designObjKey, designStsDesc };
  3130. getNk(strNk, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3131. break;
  3132. case "镦拔扩":
  3133. //钢种、镦拔扩外径(mm)、镦拔扩壁厚(mm)、失败原因描述;
  3134. string[] strD = { gradeCode, dimater, height, ordLnPk, desginKey, designObjKey, designStsDesc };
  3135. getD(strD, designStsDesc);
  3136. break;
  3137. case "接箍":
  3138. //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述。
  3139. string[] strJg = { psc, useCode, msc, dimater, height, modelCode, designObjKey, ordLnPk, specCode, designStsDesc};
  3140. getMscJg(strJg, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3141. break;
  3142. case "备料":
  3143. //产品规范码PSC、用途码(产品alpha)、使用MSC码、外径、壁厚、扣型编码、失败原因描述
  3144. string[] strBl = { psc, useCode, msc, dimater, height, modelCode, designStsDesc };
  3145. getMscBl(strBl, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3146. break;
  3147. case "附件图片":
  3148. string[] strFj = { psc, useCode, msc, designObjKey, designStsDesc };
  3149. getMscFj(strFj, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3150. break;
  3151. case "适用产线":
  3152. string[] oneKey = designObjKey.Split(',');
  3153. if (oneKey.Length == 8)
  3154. {
  3155. string twoKey = oneKey[7];
  3156. if ("1".Equals(twoKey))
  3157. {
  3158. //工序、失败原因描述FrmComMSCPlineRSpec
  3159. string[] strLine = { designObjKey };
  3160. getLine(strLine, designStsDesc);
  3161. }
  3162. else
  3163. {
  3164. //2
  3165. //工序、失败原因描述FrmComMSCPlineRSpec
  3166. string[] strLine = { designObjKey };
  3167. //另一个界面。
  3168. getLine2(strLine, designStsDesc);
  3169. }
  3170. }
  3171. else
  3172. {
  3173. MessageBox.Show("传参错误,请传8个参数,以,分隔。请与管理员联系。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3174. return;
  3175. }
  3176. break;
  3177. case "合同附加要求":
  3178. //产品规范码PSC、附加要求码、最终用户(如果无值则用订货单位替代);
  3179. //现在改为最终用户允许为空。
  3180. //string userStr = finalUser;
  3181. //if ("".Equals(finalUser))
  3182. //{
  3183. // userStr = customerNo;
  3184. //}
  3185. string[] strAskAdd = { psc, addAskNo, finalUser, ordPk, ordLnPk };
  3186. getAskAdd(strAskAdd, designStsDesc);
  3187. break;
  3188. case "投入/产出物料":
  3189. break;
  3190. case "成分偏差标准":
  3191. ShowShowChemBias(designStsDesc);
  3192. break;
  3193. case "生产周期":
  3194. //适用MSC码、制程号、失败原因描述;FrmProPSCMSC2
  3195. string[] strPDate = { msc, designObjKey, designStsDesc };
  3196. getPDate(strPDate, custAlphaNo, specialDesc, ordLnPk, designStsDesc);
  3197. break;
  3198. case "MPS":
  3199. getCraft(desginKey, ordPk, ordLnPk);
  3200. break;
  3201. case "长度":
  3202. getLength(ordLnPk);
  3203. break;
  3204. case "MSC(n)管理科室":
  3205. getDesignDept(ordLnPk);
  3206. break;
  3207. case "试样码":
  3208. ShowSpline(designObjKey, designStsDesc);
  3209. break;
  3210. case "首日检":
  3211. ShowCraftOrdFd(ordLnPk, desginKey, designStsDesc, designObjKey);
  3212. break;
  3213. case "质保书":
  3214. break;
  3215. }
  3216. }
  3217. finally
  3218. {
  3219. this.Cursor = Cursors.Default;
  3220. }
  3221. }
  3222. /// <summary>
  3223. /// 调用MSC窗体
  3224. /// </summary>
  3225. /// <param name="strMsc"></param>
  3226. private void getMscFrm(string[] strMsc, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3227. {
  3228. FrmProPSCMSC2Popup frmPsc = new FrmProPSCMSC2Popup(strMsc, custAlphaNo, specialDesc, "", ordLnPk, true,
  3229. this.ValidDataPurviewIds, StdExceptionType.MSC, designStsDesc, this.ob);
  3230. frmPsc.StdSucessEvent += new StdSucessHandler(frmPsc_StdSucessEvent);
  3231. frmPsc.StartPosition = FormStartPosition.CenterScreen; frmPsc.WindowState = FormWindowState.Maximized;
  3232. frmPsc.WindowState = FormWindowState.Maximized;
  3233. frmPsc.ShowDialog();
  3234. }
  3235. /// <summary>
  3236. /// 冶金规范维护事件
  3237. /// </summary>
  3238. /// <param name="sender"></param>
  3239. /// <param name="e"></param>
  3240. void frmPsc_StdSucessEvent(object sender, StdEventArgs e)
  3241. {
  3242. //传出值:是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发]
  3243. string isResult = e.Result;
  3244. string msc = e.Msc;
  3245. string useCode = e.UseCode;
  3246. if ("1".Equals(isResult))
  3247. {
  3248. _errItem = "MSC(0)";
  3249. try
  3250. {
  3251. QualityT(pOrdLnPk, pOrdLnPk);
  3252. }
  3253. catch { };
  3254. _errItem = "";
  3255. }
  3256. }
  3257. /// <summary>
  3258. /// 调用成分窗体
  3259. /// </summary>
  3260. /// <param name="strCf"></param>
  3261. private void getComponentFrm(string[] strComponent, string designStsDesc)
  3262. {
  3263. PopupChemStandard frmChem = new PopupChemStandard(strComponent, designStsDesc, this.ob);
  3264. frmChem.ChemStdSuccessEvent += new ChemStdSuccessHandler(frmChem_ChemStdSuccessEvent);
  3265. frmChem.StartPosition = FormStartPosition.CenterScreen;
  3266. frmChem.WindowState = FormWindowState.Maximized;
  3267. frmChem.ShowDialog();
  3268. }
  3269. void frmChem_ChemStdSuccessEvent(object sender, ChemStdEventArgs e)
  3270. {
  3271. //是否成功(0:失败/1:成功)、CIC [采用事件触发]
  3272. string isRsult = e.Result;
  3273. string cic = e.Cic;
  3274. if ("1".Equals(isRsult))
  3275. {
  3276. _errItem = "成分标准";
  3277. try
  3278. {
  3279. QualityT(pOrdLnPk, pDesignKey);
  3280. }
  3281. catch { };
  3282. _errItem = "";
  3283. }
  3284. }
  3285. /// <summary>
  3286. /// 调用理化窗体
  3287. /// </summary>
  3288. /// <param name="strCf"></param>
  3289. private void getMaterialFrm(string[] strMaterial, string designStsDesc)
  3290. {
  3291. PopupMaterialStandard frmMaterial = new PopupMaterialStandard(strMaterial, designStsDesc, this.ob);
  3292. frmMaterial.MaterialStdSuccessEvent += new MaterialStdSuccessHandler(frmMaterial_MaterialStdSuccessEvent);
  3293. frmMaterial.StartPosition = FormStartPosition.CenterScreen;
  3294. frmMaterial.WindowState = FormWindowState.Maximized;
  3295. frmMaterial.ShowDialog();
  3296. }
  3297. /// <summary>
  3298. /// 理化标准维护事件
  3299. /// </summary>
  3300. /// <param name="sender"></param>
  3301. /// <param name="e"></param>
  3302. void frmMaterial_MaterialStdSuccessEvent(object sender, MaterialStdEventArgs e)
  3303. {
  3304. //是否成功(0:失败/1:成功)、PIC,[采用事件触发]
  3305. string isRsult = e.Result;
  3306. string pic = e.Pic;
  3307. if ("1".Equals(isRsult))
  3308. {
  3309. _errItem = "理化标准";
  3310. try
  3311. {
  3312. QualityT(pOrdLnPk, pDesignKey);
  3313. }
  3314. catch { };
  3315. _errItem = "";
  3316. }
  3317. }
  3318. /// <summary>
  3319. /// 探伤标准
  3320. /// </summary>
  3321. /// <param name="strDetection"></param>
  3322. private void getDetectionFrm(string[] strDetection, string designStsDesc)
  3323. {
  3324. PopupComMSCStdDetection frmDetection = new PopupComMSCStdDetection(strDetection, designStsDesc, this.ob);
  3325. frmDetection.DetectionStdSuccessEvent += new DetectionStdSuccessHandler(frmDetection_DetectionStdSuccessEvent);
  3326. frmDetection.StartPosition = FormStartPosition.CenterScreen;
  3327. frmDetection.WindowState = FormWindowState.Maximized;
  3328. frmDetection.ShowDialog();
  3329. }
  3330. /// <summary>
  3331. /// 探伤标准维护事件
  3332. /// </summary>
  3333. /// <param name="sender"></param>
  3334. /// <param name="e"></param>
  3335. void frmDetection_DetectionStdSuccessEvent(object sender, DetectionStdEventArgs e)
  3336. {
  3337. //是否成功(0:失败/1:成功)、DIC,[采用事件触发]
  3338. string isRsult = e.Result;
  3339. string pic = e.Dic;
  3340. if ("1".Equals(isRsult))
  3341. {
  3342. _errItem = "探伤标准";
  3343. try
  3344. {
  3345. QualityT(pOrdLnPk, pDesignKey);
  3346. }
  3347. catch { };
  3348. _errItem = "";
  3349. }
  3350. }
  3351. /// <summary>
  3352. /// 公差标准
  3353. /// </summary>
  3354. /// <param name="strTolerances"></param>
  3355. private void getTolerancesFrm(string[] strTolerances, string designStsDesc)
  3356. {
  3357. PopupTolerancesStandard frmTolerances = new PopupTolerancesStandard(strTolerances, designStsDesc, this.ob);
  3358. frmTolerances.TolerancesStdSuccessEvent += new TolerancesStdSuccessHanlder(frmTolerances_TolerancesStdSuccessEvent);
  3359. frmTolerances.StartPosition = FormStartPosition.CenterScreen;
  3360. frmTolerances.WindowState = FormWindowState.Maximized;
  3361. frmTolerances.ShowDialog();
  3362. }
  3363. /// <summary>
  3364. /// 公差标准维护事件
  3365. /// </summary>
  3366. /// <param name="sender"></param>
  3367. /// <param name="e"></param>
  3368. void frmTolerances_TolerancesStdSuccessEvent(object sender, TolerancesStdSuccessEventArgs e)
  3369. {
  3370. //是否成功(0:失败/1:成功)、SIC,[采用事件触发]
  3371. string isRsult = e.Result;
  3372. string sic = e.Sic;
  3373. if ("1".Equals(isRsult))
  3374. {
  3375. _errItem = "公差标准";
  3376. try
  3377. {
  3378. QualityT(pOrdLnPk, pDesignKey);
  3379. }
  3380. catch { };
  3381. _errItem = "";
  3382. }
  3383. }
  3384. /// <summary>
  3385. /// 水压标准
  3386. /// </summary>
  3387. /// <param name="strTolerances"></param>
  3388. private void getWaterFrm(string[] strWater, string designStsDesc)
  3389. {
  3390. PopupProductWater frmWater = new PopupProductWater(strWater, designStsDesc, this.ob);
  3391. frmWater.ProductWaterSuccessEvent += new ProductWaterSuccessHandler(frmWater_ProductWaterSuccessEvent);
  3392. frmWater.StartPosition = FormStartPosition.CenterScreen;
  3393. frmWater.WindowState = FormWindowState.Maximized;
  3394. frmWater.ShowDialog();
  3395. }
  3396. /// <summary>
  3397. /// 水压标准维护事件
  3398. /// </summary>
  3399. /// <param name="sender"></param>
  3400. /// <param name="e"></param>
  3401. void frmWater_ProductWaterSuccessEvent(object sender, ProductWaterEventArgs e)
  3402. {
  3403. //是否成功(0:失败/1:成功)、WIC,[采用事件触发]
  3404. string isRsult = e.Result;
  3405. string wic = e.Wic;
  3406. if ("1".Equals(isRsult))
  3407. {
  3408. _errItem = "水压标准";
  3409. try
  3410. {
  3411. QualityT(pOrdLnPk, pDesignKey);
  3412. }
  3413. catch { };
  3414. _errItem = "";
  3415. }
  3416. }
  3417. /// <summary>
  3418. /// 加工标准
  3419. /// </summary>
  3420. /// <param name="strTolerances"></param>
  3421. private void getComFrm(string[] strCom, string designStsDesc)
  3422. {
  3423. PopupComMSCStdProcess frmCom = new PopupComMSCStdProcess(strCom, designStsDesc, this.ob);
  3424. frmCom.MscStdProcessSuccessEvent += new MscStdProcessSuccessHanlder(frmCom_MscStdProcessSuccessEvent);
  3425. frmCom.StartPosition = FormStartPosition.CenterScreen;
  3426. frmCom.WindowState = FormWindowState.Maximized;
  3427. frmCom.ShowDialog();
  3428. }
  3429. /// <summary>
  3430. /// 加工标准维护事件
  3431. /// </summary>
  3432. /// <param name="sender"></param>
  3433. /// <param name="e"></param>
  3434. void frmCom_MscStdProcessSuccessEvent(object sender, MscStdProcessEventArgs e)
  3435. {
  3436. //是否成功(0:失败/1:成功)、GIC,[采用事件触发]
  3437. string isRsult = e.Result;
  3438. string gic = e.Gic;
  3439. if ("1".Equals(isRsult))
  3440. {
  3441. _errItem = "加工标准";
  3442. try
  3443. {
  3444. QualityT(pOrdLnPk, pDesignKey);
  3445. }
  3446. catch { };
  3447. _errItem = "";
  3448. }
  3449. }
  3450. /// <summary>
  3451. /// 产品技术特殊要求
  3452. /// </summary>
  3453. /// <param name="strTolerances"></param>
  3454. private void getSpecialFrm(string[] strSpecial, string designStsDesc)
  3455. {
  3456. PopupOrderSpecialInfo popupOrderSpecialInfo = new PopupOrderSpecialInfo(strSpecial, designStsDesc, ob);
  3457. popupOrderSpecialInfo.PopupOrderSpecialEvent += new PopupOrderSpecialHandler(popupOrderSpecialInfo_PopupOrderSpecialEvent);
  3458. popupOrderSpecialInfo.ShowDialog();
  3459. }
  3460. void popupOrderSpecialInfo_PopupOrderSpecialEvent(object sender, OrderSpecialInfoArgs e)
  3461. {
  3462. //是否成功(0:失败/1:成功)、MSC、MSC描述、MSC类型、用途码、用途码描述、[采用事件触发]
  3463. //清空客户Alpha编号
  3464. string isRsult = e.Result;
  3465. if ("1".Equals(isRsult))
  3466. {
  3467. //成功,更新合同行msc相关数据。
  3468. string msc = e.Msc;
  3469. string mscDesc = e.MscDesc;
  3470. string mscType = e.ProductType;
  3471. string useCode = e.UseCode;
  3472. string useDesc = e.UseDesc;
  3473. string custAlphaNo = e.CustAlphaNo;
  3474. Object[] mscParams = new Object[] { msc, mscDesc, mscType, useCode, useDesc, custAlphaNo, pOrdLnPk };
  3475. if (e.CustAlphaNo != "")
  3476. {
  3477. UpdateOrderLineMsc(mscParams);
  3478. }
  3479. _errItem = "产品技术要求";
  3480. try
  3481. {
  3482. QualityT(pOrdLnPk, pDesignKey);
  3483. }
  3484. catch { };
  3485. _errItem = "";
  3486. }
  3487. }
  3488. /// <summary>
  3489. /// 技术特殊要求维护成功后,更新合同行Msc相关数据。
  3490. /// </summary>
  3491. /// <param name="mscParams"></param>
  3492. private void UpdateOrderLineMsc(Object[] mscParams)
  3493. {
  3494. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.UpdateOrderLineMsc",
  3495. mscParams, this.ob);
  3496. }
  3497. /// <summary>
  3498. /// 调用MSC窗体,特殊技术要求
  3499. /// </summary>
  3500. /// <param name="strMsc"></param>
  3501. private void getMscFrmN(string[] strMscN, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3502. {
  3503. FrmProPSCMSC2Popup frmMscN = new FrmProPSCMSC2Popup(strMscN, custAlphaNo, specialDesc, "", ordLnPk, true,
  3504. this.ValidDataPurviewIds, StdExceptionType.MSCN, designStsDesc, this.ob);
  3505. frmMscN.StdSucessEvent += new StdSucessHandler(frmMscN_StdSucessEvent);
  3506. frmMscN.StartPosition = FormStartPosition.CenterScreen;
  3507. frmMscN.WindowState = FormWindowState.Maximized;
  3508. frmMscN.ShowDialog();
  3509. }
  3510. /// <summary>
  3511. /// 冶金规范维护事件
  3512. /// </summary>
  3513. /// <param name="sender"></param>
  3514. /// <param name="e"></param>
  3515. void frmMscN_StdSucessEvent(object sender, StdEventArgs e)
  3516. {
  3517. //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发]
  3518. string isRsult = e.Result;
  3519. string msc = e.Msc;
  3520. string useCode = e.UseCode;
  3521. if ("1".Equals(isRsult))
  3522. {
  3523. _errItem = "MSC(n)";
  3524. try
  3525. {
  3526. QualityT(pOrdLnPk, pDesignKey);
  3527. }
  3528. catch { };
  3529. _errItem = "";
  3530. }
  3531. }
  3532. /// <summary>
  3533. /// 调用MSC窗体,制程
  3534. /// </summary>
  3535. /// <param name="strMsc"></param>
  3536. private void getProcess(string[] strPro, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3537. {
  3538. FrmProPSCMSC2Popup frmProC = new FrmProPSCMSC2Popup(strPro, custAlphaNo, specialDesc, "", ordLnPk, true,
  3539. this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob);
  3540. frmProC.IsCraft = true;
  3541. frmProC.StdSucessEvent += new StdSucessHandler(frmProC_StdSucessEvent);
  3542. frmProC.StartPosition = FormStartPosition.CenterScreen;
  3543. frmProC.WindowState = FormWindowState.Maximized;
  3544. frmProC.ShowDialog();
  3545. }
  3546. /// <summary>
  3547. /// 制程维护事件
  3548. /// </summary>
  3549. /// <param name="sender"></param>
  3550. /// <param name="e"></param>
  3551. void frmProC_StdSucessEvent(object sender, StdEventArgs e)
  3552. {
  3553. //是否成功(0:失败/1:成功)、制程号,[采用事件触发]
  3554. string isRsult = e.Result;
  3555. if ("1".Equals(isRsult))
  3556. {
  3557. _errItem = "制程";
  3558. try
  3559. {
  3560. QualityT(pOrdLnPk, pDesignKey);
  3561. }
  3562. catch { };
  3563. _errItem = "";
  3564. }
  3565. }
  3566. /// <summary>
  3567. /// 钢种
  3568. /// </summary>
  3569. /// <param name="strMsc"></param>
  3570. private void getSteel(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3571. {
  3572. FrmProPSCMSC2Popup frmSteel = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3573. this.ValidDataPurviewIds, StdExceptionType.BackLog, designStsDesc, this.ob);
  3574. frmSteel.StdSucessEvent += new StdSucessHandler(frmSteel_StdSucessEvent);
  3575. frmSteel.StartPosition = FormStartPosition.CenterScreen;
  3576. frmSteel.WindowState = FormWindowState.Maximized;
  3577. frmSteel.ShowDialog();
  3578. }
  3579. /// <summary>
  3580. /// 钢种
  3581. /// </summary>
  3582. /// <param name="sender"></param>
  3583. /// <param name="e"></param>
  3584. void frmSteel_StdSucessEvent(object sender, StdEventArgs e)
  3585. {
  3586. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3587. string isRsult = e.Result;
  3588. if ("1".Equals(isRsult))
  3589. {
  3590. _errItem = "钢种";
  3591. try
  3592. {
  3593. QualityT(pOrdLnPk, pDesignKey);
  3594. }
  3595. catch { };
  3596. _errItem = "";
  3597. }
  3598. }
  3599. /// <summary>
  3600. /// 内控标准
  3601. /// </summary>
  3602. /// <param name="strMsc"></param>
  3603. private void getNk(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3604. {
  3605. FrmProPSCMSC2Popup frmNk = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3606. this.ValidDataPurviewIds, StdExceptionType.NkStd, designStsDesc, this.ob);
  3607. frmNk.StdSucessEvent += new StdSucessHandler(frmNk_StdSucessEvent);
  3608. frmNk.StartPosition = FormStartPosition.CenterScreen;
  3609. frmNk.WindowState = FormWindowState.Maximized;
  3610. frmNk.ShowDialog();
  3611. }
  3612. /// <summary>
  3613. /// 内控标准
  3614. /// </summary>
  3615. /// <param name="sender"></param>
  3616. /// <param name="e"></param>
  3617. void frmNk_StdSucessEvent(object sender, StdEventArgs e)
  3618. {
  3619. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3620. string isRsult = e.Result;
  3621. if ("1".Equals(isRsult))
  3622. {
  3623. _errItem = "内控标准";
  3624. try
  3625. {
  3626. QualityT(pOrdLnPk, pDesignKey);
  3627. }
  3628. catch { };
  3629. _errItem = "";
  3630. }
  3631. }
  3632. /// <summary>
  3633. /// 镦拔扩
  3634. /// </summary>
  3635. /// <param name="strMsc"></param>
  3636. private void getD(string[] str, string designStsDesc)
  3637. {
  3638. PopupUpsettingDialExpansion frmD = new PopupUpsettingDialExpansion(str, designStsDesc, this.ob);
  3639. frmD.UpsettingDialExpansionEvent += new UpsettingDialExpansionHandler(frmD_UpsettingDialExpansionEvent);
  3640. frmD.StartPosition = FormStartPosition.CenterScreen;
  3641. frmD.WindowState = FormWindowState.Maximized;
  3642. frmD.ShowDialog();
  3643. }
  3644. /// <summary>
  3645. /// 镦拔扩
  3646. /// </summary>
  3647. /// <param name="sender"></param>
  3648. /// <param name="e"></param>
  3649. void frmD_UpsettingDialExpansionEvent(object sender, UpsettionDialExpansionArgs e)
  3650. {
  3651. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3652. string isRsult = e.Result;
  3653. if ("1".Equals(isRsult))
  3654. {
  3655. _errItem = "镦拔扩";
  3656. try
  3657. {
  3658. QualityT(pOrdLnPk, pDesignKey);
  3659. }
  3660. catch { };
  3661. _errItem = "";
  3662. }
  3663. }
  3664. /// <summary>
  3665. /// 接箍
  3666. /// </summary>
  3667. /// <param name="strMsc"></param>
  3668. private void getMscJg(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3669. {
  3670. FrmProPSCMSC2Popup frmJg = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3671. this.ValidDataPurviewIds, StdExceptionType.Jg, designStsDesc, this.ob);
  3672. frmJg.IsCraft = true;
  3673. frmJg.StdSucessEvent += new StdSucessHandler(frmJg_StdSucessEvent);
  3674. frmJg.StartPosition = FormStartPosition.CenterScreen;
  3675. frmJg.WindowState = FormWindowState.Maximized;
  3676. frmJg.ShowDialog();
  3677. }
  3678. /// <summary>
  3679. /// 接箍
  3680. /// </summary>
  3681. /// <param name="sender"></param>
  3682. /// <param name="e"></param>
  3683. void frmJg_StdSucessEvent(object sender, StdEventArgs e)
  3684. {
  3685. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3686. string isRsult = e.Result;
  3687. if ("1".Equals(isRsult))
  3688. {
  3689. _errItem = "接箍";
  3690. try
  3691. {
  3692. QualityT(pOrdLnPk, pDesignKey);
  3693. }
  3694. catch { };
  3695. _errItem = "";
  3696. }
  3697. }
  3698. /// <summary>
  3699. /// 备料
  3700. /// </summary>
  3701. /// <param name="strMsc"></param>
  3702. private void getMscBl(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3703. {
  3704. FrmProPSCMSC2Popup frmBl = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3705. this.ValidDataPurviewIds, StdExceptionType.Bl, designStsDesc, this.ob);
  3706. frmBl.StdSucessEvent += new StdSucessHandler(frmBl_StdSucessEvent);
  3707. frmBl.StartPosition = FormStartPosition.CenterScreen;
  3708. frmBl.WindowState = FormWindowState.Maximized;
  3709. frmBl.ShowDialog();
  3710. }
  3711. /// <summary>
  3712. /// 备料
  3713. /// </summary>
  3714. /// <param name="sender"></param>
  3715. /// <param name="e"></param>
  3716. void frmBl_StdSucessEvent(object sender, StdEventArgs e)
  3717. {
  3718. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3719. string isRsult = e.Result;
  3720. if ("1".Equals(isRsult))
  3721. {
  3722. _errItem = "备料";
  3723. try
  3724. {
  3725. QualityT(pOrdLnPk, pDesignKey);
  3726. }
  3727. catch { };
  3728. _errItem = "";
  3729. }
  3730. }
  3731. /// <summary>
  3732. /// 附件图片
  3733. /// </summary>
  3734. /// <param name="strMsc"></param>
  3735. private void getMscFj(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3736. {
  3737. FrmProPSCMSC2Popup frmFj = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3738. this.ValidDataPurviewIds, StdExceptionType.Fj, designStsDesc, this.ob);
  3739. frmFj.StdSucessEvent += new StdSucessHandler(frmFj_StdSucessEvent);
  3740. frmFj.StartPosition = FormStartPosition.CenterScreen;
  3741. frmFj.WindowState = FormWindowState.Maximized;
  3742. frmFj.ShowDialog();
  3743. }
  3744. /// <summary>
  3745. /// 备料
  3746. /// </summary>
  3747. /// <param name="sender"></param>
  3748. /// <param name="e"></param>
  3749. void frmFj_StdSucessEvent(object sender, StdEventArgs e)
  3750. {
  3751. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3752. string isRsult = e.Result;
  3753. if ("1".Equals(isRsult))
  3754. {
  3755. _errItem = "附件图片";
  3756. try
  3757. {
  3758. QualityT(pOrdLnPk, pDesignKey);
  3759. }
  3760. catch (Exception ex) { string msg = ex.Message; };
  3761. _errItem = "";
  3762. }
  3763. }
  3764. private void ShowShowChemBias(string errMsg)
  3765. {
  3766. FrmProductCHEMBIAS productChemBias = new FrmProductCHEMBIAS(errMsg, ob);
  3767. if (productChemBias.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  3768. {
  3769. try
  3770. {
  3771. QualityT(pOrdLnPk, pDesignKey);
  3772. }
  3773. catch { };
  3774. }
  3775. }
  3776. /// <summary>
  3777. /// 生产周期
  3778. /// </summary>
  3779. /// <param name="strMsc"></param>
  3780. private void getPDate(string[] str, string custAlphaNo, string specialDesc, string ordLnPk, string designStsDesc)
  3781. {
  3782. FrmProPSCMSC2Popup frmPDate = new FrmProPSCMSC2Popup(str, custAlphaNo, specialDesc, "", ordLnPk, true,
  3783. this.ValidDataPurviewIds, StdExceptionType.ProductDate, designStsDesc, this.ob);
  3784. frmPDate.StdSucessEvent += new StdSucessHandler(frmPDate_StdSucessEvent);
  3785. frmPDate.StartPosition = FormStartPosition.CenterScreen;
  3786. frmPDate.WindowState = FormWindowState.Maximized;
  3787. frmPDate.ShowDialog();
  3788. }
  3789. /// <summary>
  3790. /// 生产周期
  3791. /// </summary>
  3792. /// <param name="sender"></param>
  3793. /// <param name="e"></param>
  3794. void frmPDate_StdSucessEvent(object sender, StdEventArgs e)
  3795. {
  3796. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3797. string isRsult = e.Result;
  3798. if ("1".Equals(isRsult))
  3799. {
  3800. _errItem = "生产周期";
  3801. try
  3802. {
  3803. QualityT(pOrdLnPk, pDesignKey);
  3804. }
  3805. catch { };
  3806. _errItem = "";
  3807. }
  3808. }
  3809. /// <summary>
  3810. /// 适用产线
  3811. /// </summary>
  3812. /// <param name="strMsc"></param>
  3813. private void getLine(string[] str, string designStsDesc)
  3814. {
  3815. PopupComMSCPlineRSpec frmLine = new PopupComMSCPlineRSpec(str, designStsDesc, this.ob);
  3816. frmLine.PlineRSpecSucessEvent += new PlineRSpecSucessHandler(frmLine_PlineRSpecSucessEvent);
  3817. frmLine.StartPosition = FormStartPosition.CenterScreen;
  3818. frmLine.WindowState = FormWindowState.Maximized;
  3819. frmLine.ShowDialog();
  3820. }
  3821. /// <summary>
  3822. /// 适用产线
  3823. /// </summary>
  3824. /// <param name="sender"></param>
  3825. /// <param name="e"></param>
  3826. void frmLine_PlineRSpecSucessEvent(object sender, PlineRSpecArgs e)
  3827. {
  3828. //是否成功(0:失败/1:成功),轧管外径(mm)、轧管壁厚(mm);
  3829. string isRsult = e.Result;
  3830. if ("1".Equals(isRsult))
  3831. {
  3832. _errItem = "适用产线";
  3833. try
  3834. {
  3835. QualityT(pOrdLnPk, pDesignKey);
  3836. }
  3837. catch { };
  3838. _errItem = "";
  3839. }
  3840. }
  3841. /// <summary>
  3842. /// 适用产线2
  3843. /// </summary>
  3844. /// <param name="strMsc"></param>
  3845. private void getLine2(string[] strLine, string designStsDesc)
  3846. {
  3847. PopupMscCastRForg popup = new PopupMscCastRForg(strLine, designStsDesc, this.ob);
  3848. popup.MscCastRForgSucessEvent += new MscCastRForgSucessHandler(popup_MscCastRForgSucessEvent);
  3849. popup.ShowDialog();
  3850. }
  3851. void popup_MscCastRForgSucessEvent(object sender, MscCastRForgArgs e)
  3852. {
  3853. string isRsult = e.Result;
  3854. if ("1".Equals(isRsult))
  3855. {
  3856. _errItem = "适用产线";
  3857. try
  3858. {
  3859. QualityT(pOrdLnPk, pDesignKey);
  3860. }
  3861. catch { };
  3862. _errItem = "";
  3863. }
  3864. }
  3865. /// <summary>
  3866. /// 附加要求
  3867. /// </summary>
  3868. /// <param name="strMsc"></param>
  3869. private void getAskAdd(string[] str, string designStsDesc)
  3870. {
  3871. PopupOrderAskAdd popup = new PopupOrderAskAdd(str, designStsDesc, this.ob);
  3872. popup.PopupOrderAskAddEvent += new PopupOrderAskAddHandler(popup_PopupOrderAskAddEvent);
  3873. popup.ShowDialog();
  3874. }
  3875. void popup_PopupOrderAskAddEvent(object sender, PopupOrderAskAddArgs e)
  3876. {
  3877. //是否成功(0:失败/1:成功)、MSC、用途码,[采用事件触发]
  3878. string isRsult = e.Result;
  3879. //string msc = e.Msc;
  3880. //string useCode = e.UseCode;
  3881. if ("1".Equals(isRsult))
  3882. {
  3883. _errItem = "合同附加要求";
  3884. try
  3885. {
  3886. QualityT(pOrdLnPk, pDesignKey);
  3887. }
  3888. catch { };
  3889. _errItem = "";
  3890. }
  3891. }
  3892. private void getCraft(string desginKey, string ordPk, string ordLnPk)
  3893. {
  3894. SlmOrdDesignMscPlStiTcEntity mscPlStiTc = new SlmOrdDesignMscPlStiTcEntity();
  3895. mscPlStiTc.DesginKey = desginKey;
  3896. mscPlStiTc.OrdPk = ordPk;
  3897. mscPlStiTc.OrdLnPk = ordLnPk;
  3898. PopupOrderCraft popup = new PopupOrderCraft(mscPlStiTc, ob);
  3899. popup.PopupOrderCraftEvent += new PopupOrderCraftHandler(popup_PopupOrderCraftEvent);
  3900. popup.ShowDialog();
  3901. }
  3902. void popup_PopupOrderCraftEvent(object sender, PopupOrderCraftArgs e)
  3903. {
  3904. ultraGridOrderLine_AfterRowActivate(null, null);
  3905. if (e.Result == "1")
  3906. {
  3907. _errItem = "MPS";
  3908. try
  3909. {
  3910. QualityT(pOrdLnPk, pDesignKey);
  3911. }
  3912. catch { };
  3913. _errItem = "";
  3914. }
  3915. }
  3916. private void getLength(string ordLnPk)
  3917. {
  3918. frmDesignLength frmDsgLth = new frmDesignLength(ordLnPk, ob);
  3919. frmDsgLth.ShowDialog();
  3920. _errItem = "长度";
  3921. try
  3922. {
  3923. QualityT(pOrdLnPk, pDesignKey);
  3924. }
  3925. catch { };
  3926. _errItem = "";
  3927. }
  3928. private void getDesignDept(string ordLnPk)
  3929. {
  3930. frmDesignDept frm = new frmDesignDept(ob, ordLnPk);
  3931. frm.ShowDialog();
  3932. _errItem = "MSC(n)管理科室";
  3933. try
  3934. {
  3935. QualityT(pOrdLnPk, pDesignKey);
  3936. }
  3937. catch { };
  3938. _errItem = "";
  3939. }
  3940. private void ShowSpline(string objKey, string errMsg)
  3941. {
  3942. FrmPhySample frmPhySample = new FrmPhySample(ob, objKey, pOrdLnPk, pDesignKey, errMsg);
  3943. if (frmPhySample.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  3944. {
  3945. try
  3946. {
  3947. QualityT(pOrdLnPk, pDesignKey);
  3948. }
  3949. catch { };
  3950. }
  3951. }
  3952. private void ShowCraftOrdFd(string ordLnPk, string designKey, string exceptionMsg, string objKey)
  3953. {
  3954. if (objKey == "Pic")
  3955. {
  3956. CraftOrdFdPicFrm fdPicFrm = new CraftOrdFdPicFrm(ordLnPk, designKey, exceptionMsg, ob);
  3957. fdPicFrm.ShowDialog();
  3958. //QualityT(pOrdLnPk, pDesignKey);
  3959. }
  3960. if (objKey == "Wic")
  3961. {
  3962. CraftOrdFdWicFrm fdWicFrm = new CraftOrdFdWicFrm(ordLnPk, designKey, exceptionMsg, ob);
  3963. fdWicFrm.ShowDialog();
  3964. //QualityT(pOrdLnPk, pDesignKey);
  3965. }
  3966. if (objKey == "Cic")
  3967. {
  3968. CraftOrdFdCicFrm fdCicFrm = new CraftOrdFdCicFrm(ordLnPk, designKey, exceptionMsg, ob);
  3969. fdCicFrm.ShowDialog();
  3970. }
  3971. }
  3972. private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e)
  3973. {
  3974. labelDateTimePicker2.DateTimePicker.Enabled = labelDateTimePicker1.CheckBox.Checked;
  3975. }
  3976. private void utxtOrderNo_KeyDown(object sender, KeyEventArgs e)
  3977. {
  3978. if (e.KeyData == Keys.Enter)
  3979. {
  3980. doQuery("");
  3981. }
  3982. }
  3983. private void ckbAutoRefresh_CheckedChanged(object sender, EventArgs e)
  3984. {
  3985. if (ckbAutoRefresh.Checked)
  3986. {
  3987. timer1.Start();
  3988. }
  3989. else
  3990. {
  3991. timer1.Stop();
  3992. }
  3993. }
  3994. private void timer1_Tick(object sender, EventArgs e)
  3995. {
  3996. timer1.Enabled = false;
  3997. if (_isRun == true) return;
  3998. _isRun = true;
  3999. DataTable dt = GetParentData("");
  4000. try
  4001. {
  4002. if (dt != null && dt.Rows.Count > 0)
  4003. {
  4004. Beap();
  4005. WaitingForm2 wf = new WaitingForm2();
  4006. wf.Msg = "正在刷新数据,请稍候......";
  4007. wf.Show();
  4008. wf.Update();
  4009. this.doQuery("");
  4010. this.Update();
  4011. while (_isBeaping)
  4012. { }
  4013. wf.ShowToUser = false;
  4014. wf.Close();
  4015. }
  4016. else
  4017. {
  4018. this.slm_order_line_delivery.Rows.Clear();
  4019. this.slm_order_line.Clear();
  4020. }
  4021. }
  4022. finally
  4023. {
  4024. _isRun = false;
  4025. timer1.Enabled = true;
  4026. }
  4027. }
  4028. private bool _isBeaping;
  4029. private void Beap()
  4030. {
  4031. _isBeaping = true;
  4032. Thread thread = new Thread(() =>
  4033. {
  4034. for (int i = 0; i < 5; i++)
  4035. {
  4036. BeepHelper.Beep(500, 700);
  4037. }
  4038. _isBeaping = false;
  4039. });
  4040. thread.Start();
  4041. }
  4042. private void ultraGridOrderLine_InitializeRow(object sender, InitializeRowEventArgs e)
  4043. {
  4044. if (e.Row.GetValue("CHGE_VAL") != "")
  4045. {
  4046. e.Row.RowSelectorAppearance.BackColor = Color.FromArgb(255, 99, 71);
  4047. }
  4048. }
  4049. private void ultraGridOrderLine_CellChange(object sender, CellEventArgs e)
  4050. {
  4051. ultraGridOrderLine.UpdateData();
  4052. string ordLnPk = ultraGridOrderLine.GetActiveRowValue("ORD_LN_PK");
  4053. string craftSeq = ultraGridOrderLine.GetActiveRowValue("CRAFT_SEQ");
  4054. string picFdCheck = ultraGridOrderLine.GetActiveRowValue("PIC_FD_CHECK");
  4055. string wicFdCheck = ultraGridOrderLine.GetActiveRowValue("WIC_FD_CHECK");
  4056. string cicFdCheck = ultraGridOrderLine.GetActiveRowValue("CIC_FD_CHECK");
  4057. if (e.Cell.Column.Key == "PIC_FD_CHECK")
  4058. {
  4059. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setPicFdCheck", new object[] { ordLnPk, craftSeq, picFdCheck }, ob);
  4060. }
  4061. else if (e.Cell.Column.Key == "WIC_FD_CHECK")
  4062. {
  4063. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setWicFdCheck", new object[] { ordLnPk, craftSeq, wicFdCheck }, ob);
  4064. }
  4065. else if (e.Cell.Column.Key == "CIC_FD_CHECK")
  4066. {
  4067. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.setCicFdCheck", new object[] { ordLnPk, craftSeq, cicFdCheck }, ob);
  4068. }
  4069. }
  4070. PopupTextBox popupTextBox;
  4071. dlgOrderAskDown askDown;
  4072. private void craftImg_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4073. {
  4074. UltraGridRow row = ultraGridOrderLine.ActiveRow;
  4075. if (e.Button.Key.ToLower().Equals("select"))
  4076. {
  4077. if (ultraGridOrderLine.ActiveCell.Column.Key == "CRAFT_NO")
  4078. {
  4079. string filePath = row.GetValue("CRAFT_PATH");
  4080. askDown = new dlgOrderAskDown(this.ob, filePath);
  4081. askDown.DeleteButton.Visible = false;
  4082. askDown.Show();
  4083. }
  4084. else if (ultraGridOrderLine.ActiveCell.Column.Key == "MPS_NO")
  4085. {
  4086. //string filePath = "Mps/" + row.GetValue("ORD_LN_PK");
  4087. //askDown = new dlgOrderAskDown(this.ob, filePath);
  4088. //askDown.DeleteButton.Visible = false;
  4089. //askDown.Show();
  4090. string filePath = "Mps/" + row.GetValue("ORD_LN_PK");
  4091. string dbFilePath = "";
  4092. bool isNull = false;
  4093. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderReviewTechnologyList.selectMpsAddr",
  4094. new object[] { row.GetValue("ORD_LN_PK") }, this.ob);
  4095. if (dt != null && dt.Rows.Count > 0)
  4096. {
  4097. dbFilePath = dt.Rows[0][0].ToString();
  4098. }
  4099. else
  4100. {
  4101. isNull = true;
  4102. }
  4103. string fpath = filePath;
  4104. if (dbFilePath != filePath && isNull == false)
  4105. fpath = dbFilePath;
  4106. dlgOrderAskDown down = new dlgOrderAskDown(this.ob, fpath);
  4107. down.DeleteButton.Visible = false;
  4108. down.ShowDialog();
  4109. }
  4110. else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_ALL")
  4111. {
  4112. popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString());
  4113. popupTextBox.TxtInfo.ReadOnly = true;
  4114. popupTextBox.UltraPanel1.Visible = false;
  4115. popupTextBox.Show();
  4116. }
  4117. else if (ultraGridOrderLine.ActiveCell.Column.Key == "DESCRIPTION_DIFF")
  4118. {
  4119. popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString());
  4120. popupTextBox.TxtInfo.ReadOnly = true;
  4121. popupTextBox.UltraPanel1.Visible = false;
  4122. popupTextBox.Show();
  4123. }
  4124. else if (ultraGridOrderLine.ActiveCell.Column.Key == "ORDER_SPECIAL_DESC")
  4125. {
  4126. popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString());
  4127. popupTextBox.TxtInfo.ReadOnly = true;
  4128. popupTextBox.UltraPanel1.Visible = false;
  4129. popupTextBox.Show();
  4130. }
  4131. else if (ultraGridOrderLine.ActiveCell.Column.Key == "CHGE_VAL")
  4132. {
  4133. popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString());
  4134. popupTextBox.TxtInfo.ReadOnly = true;
  4135. popupTextBox.UltraPanel1.Visible = false;
  4136. popupTextBox.Show();
  4137. }
  4138. else if (ultraGridOrderLine.ActiveCell.Column.Key == "MEMO")
  4139. {
  4140. popupTextBox = new PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString());
  4141. popupTextBox.TxtInfo.ReadOnly = true;
  4142. popupTextBox.UltraPanel1.Visible = false;
  4143. popupTextBox.Show();
  4144. }
  4145. }
  4146. }
  4147. private void ultraGridOrderLine_MouseUp(object sender, MouseEventArgs e)
  4148. {
  4149. foreach (UltraGridRow row in ultraGridOrderLine.Rows)
  4150. {
  4151. if (row.Selected)
  4152. {
  4153. row.Cells["CHK"].Value = true;
  4154. }
  4155. }
  4156. ultraGridOrderLine.UpdateData();
  4157. }
  4158. private void chkUrgent_CheckedChanged(object sender, EventArgs e)
  4159. {
  4160. if(chkUrgent.Checked)
  4161. {
  4162. uchkSts.Checked = false;
  4163. uchkDesignSts.Checked = false;
  4164. lblCmbPlanStatus.Checked = false;
  4165. }
  4166. }
  4167. private void lblCmbPlanStatus_CheckBox_CheckedChanged(object sender, EventArgs e)
  4168. {
  4169. if (lblCmbPlanStatus.Checked)
  4170. {
  4171. chkUrgent.Checked = false;
  4172. }
  4173. }
  4174. private DataRow getPlnSaleOrdByPk(string ordLnPk)
  4175. {
  4176. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnology.getPlnSaleOrdByPk",
  4177. new object[] { ordLnPk }, ob);
  4178. if (dt.Rows.Count > 0)
  4179. {
  4180. return dt.Rows[0];
  4181. }
  4182. else
  4183. {
  4184. return null;
  4185. }
  4186. }
  4187. private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4188. {
  4189. string filePath = ultraGrid2.ActiveRow.GetValue("CRAFT_PATH");
  4190. askDown = new dlgOrderAskDown(this.ob, filePath);
  4191. askDown.DeleteButton.Visible = false;
  4192. askDown.Show();
  4193. }
  4194. private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4195. {
  4196. CraftOrdDesignEntity craftOrdDesign = _craftOrdDesignBLL.QueryByPk(new CraftOrdDesignEntity()
  4197. {
  4198. OrdLnPk = ultraGridOrderLine.ActiveRow.GetValue("ORD_LN_PK"),
  4199. CraftSeq = decimal.Parse(ultraGridOrderLine.ActiveRow.GetValue("CRAFT_SEQ"))
  4200. });
  4201. string msc = ultraGridOrderLine.ActiveRow.GetValue("MSC");
  4202. string craftFileLv2Pks = ultraGrid2.GetActiveRowValue("CRAFT_FILE_LV2");
  4203. switch (ultraGrid2.ActiveRow.GetValue("PROCESS_DESC"))
  4204. {
  4205. case "轧制":
  4206. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "D", "轧制", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  4207. break;
  4208. case "镦拔扩":
  4209. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "E", "镦拔扩", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  4210. break;
  4211. case "热处理":
  4212. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "F", "热处理", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  4213. break;
  4214. case "加工":
  4215. ChoiceCraftFileLv2(craftOrdDesign.DesginKey, "G", "加工", craftOrdDesign.CraftNo, msc, craftFileLv2Pks);
  4216. break;
  4217. }
  4218. }
  4219. private void ChoiceCraftFileLv2(string designKey, string processCode, string processDesc,
  4220. string craftNo, string msc, string craftFileLv2Pks)
  4221. {
  4222. int cnt = _craftOrdDesignBLL.GetCntByDesignKeyProcess(designKey, processCode);
  4223. if (cnt == 0)
  4224. {
  4225. MessageUtil.ShowWarning("一级工艺文件不包含" + processDesc + "工序!");
  4226. return;
  4227. }
  4228. FrmCraftFileLv2 frmCraftFileLv2 = new FrmCraftFileLv2(designKey, processCode, craftFileLv2Pks,
  4229. craftNo, "1", ob, msc, false, "", "", "", "");
  4230. if (frmCraftFileLv2.ShowDialog() == DialogResult.OK)
  4231. {
  4232. ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2", frmCraftFileLv2.CraftFileLv2Nos);
  4233. ultraGrid2.ActiveRow.SetValue("CRAFT_FILE_LV2_DESC", frmCraftFileLv2.CraftFileLv2Nos);
  4234. }
  4235. }
  4236. private void ultraTextEditor3_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4237. {
  4238. Core.StlMes.Client.Qcm.PopupTextBox popupText = new Core.StlMes.Client.Qcm.PopupTextBox(ultraGridOrderLine.ActiveCell.Value.ToString(), 2000);
  4239. if (popupText.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  4240. {
  4241. ultraGridOrderLine.ActiveCell.Value = popupText.TextInfo.Trim();
  4242. ultraGridOrderLine.ActiveRow.Update();
  4243. SaveCraftChangeMemo();
  4244. }
  4245. }
  4246. private void ultraTextEditor4_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4247. {
  4248. var row = ultraGridBl.ActiveRow;
  4249. if (ultraGridBl.ActiveCell.Column.Key == "CRAFT_NO")
  4250. {
  4251. string filePath = row.GetValue("CRAFT_PATH");
  4252. askDown = new dlgOrderAskDown(this.ob, filePath);
  4253. askDown.DeleteButton.Visible = false;
  4254. askDown.Show();
  4255. }
  4256. }
  4257. private void ultraGridMscBl_InitializeLayout(object sender, InitializeLayoutEventArgs e)
  4258. {
  4259. }
  4260. private void ultraTextEditor5_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4261. {
  4262. var row = ultraGridMscBl.ActiveRow;
  4263. if (ultraGridMscBl.ActiveCell.Column.Key == "CRAFT_NO")
  4264. {
  4265. string filePath = row.GetValue("CRAFT_PATH");
  4266. askDown = new dlgOrderAskDown(this.ob, filePath);
  4267. askDown.DeleteButton.Visible = false;
  4268. askDown.Show();
  4269. }
  4270. }
  4271. private void ultraTextEditor6_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4272. {
  4273. var row = ultraGridJg.ActiveRow;
  4274. if (ultraGridJg.ActiveCell.Column.Key == "FILE_NAME")
  4275. {
  4276. string designKey = row.GetValue("DESGIN_KEY");
  4277. string path = "Qcm/Jg/" + designKey + "/";
  4278. askDown = new dlgOrderAskDown(this.ob, path);
  4279. askDown.DeleteButton.Visible = false;
  4280. askDown.Show();
  4281. }
  4282. else if (ultraGridJg.ActiveCell.Column.Key == "MEMO" || ultraGridJg.ActiveCell.Column.Key == "JG_MEMO")
  4283. {
  4284. PopupTextBox p = new PopupTextBox(ultraGridJg.ActiveCell.Value.ToString());
  4285. p.UltraPanel1.Visible = false;
  4286. p.TxtInfo.ReadOnly = true;
  4287. p.Show();
  4288. }
  4289. }
  4290. private void ultraGridOrderLine_DoubleClickRow(object sender, DoubleClickRowEventArgs e)
  4291. {
  4292. //CraftOrdFdPicFrm fdPicFrm = new CraftOrdFdPicFrm(e.Row.GetValue("ORD_LN_PK"), e.Row.GetValue("DESGIN_KEY"), ob);
  4293. //fdPicFrm.ShowDialog();
  4294. //CraftOrdFdWicFrm fdWicFrm = new CraftOrdFdWicFrm(e.Row.GetValue("ORD_LN_PK"), e.Row.GetValue("DESGIN_KEY"), "111", ob);
  4295. //fdWicFrm.ShowDialog();
  4296. }
  4297. private void ultraGridOrderLine_ClickCellButton(object sender, CellEventArgs e)
  4298. {
  4299. UltraGridRow ugr = ultraGridOrderLine.ActiveRow;
  4300. if (ugr == null || ugr.HasParent())
  4301. return;
  4302. if (e.Cell.Column.Key.Equals("PLINE_SELECT"))
  4303. {
  4304. string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString().Trim();
  4305. frmPlineSelected fps = new frmPlineSelected(ordLnPk, this.ob);
  4306. fps.ShowDialog();
  4307. }
  4308. }
  4309. private void ultraTextEditor7_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  4310. {
  4311. var row = ultraGridOrderLine.ActiveRow;
  4312. ComBaseWbsFrm frm = new ComBaseWbsFrm(this.ob);
  4313. if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  4314. {
  4315. ultraGridOrderLine.ActiveCell.Value = frm.WbsEntity.WbsCode;
  4316. Object[] param = new Object[] { frm.WbsEntity.WbsCode, pOrdLnPk };
  4317. ServerHelper.SetData("com.steering.pss.sale.order.ReviewForm.CoreOrderReviewTechnologyList.UpdateOrderLineWbs", param, this.ob);
  4318. }
  4319. }
  4320. }
  4321. }