frmOrderManager.cs 342 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548
  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 System.Collections;
  14. using Core.Mes.Client.Comm.Tool;
  15. using Core.StlMes.Client.SaleOrder.Dialog;
  16. using com.steering.pss.sale.orderchange.entity;
  17. using Core.Mes.Client.Comm.Format;
  18. using Core.StlMes.Client.SaleOrder.OrderForm;
  19. using Core.Mes.Client.Comm;
  20. using System.Management;
  21. namespace Core.StlMes.Client.SaleOrder
  22. {
  23. public partial class frmOrderManager : FrmBase
  24. {
  25. // 120504 为天淮界面
  26. // ----------------------------------- CustomInfo ==2 时 来自于 合同行变更的请求。---------------------------------------------
  27. // 删除 ChgeDelete 变更确认 ChgeConfirm 新增 ChgeAdd 查询 ChgeQuery 修改 ChgeUpdate
  28. // 合同行新增逻辑“冻结变更” 提报完毕之后 还可以修改附加要求
  29. //--------------------------------- CustomInfo ==3 时 来自于 合同头变更的请求。---------------------------------------------'''
  30. // 查询 ChgeHeadQuery 修改 ChgeHeadUpdate 查看修改 ChgeHeadWatch
  31. //合同行是否新增指令参数
  32. private string orderSeq = null;
  33. public string OrderSeq
  34. {
  35. get { return orderSeq; }
  36. set { orderSeq = value; }
  37. }
  38. private string specName = null;
  39. private int pstrueFla = 0;
  40. private bool stas = false;
  41. private string departNames = "";
  42. string orderpsc = "";
  43. string spec = "";
  44. string model = "";
  45. string len = "";
  46. string user = "";
  47. string mps = "";
  48. string addtional = ""; //附加要求
  49. string special = ""; //特殊要求
  50. string dlyaddress = ""; //现货合同 交货地点
  51. /// <summary>
  52. /// 销售组织
  53. /// </summary>
  54. string _saleOrg = "";
  55. /// <summary>
  56. /// 采购期货初始化标识
  57. /// </summary>
  58. bool purchaseNoFlag = false;
  59. bool purchaseNoFlag1 = false;
  60. /// <summary>
  61. /// 合同行初始化标识
  62. /// </summary>
  63. bool lineFlag = false;
  64. /// <summary>
  65. /// 合同行控件 CtrlOrderLine 的编号
  66. /// </summary>
  67. int lineNum = 1;
  68. public string SpecName
  69. {
  70. get { return specName; }
  71. set
  72. {
  73. specName = value;
  74. }
  75. }
  76. /// <summary>
  77. /// CustomInfo=2时 合同变更标识 是否冻结变更
  78. /// </summary>
  79. bool freezeFlag = false;
  80. public frmOrderManager()
  81. {
  82. InitializeComponent();
  83. this.IsLoadUserView = true;
  84. }
  85. protected override void OnLoad(EventArgs e)
  86. {
  87. base.OnLoad(e);
  88. ctrlOrderLine1.UltraComboSpec.AutoCompleteMode = Infragistics.Win.AutoCompleteMode.SuggestAppend;
  89. panel1.BackColor = Color.FromArgb(202, 222, 247);
  90. ultraPanel1.BackColor = Color.FromArgb(202, 222, 247);
  91. ultraPanel2.BackColor = Color.FromArgb(202, 222, 247);
  92. ctrlLinePurchase1.LoadSetting();
  93. ctrlLinePurchase2.LoadSetting();
  94. }
  95. Color color = new Color();
  96. private void frmOrderManager_Load(object sender, EventArgs e)
  97. {
  98. departNames = UserInfo.GetDepartment();
  99. string deptId = UserInfo.GetDeptid().Trim();
  100. if (deptId.StartsWith("002001001") || deptId.StartsWith("002001007"))
  101. {
  102. UserInfo.SaleOrg = "100101";
  103. //deptId = "002001004046"; //本部 研发合同科室 为了数据权限
  104. UserInfo.SetDeptid("002001042001011");
  105. ctrlOrderHead1.OrderNoIsEdit(false);
  106. }
  107. else if (deptId.StartsWith("002023005001") || deptId.StartsWith("002023020"))
  108. {
  109. UserInfo.SaleOrg = "100105";// 天淮 研发合同科室 为了数据权限
  110. UserInfo.SetDeptid("002023020");
  111. }
  112. else
  113. {
  114. UserInfo.SaleOrg = ClsBaseInfo.GetSaleOrg(deptId);
  115. }
  116. _saleOrg = UserInfo.SaleOrg;
  117. ctrlOrderHead1.saleorgHander += new Core.StlMes.Client.SaleOrder.ctrlOrderHead.GetSaleOrgHander(setSaleOrgEvent);
  118. ctrlOrderHead1.loadBox(ob, UserInfo.SaleOrg, departNames, UserInfo.GetDeptid(),this.ValidDataPurviewIds);
  119. if (this.CustomInfo != "3" && this.CustomInfo != "3-120504")
  120. ctrlOrderLine1.loadFun(ob, UserInfo.SaleOrg);
  121. //默认查询当前日期-1月——当前日期数据。
  122. udtStart.DateTime = Convert.ToDateTime(DateTime.Now.AddMonths(-1).ToShortDateString());
  123. udtEnd.DateTime = Convert.ToDateTime(DateTime.Now.ToShortDateString());
  124. if (UserInfo.GetUserName() == "admin")
  125. {
  126. UserInfo.SaleOrg = "100101";
  127. ctrlOrderLine1.editLabDly();
  128. }
  129. cmbOutboundCalculate.Value = "0";
  130. color = ultraGrid2.DisplayLayout.Override.RowSelectorAppearance.BackColor;
  131. if (ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid()) != "100102")
  132. {
  133. ultraGrid1.DisplayLayout.Bands[0].Columns["BUSINESS_TYPE"].Hidden = true;
  134. }
  135. SetDlyTpe();
  136. purchaseNoFlag = false;
  137. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  138. {
  139. this.chkFreeze.Visible = true;
  140. }
  141. if (this.CustomInfo.Contains("120504") || deptId == "002001042001011" || UserInfo.GetUserName() == "admin" || deptId == "002001042003005")
  142. {
  143. ctrlOrderHead1.OrderNoIsEdit(false);
  144. ctrlOrderLine1.updateDlyAddVisible(true);
  145. }
  146. if (UserInfo.GetUserID() == "20100794") // 外贸事务科 周彤 修改交货运输方式
  147. {
  148. ctrlOrderLine1.updateDlyAddVisible(true);
  149. }
  150. }
  151. public void setSaleOrgEvent(string saleorg)
  152. {
  153. UserInfo.SaleOrg = saleorg;
  154. }
  155. /// <summary>
  156. /// 重写基类方法
  157. /// </summary>
  158. /// <param name="sender"></param>
  159. /// <param name="ToolbarKey"></param>
  160. public override void ToolBar_Click(object sender, string ToolbarKey)
  161. {
  162. if (UserInfo.SaleOrg.Equals("NONE"))
  163. {
  164. MessageBox.Show("未授权,不允许操作!");
  165. return;
  166. }
  167. switch (ToolbarKey)
  168. {
  169. case "doQuery":
  170. doQuery();
  171. break;
  172. case "doAdd":
  173. doAdd();
  174. break;
  175. case "doUpdate":
  176. if (!equalsName())
  177. {
  178. break;
  179. }
  180. doUpdate();
  181. break;
  182. case "doDelete":
  183. //if (!equalsName())
  184. //{
  185. // break;
  186. //}
  187. this.doDeleteOrRecovery(true);
  188. break;
  189. case "doRecovery":
  190. //this.doDeleteOrRecovery(false);
  191. break;
  192. case "doApproval":
  193. if (!equalsName())
  194. {
  195. break;
  196. }
  197. this.doApproval(); //合同确认
  198. break;
  199. case "OrderArchive":
  200. if (!equalsName())
  201. {
  202. break;
  203. }
  204. OrderArchive();
  205. break;
  206. case "doLoad":
  207. ctrlOrderHead1.loadBox(ob, UserInfo.SaleOrg, departNames, UserInfo.GetDeptid(),this.ValidDataPurviewIds);
  208. ctrlOrderLine1.loadFun(ob, UserInfo.SaleOrg);
  209. break;
  210. //---------------------------------CustomInfo=2-----合同行变更的按钮区域---------------------
  211. case "ChgeQuery":
  212. ChgeQuery();
  213. break;
  214. case "ChgeAdd":
  215. ChgeAdd();
  216. break;
  217. case "ChgeUpdate":
  218. if (!equalsName())
  219. {
  220. break;
  221. }
  222. if (freezeFlag == false)
  223. {
  224. ChgeUpdate();
  225. }
  226. else
  227. {
  228. ChgeUpdateFreeze();
  229. }
  230. break;
  231. case "ChgeDelete":
  232. if (!equalsName())
  233. {
  234. break;
  235. }
  236. ChgeDelete();
  237. break;
  238. case "ChgeConfirm":
  239. if (!equalsName())
  240. {
  241. break;
  242. }
  243. ChgeConfirm();
  244. break;
  245. case "Close":
  246. this.Close();
  247. break;
  248. //------------------------------------------------------------------------------------------------
  249. //---------------------------------CustomInfo=3-----合同头变更的按钮区域---------------------
  250. case "ChgeHeadQuery":
  251. ChgeHeadQuery();
  252. break;
  253. case "ChgeHeadUpdate":
  254. if (!EqualsNameSpec())
  255. {
  256. break;
  257. }
  258. ChgeHeadUpdate();
  259. break;
  260. case "ChgeHeadWatch":
  261. ChgeHeadWatch();
  262. break;
  263. case "ChgeHeadDelete":
  264. if (!equalsName())
  265. {
  266. break;
  267. }
  268. ChgeHeadDelete();
  269. break;
  270. //---------------------------------------------------------------------------------------------------
  271. case "doClose":
  272. this.Close();
  273. break;
  274. case "UpdateOrderNo":
  275. UpdateOrderNo();
  276. break;
  277. }
  278. }
  279. private void OrderArchive()
  280. {
  281. UltraGridRow ugr = ultraGrid1.ActiveRow;
  282. if (ugr == null)
  283. {
  284. MessageUtil.ShowWarning("请选择您要归档的合同!");
  285. return;
  286. }
  287. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  288. if (MessageUtil.ShowYesNoAndQuestion("是否确认归档合同?") == DialogResult.No) return;
  289. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.orderArchive", new object[] { ordPk }, ob);
  290. if (count > 0)
  291. {
  292. MessageUtil.ShowTips("归档成功!");
  293. doQuery();
  294. foreach (UltraGridRow row in ultraGrid1.Rows)
  295. {
  296. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  297. {
  298. row.Activate();
  299. break;
  300. }
  301. }
  302. }
  303. }
  304. /// <summary>
  305. /// 判定操作人员
  306. /// </summary>
  307. private bool equalsName()
  308. {
  309. UltraGridRow row = ultraGrid1.ActiveRow;
  310. if (row != null)
  311. {
  312. string createDept = row.Cells["CREATE_DEPT"].Value.ToString();
  313. string createName = row.Cells["CREATE_NAME"].Value.ToString();
  314. if (UserInfo.GetDeptid().Equals(createDept) && UserInfo.GetUserName().Equals(createName) || UserInfo.GetUserName().Equals("admin"))
  315. {
  316. return true;
  317. }
  318. MessageUtil.ShowWarning("操作权限不够!此合同是'" + createName + "'录入的!");
  319. }
  320. else
  321. {
  322. return true;
  323. }
  324. return false;
  325. }
  326. /// <summary>
  327. /// 判定操作人员
  328. /// </summary>
  329. private bool EqualsNameSpec()
  330. {
  331. UltraGridRow row = ultraGrid1.ActiveRow;
  332. if (row != null)
  333. {
  334. string createDept = row.Cells["CREATE_DEPT"].Value.ToString();
  335. string createName = row.Cells["CREATE_NAME"].Value.ToString();
  336. if (UserInfo.GetDeptid().Equals(createDept))
  337. {
  338. if (createName == "")
  339. {
  340. return true;
  341. }
  342. else
  343. {
  344. if (UserInfo.GetUserName().Equals(createName))
  345. {
  346. return true;
  347. }
  348. }
  349. }
  350. MessageUtil.ShowWarning("操作权限不够!此合同是'" + createName + "'录入的!");
  351. }
  352. else
  353. {
  354. return true;
  355. }
  356. return false;
  357. }
  358. /// <summary>
  359. /// 确认
  360. /// </summary>
  361. private void doApproval()
  362. {
  363. UltraGridRow row = ultraGrid1.ActiveRow;
  364. if (row != null)
  365. {
  366. if (ultraGrid2.Rows.Count == 0)
  367. {
  368. MessageUtil.ShowTips("合同行不存在,无法待提报评审!");
  369. return;
  370. }
  371. foreach (UltraGridRow urow in ultraGrid2.Rows)
  372. {
  373. if (urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("") || urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("N/A"))
  374. {
  375. MessageUtil.ShowTips(urow.Cells["ORDER_SEQ"].Value.ToString() + ",合同行交货发运要求信息未维护,所有行必须维护交货发运要求,否则无法待提报评审!");
  376. urow.Activate();
  377. return;
  378. }
  379. if (row.Cells["SUPPLY_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司") && !row.Cells["FST_DRAWEE_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司"))
  380. {
  381. if (urow.Cells["ORDER_ADD_DESC"].Value.ToString().Contains("计重方式") && !urow.Cells["ORDER_ADD_DESC"].Value.ToString().Contains("THCO"))
  382. {
  383. //MessageUtil.ShowTips("天淮成品合同计重方式请选择THCO!");
  384. //urow.Activate();
  385. //return;
  386. }
  387. }
  388. }
  389. string tipStr = "";
  390. //如果已经提交审批,则不允许再次提交审批。
  391. string orderSts = row.Cells["ORDER_STS"].Value.ToString();
  392. if (row.Cells["ORDER_TYP_DESC"].Text.Equals("N/A") || row.Cells["ORDER_TYP_DESC"].Text.Equals("/"))
  393. {
  394. MessageUtil.ShowWarning("请维护该合同的合同类型,确认操作时,不能存在(N/A和/值)!");
  395. return;
  396. }
  397. if (row.Cells["CUSTOMER_NM"].Text.Equals("N/A") || row.Cells["CUSTOMER_NM"].Text.Equals(""))
  398. {
  399. MessageUtil.ShowWarning("请维护该合同的订货单位,确认操作时,不能存在(N/A和空值)!");
  400. return;
  401. }
  402. if (row.Cells["STLMT_UNIT_NM"].Text.Equals("N/A") || row.Cells["STLMT_UNIT_NM"].Text.Equals(""))
  403. {
  404. MessageUtil.ShowWarning("请维护该合同的结算单位,确认操作时,不能存在(N/A和空值)!");
  405. return;
  406. }
  407. if ("12020102".Equals(orderSts))
  408. {
  409. MessageUtil.ShowTips("该合同头已待提报评审!");
  410. return;
  411. }
  412. if (!orderSts.Substring(0, 6).Equals("120201"))
  413. {
  414. MessageUtil.ShowTips("允许操作状态:录入!");
  415. return;
  416. }
  417. if (row.Cells["SUPPLY_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司") && !row.Cells["FST_DRAWEE_UNIT_NM"].Text.Equals("江苏天淮钢管有限公司"))
  418. {
  419. if (MessageUtil.ShowYesNoAndQuestion(tipStr + "天淮成品合同确认后将无法修改!是否确认!") == DialogResult.No)
  420. return;
  421. }
  422. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderQty", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  423. if (dt != null && dt.Rows.Count > 0)
  424. {
  425. if (Convert.ToDecimal(dt.Rows[0][0].ToString()) != 0)
  426. {
  427. MessageUtil.ShowWarning("确认的合同的订单量和交货行的交货量不一致,请确认交货行信息!");
  428. return;
  429. }
  430. }
  431. else
  432. {
  433. MessageUtil.ShowWarning("确认的合同发生异常!");
  434. return;
  435. }
  436. dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.queryOrderWgt", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  437. if (dt != null && dt.Rows.Count > 0)
  438. {
  439. for(int i = 0;i<dt.Rows.Count;i++){
  440. if (Convert.ToDecimal(dt.Rows[i][0].ToString()) != 0){
  441. MessageUtil.ShowWarning("确认的合同" + dt.Rows[i][1].ToString() + "的估算重量和交货行的估算重量不一致,请确认交货行信息!");
  442. return;
  443. }
  444. }
  445. }
  446. if (row.Cells["CUSTOMER_NO"].Value.ToString() == "" || row.Cells["STLMT_UNIT_NO"].Value.ToString() == "")
  447. {
  448. tipStr += "合同的订结单位为空!";
  449. }
  450. //确认之前判断 附加要求和产品技术要求是否修改 尚未保存到合同行。
  451. UltraGridRow acRow = ultraGrid2.ActiveRow;
  452. if (oldRow != null && acRow != null)
  453. {
  454. string oldAddDesc = oldRow.Cells["ORDER_ADD_DESC"].Value.ToString();
  455. string oldSpecialDesc = oldRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
  456. string ctrlAddDesc = "";
  457. string ctrlSpecialDesc = "";
  458. if (lineNum == 2)
  459. {
  460. ctrlAddDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
  461. ctrlSpecialDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  462. }
  463. else
  464. {
  465. ctrlAddDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
  466. ctrlSpecialDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  467. }
  468. if (oldAddDesc != ctrlAddDesc || oldSpecialDesc != ctrlSpecialDesc)
  469. {
  470. tipStr += "系统检测到合同附加要求或者产品技术要求做出了编辑,\n若不点击修改,将导致合同行信息不一致!";
  471. }
  472. }
  473. if (MessageUtil.ShowYesNoAndQuestion(tipStr + "是否确认提报?") == DialogResult.No)
  474. return;
  475. string ord_pk = row.Cells["ORD_PK"].Value.ToString();
  476. ArrayList parmsHead = new ArrayList();
  477. parmsHead.Add("12020102");
  478. parmsHead.Add("待提报评审");
  479. parmsHead.Add(orderSts);
  480. parmsHead.Add("合同销售管理(frmOrderManager.cs),点击确认按钮");
  481. parmsHead.Add(ord_pk);
  482. parmsHead.Add(GetComputerInfo());
  483. ArrayList parms = new ArrayList();
  484. parms.Add("12020102");
  485. parms.Add(orderSts);
  486. parms.Add("合同销售管理(frmOrderManager.cs),点击确认按钮");
  487. parms.Add(ord_pk);
  488. string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  489. CoreClientParam ccp = new CoreClientParam();
  490. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  491. ccp.MethodName = "doConfirmOrder";
  492. ccp.ServerParams = new object[] { ord_pk, parmsHead, UserInfo.GetUserName(), saleOrg };
  493. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  494. //if (ccp.ReturnCode == -1) return;
  495. if (ccp != null)
  496. {
  497. if (ccp.ReturnCode == -1)
  498. {
  499. MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
  500. return;
  501. }
  502. }
  503. else
  504. {
  505. return;
  506. }
  507. MessageUtil.ShowTips("确认成功!");
  508. doQuery();
  509. //聚焦到当前选中行
  510. foreach (UltraGridRow urow in ultraGrid1.Rows)
  511. {
  512. if (ord_pk.Equals(urow.Cells["ORD_PK"].Value.ToString()))
  513. {
  514. urow.Activate();
  515. break;
  516. }
  517. }
  518. }
  519. else
  520. {
  521. MessageUtil.ShowTips("请选择合同头信息!");
  522. return;
  523. }
  524. }
  525. /// <summary>
  526. /// 删除或恢复功能实现
  527. /// </summary>
  528. /// <param name="p"></param>
  529. private void doDeleteOrRecovery(bool isDelete)
  530. {
  531. if (ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020201") ||
  532. ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020210") ||
  533. ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Equals("12020220") ||
  534. ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Substring(0, 6).Equals("120203"))
  535. {
  536. MessageUtil.ShowTips("等待评审中,不允许修改!");
  537. return;
  538. }
  539. if ("1".Equals(ultraTabControl1.SelectedTab.Key))
  540. {
  541. doDeleteOrRecoveryHead(isDelete);
  542. }
  543. else
  544. {
  545. //int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
  546. //if (count < 0)
  547. //{
  548. // MessageUtil.ShowWarning("已生成天淮合同,无法作废!");
  549. // return;
  550. //}
  551. int count = ServerHelper.SetData("com.steering.pss.sale.order.CopyOrderApproval.getThOrderStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  552. if (count == 2 && !UserInfo.GetUserName().Equals("admin"))
  553. {
  554. MessageUtil.ShowWarning("天淮合同技术评审,交货期已通过!无法修改");
  555. return;
  556. }
  557. //合同行删除恢复功能实现。
  558. doDeleteOrRecoveryLine(isDelete);
  559. }
  560. }
  561. /// <summary>
  562. /// 合同头废除恢复
  563. /// </summary>
  564. /// <param name="isDelete"></param>
  565. private void doDeleteOrRecoveryHead(bool isDelete)
  566. {
  567. if (ultraGrid1.ActiveRow == null)
  568. {
  569. MessageBox.Show("请选择需要" + (isDelete ? "废除" : "恢复") + "的数据,删除不能恢复!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  570. return;
  571. }
  572. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  573. string status = "";
  574. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderHeadStatus", new object[] { ordPk }, this.ob);
  575. if (dt != null && dt.Rows.Count > 0)
  576. {
  577. status = dt.Rows[0][0].ToString();
  578. }
  579. Boolean validflagStr = Convert.ToBoolean(ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value);
  580. if (isDelete)
  581. {
  582. //有效数据不允许删除。
  583. if (!validflagStr)
  584. {
  585. //MessageBox.Show("无效数据不支持废除操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  586. //return;
  587. }
  588. }
  589. else
  590. {
  591. //有效数据不允许恢复
  592. if (validflagStr)
  593. {
  594. MessageBox.Show("有效数据不支持恢复操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  595. return;
  596. }
  597. }
  598. ArrayList parms = new ArrayList();
  599. //废除人
  600. parms.Add(UserInfo.GetUserName());
  601. //管理卡号MANAG_NO
  602. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  603. parms.Add(managNo);
  604. ////合同号ORDER_NO
  605. //string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  606. //parms.Add(orderNo);
  607. string ordType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
  608. if (parms.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "废除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  609. {
  610. if (status == "12020201" || status == "12020210" || status == "12020220" || Convert.ToInt32(status) > 12020301)
  611. {
  612. MessageUtil.ShowWarning("当前状态下 不允许删除合同头");
  613. return;
  614. }
  615. try
  616. {
  617. int count = 0;
  618. try
  619. {
  620. count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.doDeleteOrRecoveryHead", new Object[] { parms, isDelete, ordType }, this.ob);
  621. }
  622. catch (MESException e)
  623. {
  624. MessageUtil.ShowWarning(e.Message);
  625. return;
  626. }
  627. if (count > 0)
  628. {
  629. if (isDelete)
  630. {
  631. for (int i = 0; i < this.orderHeadDt.Rows.Count; i++)
  632. {
  633. if (managNo.Equals(this.orderHeadDt.Rows[i]["ORD_PK"]))
  634. {
  635. this.orderHeadDt.Rows.Remove(this.orderHeadDt.Rows[i]);
  636. }
  637. }
  638. doQuery();
  639. }
  640. else
  641. {
  642. doQuery();
  643. }
  644. Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null;
  645. for (int i = 0; i < ultraGrid1.Rows.Count; i++)
  646. {
  647. rowD = ultraGrid1.Rows[i];
  648. if (rowD.Cells["ORD_PK"].Value.ToString().Equals(managNo))
  649. {
  650. rowD.Activate();
  651. break;
  652. }
  653. }
  654. }
  655. }
  656. catch (Exception ex)
  657. {
  658. MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  659. }
  660. }
  661. }
  662. /// <summary>
  663. /// 合同行废除或恢复
  664. /// </summary>
  665. /// <param name="p"></param>
  666. private void doDeleteOrRecoveryLine(bool isDelete)
  667. {
  668. if (ultraGrid2.ActiveRow == null)
  669. {
  670. MessageBox.Show("请选择需要" + (isDelete ? "废除" : "恢复") + "的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  671. return;
  672. }
  673. if (ultraGrid1.ActiveRow == null)
  674. {
  675. MessageBox.Show("主表信息未选中。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  676. return;
  677. }
  678. Boolean validflagHead = Convert.ToBoolean(ultraGrid1.ActiveRow.Cells["VALIDFLAG"].Value);
  679. if (!validflagHead)
  680. {
  681. //主表无效的情况下,从表不允许做任何操作。
  682. MessageBox.Show("无效操作,合同头处于无效状态。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  683. return;
  684. }
  685. Boolean validflagStr = Convert.ToBoolean(ultraGrid2.ActiveRow.Cells["VALIDFLAG"].Value);
  686. if (isDelete)
  687. {
  688. //有效数据不允许删除。
  689. if (!validflagStr)
  690. {
  691. MessageBox.Show("无效数据不支持废除操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  692. return;
  693. }
  694. }
  695. else
  696. {
  697. //有效数据不允许恢复
  698. if (validflagStr)
  699. {
  700. MessageBox.Show("有效数据不支持恢复操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  701. return;
  702. }
  703. }
  704. ArrayList parms = new ArrayList();
  705. //废除人
  706. parms.Add(UserInfo.GetUserName());
  707. ////管理卡号MANAG_NO
  708. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  709. //parms.Add(managNo);
  710. ////合同号ORDER_NO
  711. //string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  712. //parms.Add(orderNo);
  713. //合同行号ORDER_SEQ
  714. string orderSeq = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  715. parms.Add(orderSeq);
  716. string indexSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  717. string ordType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
  718. if (parms.Count > 0 && MessageBox.Show("是否确认" + (isDelete ? "废除" : "恢复") + "选中的数据!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  719. {
  720. try
  721. {
  722. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  723. dept = dept + "-" + UserInfo.GetDepartment();
  724. CoreClientParam ccp = new CoreClientParam();
  725. ccp.IfShowErrMsg = false;
  726. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  727. ccp.MethodName = "deleteLine";
  728. ccp.ServerParams = new object[] { managNo, orderSeq, parms, UserInfo.GetUserName(), dept, ordType };
  729. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  730. if (ccp != null)
  731. {
  732. if (ccp.ReturnCode == -1)
  733. {
  734. MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
  735. return;
  736. }
  737. }
  738. else
  739. {
  740. return;
  741. }
  742. if (isDelete)
  743. {
  744. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderType", new object[] { managNo }, this.ob);
  745. if (dt != null && dt.Rows.Count > 0)
  746. {
  747. if (dt.Rows[0][0].ToString2() != "120102")
  748. {
  749. ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.SetUpDateOrderSEQ", new Object[] { "slm_order_line", "ORDER_SEQ", indexSeq, managNo }, this.ob);
  750. }
  751. }
  752. }
  753. string valid = "1";
  754. //展示合同行数据
  755. GetOrderLineDt(managNo, valid);
  756. Infragistics.Win.UltraWinGrid.UltraGridRow rowD = null;
  757. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  758. {
  759. rowD = ultraGrid2.Rows[i];
  760. if (rowD.Cells["ORD_LN_PK"].Value.ToString().Equals(orderSeq))
  761. {
  762. rowD.Activate();
  763. break;
  764. }
  765. }
  766. }
  767. // }
  768. catch (Exception ex)
  769. {
  770. MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  771. }
  772. }
  773. }
  774. /// <summary>
  775. /// 比较合同头数据
  776. /// </summary>
  777. /// <param name="p"></param>
  778. private string orderHeadRowUp(UltraGridRow active, DataTable tableHead)
  779. {
  780. string retunup = "";
  781. if (active.Cells == null || tableHead.Rows.Count <= 0)
  782. {
  783. return "lineNull";
  784. }
  785. if (!active.Cells["ORDER_NO"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_NO"].ToString()))
  786. {
  787. retunup += "合同号:" + active.Cells["ORDER_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_NO"].ToString() + "\r\n";
  788. }
  789. if (!active.Cells["CUSTM_ORDER_NO"].Value.ToString().Equals(tableHead.Rows[0]["CUSTM_ORDER_NO"].ToString()))
  790. {
  791. retunup += "客户合同号:" + active.Cells["CUSTM_ORDER_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["CUSTM_ORDER_NO"].ToString() + "\r\n";
  792. }
  793. if (!active.Cells["ORDER_TYP"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_TYP"].ToString()))
  794. {
  795. retunup += "合同类型:" + active.Cells["ORDER_TYP_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_TYP_DESC"].ToString() + "\r\n";
  796. }
  797. if (!active.Cells["SALE_AREA_NO"].Value.ToString().Equals(tableHead.Rows[0]["SALE_AREA_NO"].ToString()))
  798. {
  799. retunup += "销售片区:" + active.Cells["SALE_AREA_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SALE_AREA_DESC"].ToString() + "\r\n";
  800. }
  801. if (!active.Cells["ORDER_YEAR"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_YEAR"].ToString()))
  802. {
  803. retunup += "合同年度:" + active.Cells["ORDER_YEAR"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_YEAR"].ToString() + "\r\n";
  804. }
  805. if (!active.Cells["DOCUMENTARY_NAME"].Value.ToString().Equals(tableHead.Rows[0]["DOCUMENTARY_NAME"].ToString()))
  806. {
  807. retunup += "跟单人:" + active.Cells["DOCUMENTARY_NAME"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["DOCUMENTARY_NAME"].ToString() + "\r\n";
  808. }
  809. if (tableHead.Rows[0]["SIGN_DATE"].ToString() != "")
  810. {
  811. if (active.Cells["SIGN_DATE"].Text.Trim() == "")
  812. {
  813. if (!active.Cells["SIGN_DATE"].Text.Equals(Convert.ToDateTime(tableHead.Rows[0]["SIGN_DATE"]).ToString("yyyyMMdd")))
  814. {
  815. retunup += "签订日期:" + active.Cells["SIGN_DATE"].Text + ",修改为:" + tableHead.Rows[0]["SIGN_DATE"].ToString() + "\r\n";
  816. }
  817. }
  818. else
  819. {
  820. if (!Convert.ToDateTime(active.Cells["SIGN_DATE"].Value).ToString("yyyyMMdd").Equals(Convert.ToDateTime(tableHead.Rows[0]["SIGN_DATE"]).ToString("yyyyMMdd")))
  821. {
  822. retunup += "签订日期:" + active.Cells["SIGN_DATE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SIGN_DATE"].ToString() + "\r\n";
  823. }
  824. }
  825. }
  826. if (!active.Cells["SIGN_ADDRESS"].Value.ToString().Equals(tableHead.Rows[0]["SIGN_ADDRESS"].ToString()))
  827. {
  828. retunup += "签订地点:" + active.Cells["SIGN_ADDRESS"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SIGN_ADDRESS"].ToString() + "\r\n";
  829. }
  830. if (!active.Cells["FST_DRAWEE_UNIT"].Value.ToString().Equals(tableHead.Rows[0]["FST_DRAWEE_UNIT"].ToString()))
  831. {
  832. retunup += "首次受票单位:+" + active.Cells["FST_DRAWEE_UNIT"].Text.ToString() + ",修改为:+" + tableHead.Rows[0]["FST_DRAWEE_UNIT"].ToString() + "\r\n";
  833. }
  834. if (!active.Cells["CUSTOMER_NO"].Value.ToString().Equals(tableHead.Rows[0]["CUSTOMER_NO"].ToString()))
  835. {
  836. retunup += "订货单位:-" + active.Cells["CUSTOMER_NM"].Value.ToString() + ",修改为:-" + tableHead.Rows[0]["CUSTOMER_NM"].ToString() + "\r\n";
  837. }
  838. if (!active.Cells["STLMT_UNIT_NO"].Value.ToString().Equals(tableHead.Rows[0]["STLMT_UNIT_NO"].ToString()))
  839. {
  840. retunup += "结算单位:" + active.Cells["STLMT_UNIT_NM"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["STLMT_UNIT_NM"].ToString() + "\r\n";
  841. }
  842. if (!active.Cells["BANK"].Value.ToString().Equals(tableHead.Rows[0]["BANK"].ToString()))
  843. {
  844. retunup += "开户银行:" + active.Cells["BANK"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["BANK"].ToString() + "。";
  845. }
  846. if (!active.Cells["ACCOUNT"].Value.ToString().Equals(tableHead.Rows[0]["ACCOUNT"].ToString()))
  847. {
  848. retunup += "开户行帐号:" + active.Cells["ACCOUNT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ACCOUNT"].ToString() + "。";
  849. }
  850. if (!active.Cells["TAX_ID"].Value.ToString().Equals(tableHead.Rows[0]["TAX_ID"].ToString()))
  851. {
  852. retunup += "税号:" + active.Cells["TAX_ID"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["TAX_ID"].ToString() + "。";
  853. }
  854. if (active.Cells["PROTCL_NO"].Value.ToString() != tableHead.Rows[0]["PROTCL_NO"].ToString())
  855. {
  856. retunup += "协议号:" + active.Cells["PROTCL_NO"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PROTCL_NO"].ToString() + "。";
  857. }
  858. if (active.Cells["PRINT_PRICE"].Value.ToString() != tableHead.Rows[0]["PRINT_PRICE"].ToString())
  859. {
  860. retunup += "打印价格:" + active.Cells["PRINT_PRICE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRINT_PRICE"].ToString() + "。";
  861. }
  862. if (active.Cells["PRICE_PLAN"].Value.ToString() != tableHead.Rows[0]["PRICE_PLAN"].ToString())
  863. {
  864. retunup += "优惠方案:" + active.Cells["PRICE_PLAN"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRICE_PLAN"].ToString() + "。";
  865. }
  866. if (!active.Cells["MNY_ASK_DESC"].Value.ToString().Equals(tableHead.Rows[0]["MNY_ASK_DESC"].ToString()))
  867. {
  868. retunup += "付款要求:" + active.Cells["MNY_ASK_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["MNY_ASK_DESC"].ToString() + "。";
  869. }
  870. if (!active.Cells["ORDER_MODEL_DESC"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_MODEL_DESC"].ToString()))
  871. {
  872. retunup += "商务条款:" + active.Cells["ORDER_MODEL_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_MODEL_DESC"].ToString() + "。";
  873. }
  874. if (!active.Cells["PENALTY_DESC"].Value.ToString().Equals(tableHead.Rows[0]["PENALTY_DESC"].ToString()))
  875. {
  876. retunup += "罚则条款:" + active.Cells["PENALTY_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PENALTY_DESC"].ToString() + "。";
  877. }
  878. return retunup;
  879. }
  880. /// <summary>
  881. /// 比较合同行数据
  882. /// </summary>
  883. /// <param name="p"></param>
  884. private string orderLineRowUp(UltraGridRow active, DataTable tableHead)
  885. {
  886. string retunup = "";
  887. if (active.Cells == null || tableHead.Rows.Count <= 0)
  888. {
  889. return "lineNull";
  890. }
  891. if (!active.Cells["PSC"].Value.ToString().Equals(tableHead.Rows[0]["PSC"].ToString()))
  892. {
  893. pstrueFla = 1;
  894. retunup += "订货产品:" + active.Cells["PSC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PSC"].ToString() + "\r\n";
  895. }
  896. if (!active.Cells["SPEC_CODE"].Value.ToString().Equals(tableHead.Rows[0]["SPEC_CODE"].ToString()))
  897. {
  898. pstrueFla = 1;
  899. retunup += "订货规格:" + active.Cells["SPEC_NAME"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["SPEC_NAME"].ToString() + "\r\n";
  900. retunup += "修改订货规格,估算重量会改变,请同时修改交货行。";
  901. }
  902. if (!active.Cells["MODEL_CODE"].Value.ToString().Equals(tableHead.Rows[0]["MODEL_CODE"].ToString()))
  903. {
  904. pstrueFla = 1;
  905. retunup += "扣型:" + active.Cells["MODEL_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["MODEL_DESC"].ToString() + "\r\n";
  906. }
  907. if (!active.Cells["LEN_NO"].Value.ToString().Equals(tableHead.Rows[0]["LEN_NO"].ToString()))
  908. {
  909. pstrueFla = 1;
  910. retunup += "订货长度:" + active.Cells["LEN_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["LEN_DESC"].ToString() + "\r\n";
  911. }
  912. if (!active.Cells["ORDER_QTY"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["ORDER_QTY"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["ORDER_QTY"].ToString()))
  913. {
  914. retunup += "订货量:" + active.Cells["ORDER_QTY"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_QTY"].ToString() + "\r\n";
  915. }
  916. if (!active.Cells["ORDER_UNIT"].Value.ToString().Equals(tableHead.Rows[0]["ORDER_UNIT"].ToString()))
  917. {
  918. retunup += "订货量单位:" + active.Cells["ORDER_UNIT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_UNIT"].ToString() + "\r\n";
  919. }
  920. //if (!active.Cells["PRDCT_WGT"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["PRDCT_WGT"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["PRDCT_WGT"].ToString()))
  921. //{
  922. // retunup += "订货量吨数:" + active.Cells["PRDCT_WGT"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["PRDCT_WGT"].ToString() + "\r\n";
  923. //}
  924. if (!active.Cells["DELVRY_RANGE_MAX"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["DELVRY_RANGE_MAX"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["DELVRY_RANGE_MAX"].ToString()))
  925. {
  926. retunup += "交货量差上限:+" + active.Cells["DELVRY_RANGE_MAX"].Value.ToString() + ",修改为:+" + tableHead.Rows[0]["DELVRY_RANGE_MAX"].ToString() + "\r\n";
  927. }
  928. if (!active.Cells["DELVRY_RANGE_MIN"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["DELVRY_RANGE_MIN"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["DELVRY_RANGE_MIN"].ToString()))
  929. {
  930. retunup += "交货量差下限:-" + active.Cells["DELVRY_RANGE_MIN"].Value.ToString() + ",修改为:-" + tableHead.Rows[0]["DELVRY_RANGE_MIN"].ToString() + "\r\n";
  931. }
  932. if (!active.Cells["ORDER_PRICE"].Value.Equals(System.DBNull.Value) && Convert.ToDouble(active.Cells["ORDER_PRICE"].Value.ToString()) != Convert.ToDouble(tableHead.Rows[0]["ORDER_PRICE"].ToString()))
  933. {
  934. pstrueFla = 1;
  935. retunup += "订货价:" + active.Cells["ORDER_PRICE"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["ORDER_PRICE"].ToString() + "\r\n";
  936. }
  937. if (!active.Cells["OUTS_BILLET_FL"].Value.ToString().Equals(tableHead.Rows[0]["OUTS_BILLET_DESC"].ToString()))
  938. {
  939. pstrueFla = 1;
  940. retunup += "外购坯:" + active.Cells["OUTS_BILLET_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["OUTS_BILLET_DESC"].ToString() + "\r\n";
  941. }
  942. if (!active.Cells["OUTS_STL_PIPE_FL"].Value.ToString().Equals(tableHead.Rows[0]["OUTS_STL_PIPE_DESC"].ToString()))
  943. {
  944. pstrueFla = 1;
  945. retunup += "外购管:" + active.Cells["OUTS_STL_PIPE_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["OUTS_STL_PIPE_DESC"].ToString() + "\r\n";
  946. }
  947. if (!active.Cells["FINAL_USER"].Value.ToString().Equals(tableHead.Rows[0]["FINAL_USER"].ToString()))
  948. {
  949. pstrueFla = 1;
  950. retunup += "最终用户:" + active.Cells["FINAL_USER_DESC"].Value.ToString() + ",修改为:" + tableHead.Rows[0]["FINAL_USER_DESC"].ToString() + "。";
  951. }
  952. return retunup;
  953. }
  954. /// <summary>
  955. /// 修改
  956. /// </summary>
  957. private void doUpdate()
  958. {
  959. ultraGrid1.UpdateData();
  960. if (ultraGrid1 != null)
  961. {
  962. int count = ServerHelper.SetData("com.steering.pss.sale.order.CopyOrderApproval.getThOrderStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  963. if (count == 2 && !UserInfo.GetUserName().Equals("admin"))
  964. {
  965. MessageUtil.ShowWarning("天淮合同技术评审,交货期已通过!无法修改");
  966. return;
  967. }
  968. count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
  969. if (count == -1 && !UserInfo.GetUserName().Equals("admin"))
  970. {
  971. //MessageUtil.ShowWarning("已生成天淮合同,无法修改!");
  972. //return;
  973. if (MessageBox.Show("已生成天淮合同,请确认已通知天淮需要修改合同内容?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
  974. {
  975. return;
  976. }
  977. }
  978. }
  979. if ("1".Equals(ultraTabControl1.SelectedTab.Key))
  980. {
  981. string orderSts = "12020101";
  982. string orderStsDesc = "";
  983. string b_ordSts = "";
  984. string b_ordlnsts = "";
  985. string ordlnsts = "";
  986. string ordlnsts_desc = "";
  987. string b_ordsndsts = "";
  988. string ordsndsts = "";
  989. string ordsndsts_desc = "";
  990. string ReviewItemFlag = "NONE";
  991. ultraGrid1.Update();
  992. if (ultraGrid1.ActiveRow == null)
  993. {
  994. MessageUtil.ShowTips("请选择需要修改的数据!");
  995. return;
  996. }
  997. b_ordSts = ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString();
  998. orderSts = ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString();
  999. orderStsDesc = ultraGrid1.ActiveRow.Cells["ORDER_STS_DESC"].Value.ToString();
  1000. if (orderSts == "12020221" | orderSts == "12020223" | orderSts == "12020231" | orderSts == "12020241")
  1001. {
  1002. b_ordlnsts = b_ordSts;
  1003. ordlnsts = "12020212";
  1004. ordlnsts_desc = "交货期评审通过";
  1005. b_ordsndsts = b_ordSts;
  1006. ordsndsts = "12020212";
  1007. ordsndsts_desc = "交货期评审通过";
  1008. }
  1009. if (orderSts == "12020231")
  1010. {
  1011. ReviewItemFlag = "P";
  1012. }
  1013. if (orderSts == "12020241")
  1014. {
  1015. ReviewItemFlag = "F";
  1016. }
  1017. DataSet ds = ctrlOrderHead1.ctrlValue;
  1018. if (ds == null)
  1019. {
  1020. return;
  1021. }
  1022. DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
  1023. //合同号ORDER_NO
  1024. string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
  1025. if (orderNo == "")
  1026. {
  1027. MessageUtil.ShowWarning("不能将合同号修改为空!");
  1028. return;
  1029. }
  1030. DateTime createTime = Convert.ToDateTime(ultraGrid1.ActiveRow.Cells["CREATE_TIME"].Value);
  1031. int year = createTime.Year;
  1032. int mon = createTime.Month;
  1033. int day = createTime.Day;
  1034. if (year > 2015 || (year == 2015 && mon == 12 && day > 30)) //2015-12-30之后的合同卡死13位
  1035. {
  1036. if (orderNo.Length != 13)
  1037. {
  1038. MessageUtil.ShowWarning("合同号的长度必须为13位!");
  1039. return;
  1040. }
  1041. // 生成的天淮合同
  1042. if (orderNo.StartsWith("TH"))
  1043. {
  1044. _saleOrg = "200101";
  1045. }
  1046. if (this.UserInfo.GetUserName().Equals("admin"))
  1047. {
  1048. _saleOrg = ctrlOrderHead1.Saleorg;
  1049. }
  1050. ArrayList arrList = new ArrayList();
  1051. arrList.Add(_saleOrg);
  1052. arrList.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
  1053. arrList.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
  1054. arrList.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
  1055. string msg = GetOrderPrefix(arrList);
  1056. string prefix = "";
  1057. if (msg == "1")
  1058. {
  1059. MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
  1060. return;
  1061. }
  1062. else if (msg == "2")
  1063. {
  1064. MessageUtil.ShowWarning("合同号验证失败!");
  1065. return;
  1066. }
  1067. else if (msg.Length == 6)
  1068. {
  1069. prefix = msg;
  1070. }
  1071. else
  1072. {
  1073. MessageUtil.ShowWarning(msg);
  1074. return;
  1075. }
  1076. string sux = orderNo.Substring(6, 7);
  1077. orderNo = prefix + sux;
  1078. }
  1079. slmOrderHead.Rows[0]["ORDER_NO"] = orderNo;
  1080. string runtre = orderHeadRowUp(ultraGrid1.ActiveRow, slmOrderHead);
  1081. string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + "。" + "\r\n" + runtre, "合同头修改",
  1082. MessageBoxButtons.YesNo,
  1083. MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
  1084. if (yesNoName.Equals("No"))
  1085. {
  1086. return;
  1087. }
  1088. ArrayList parms = new ArrayList();
  1089. parms.Add(orderNo);
  1090. //旧合同号。
  1091. string orderNoJ = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  1092. if (!orderNo.Equals(orderNoJ))
  1093. {
  1094. if (!orderNoIsRepeat(orderNo))
  1095. {
  1096. MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1097. return;
  1098. }
  1099. }
  1100. //客户合同号,CUSTM_ORDER_NO
  1101. parms.Add(slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper());
  1102. //合同类型,ORDER_TYP
  1103. parms.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
  1104. //合同类型描述,ORDER_TYP_DESC
  1105. parms.Add(slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString());
  1106. //协议号,PROTCL_NO,
  1107. parms.Add(slmOrderHead.Rows[0]["PROTCL_NO"].ToString());
  1108. //客户编码CUSTOMER_NO
  1109. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
  1110. //客户名称CUSTOMER_NM
  1111. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString());
  1112. //供货单位SUPPLY_UNIT
  1113. parms.Add(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString());
  1114. //计价方式(1203)PRICE_FL
  1115. parms.Add(slmOrderHead.Rows[0]["PRICE_FL"].ToString());
  1116. //币种CURRENCY
  1117. parms.Add(slmOrderHead.Rows[0]["CURRENCY"].ToString());
  1118. //结算单位编码STLMT_UNIT_NO
  1119. parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString());
  1120. //结算单位名称STLMT_UNIT_NM
  1121. parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString());
  1122. //首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
  1123. parms.Add(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString());
  1124. //法人LEGAL_PSN
  1125. parms.Add(slmOrderHead.Rows[0]["LEGAL_PSN"].ToString());
  1126. //委托代理人AGENT
  1127. parms.Add(slmOrderHead.Rows[0]["AGENT"].ToString());
  1128. //地址ADDRESS
  1129. parms.Add(slmOrderHead.Rows[0]["ADDRESS"].ToString());
  1130. //邮编ZIP_CODE
  1131. parms.Add(slmOrderHead.Rows[0]["ZIP_CODE"].ToString());
  1132. //开户银行BANK
  1133. parms.Add(slmOrderHead.Rows[0]["BANK"].ToString());
  1134. //帐号ACCOUNT
  1135. parms.Add(slmOrderHead.Rows[0]["ACCOUNT"].ToString());
  1136. //税号TAX_ID
  1137. parms.Add(slmOrderHead.Rows[0]["TAX_ID"].ToString());
  1138. //电话PHONE
  1139. parms.Add(slmOrderHead.Rows[0]["PHONE"].ToString());
  1140. //传真FAX
  1141. parms.Add(slmOrderHead.Rows[0]["FAX"].ToString());
  1142. //合同量ORDER_WGT
  1143. parms.Add(slmOrderHead.Rows[0]["ORDER_WGT"].ToString());
  1144. //合同总价(含税)ORDER_MNY_TAX
  1145. parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString());
  1146. //合同总价(不含税)ORDER_MNY_NTAX
  1147. parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString());
  1148. //付款要求描述MNY_ASK_DESC
  1149. parms.Add(slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString());
  1150. //签订人SIGN_PERSON
  1151. parms.Add(slmOrderHead.Rows[0]["SIGN_PERSON"].ToString());
  1152. //签订日期SIGN_DATE
  1153. //parms.Add(DateTime.Now);
  1154. parms.Add(slmOrderHead.Rows[0]["SIGN_DATE"].ToString());
  1155. //合同开始时间ORDER_BDATE
  1156. parms.Add(slmOrderHead.Rows[0]["ORDER_BDATE"].ToString());
  1157. //合同结束时间ORDER_EDATE
  1158. parms.Add(slmOrderHead.Rows[0]["ORDER_EDATE"].ToString());
  1159. //合同扫描件编号ORDER_SCAN_NO
  1160. parms.Add(slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString());
  1161. //是否客户范本(1:是;0:否)CUSTOMER_MODEL_FL
  1162. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString());
  1163. //合同范本编号ORDER_MODEL_NO
  1164. parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString());
  1165. //销售组织(国贸/钢贸/销售公司)SALE_ORG
  1166. // parms.Add(UserInfo.SaleOrg);
  1167. //销售组织描述SALE_ORG_DESC
  1168. //parms.Add(UserInfo.GetDepartment());
  1169. //销售区域编码SALE_AREA_NO
  1170. parms.Add(slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString());
  1171. //销售区域描述SALE_AREA_DESC
  1172. parms.Add(slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString());
  1173. //备注MEMO
  1174. parms.Add(slmOrderHead.Rows[0]["MEMO"].ToString());
  1175. /*
  1176. * 合同状态ORDER_STS: 默认修改录入
  1177. */
  1178. parms.Add(orderSts);
  1179. //合同状态描述ORDER_STS_DESC
  1180. parms.Add(orderStsDesc);
  1181. //有效标志(1:有效,0:无效)VALIDFLAG
  1182. parms.Add("1");
  1183. //创建人CREATE_NAME
  1184. parms.Add(UserInfo.GetUserName());
  1185. //合同年度ORDER_YEAR
  1186. parms.Add(slmOrderHead.Rows[0]["ORDER_YEAR"].ToString());
  1187. //parms.Add("2015");
  1188. //签订地点SIGN_ADDRESS
  1189. parms.Add(slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString());
  1190. //付款方式MNY_ASK_TYP
  1191. parms.Add(slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString());
  1192. //商务条款描述
  1193. parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_DESC"].ToString());
  1194. //管理卡号
  1195. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  1196. //打印价格 ,是否含税 ,优惠方案
  1197. parms.Add(slmOrderHead.Rows[0]["PRINT_PRICE"].ToString());
  1198. parms.Add(slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString());
  1199. parms.Add(slmOrderHead.Rows[0]["PRICE_PLAN"].ToString());
  1200. parms.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
  1201. parms.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
  1202. parms.Add(slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString());
  1203. parms.Add(slmOrderHead.Rows[0]["ABRVITION"].ToString());
  1204. parms.Add(slmOrderHead.Rows[0]["LOCAL_LAW"].ToString());
  1205. // 跟单人
  1206. parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_NAME"].ToString());
  1207. parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_DEPT"].ToString());
  1208. // 订单要求
  1209. parms.Add(slmOrderHead.Rows[0]["ORDER_REQUIRE_STATUS"].ToString());
  1210. parms.Add(slmOrderHead.Rows[0]["PORT_OF_DESTINATION"].ToString());
  1211. parms.Add(slmOrderHead.Rows[0]["PENALTY_DESC"].ToString());
  1212. parms.Add(managNo);
  1213. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  1214. dept = dept + "-" + UserInfo.GetDepartment();
  1215. CoreClientParam ccp = new CoreClientParam();
  1216. ccp.IfShowErrMsg = false;
  1217. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  1218. ccp.MethodName = "modifyHeadAndSatus";
  1219. ccp.ServerParams = new object[] { managNo, parms, UserInfo.GetUserName(), dept };
  1220. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1221. // if (ccp.ReturnCode == -1) return;
  1222. if (ccp != null)
  1223. {
  1224. if (ccp.ReturnCode == -1)
  1225. {
  1226. MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
  1227. return;
  1228. }
  1229. }
  1230. else
  1231. return;
  1232. //清除之前的付款要求
  1233. deleteBalnceMny(managNo);
  1234. //新增付款要求
  1235. addBalnceMny(managNo, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
  1236. MessageUtil.ShowTips("数据修改成功!");
  1237. //执行查询操作,刷新Table1
  1238. doQuery();
  1239. //聚焦新增行
  1240. foreach (UltraGridRow row in ultraGrid1.Rows)
  1241. {
  1242. if (managNo.Equals(row.Cells["ORD_PK"].Value.ToString()))
  1243. {
  1244. row.Activate();
  1245. break;
  1246. }
  1247. }
  1248. }
  1249. else if (ultraTabControl1.SelectedTab.Key.Equals("2")) //自产期货
  1250. {
  1251. if (!equalsName())
  1252. {
  1253. return;
  1254. }
  1255. //合同行修改
  1256. doUpdateLine();
  1257. }
  1258. else if (ultraTabControl1.SelectedTab.Key.Equals("3")) //现货合同
  1259. {
  1260. MessageUtil.ShowWarning(" 现货合同修改请点击现货合同TAB页的修改现货合同按钮!");
  1261. return;
  1262. }
  1263. else if (ultraTabControl1.SelectedTab.Key.Equals("4")) //采购期货不加工
  1264. {
  1265. if (!equalsName())
  1266. {
  1267. return;
  1268. }
  1269. DoUpdatePurchaseLine();
  1270. }
  1271. else if (ultraTabControl1.SelectedTab.Key.Equals("5")) //采购期货加工
  1272. {
  1273. if (!equalsName())
  1274. {
  1275. return;
  1276. }
  1277. DoUpdateOrdPurchaseLine();
  1278. }
  1279. }
  1280. /// <summary>
  1281. /// 修改合同行,合同号。
  1282. /// </summary>
  1283. private int UpdateOrderLine(string orderNo, string managNo, string orderNoJ)
  1284. {
  1285. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.UpdateOrderLine", new Object[] { orderNo, managNo, orderNoJ }, this.ob);
  1286. return count;
  1287. }
  1288. /// <summary>
  1289. /// 合同行修改
  1290. /// </summary>
  1291. private void doUpdateLine()
  1292. {
  1293. //合同行修改
  1294. if (ultraGrid1.ActiveRow.Cells["ORDER_STS"].Value.ToString().Substring(0, 6).Equals("120203"))
  1295. {
  1296. MessageUtil.ShowTips("合同已提报评审,不允许修改!");
  1297. return;
  1298. }
  1299. if (ultraGrid1.ActiveRow == null)
  1300. {
  1301. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  1302. return;
  1303. }
  1304. if (ultraGrid2.ActiveRow == null)
  1305. {
  1306. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1307. ultraTabControl1.Tabs[0].Selected = true;
  1308. return;
  1309. }
  1310. if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102")
  1311. {
  1312. MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
  1313. return;
  1314. }
  1315. bool booltrfa = ctrlOrderLine1.deliveryWTQty();
  1316. if (!booltrfa)
  1317. {
  1318. return;
  1319. }
  1320. DataSet ds = ctrlOrderLine1.CtrlLineValue;
  1321. if (ds == null)
  1322. {
  1323. return;
  1324. }
  1325. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  1326. if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
  1327. {
  1328. MessageUtil.ShowWarning("合同订货量须大于0");
  1329. return;
  1330. }
  1331. string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
  1332. if (errMsg != "")
  1333. {
  1334. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
  1335. return;
  1336. }
  1337. string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
  1338. if (msg != "")
  1339. {
  1340. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
  1341. return;
  1342. }
  1343. if (!string.IsNullOrWhiteSpace(ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString())
  1344. //&& !ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString().Equals("0")
  1345. && !slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString().Equals(ultraGrid2.ActiveRow.Cells["ORD_ENSU_TOTL_LEN"].Value.ToString()))
  1346. {
  1347. DataTable dt1 = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderDelivery.doQuery", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
  1348. if (dt1 != null && dt1.Rows.Count > 0)
  1349. {
  1350. MessageUtil.ShowWarning("已生成交货行,无法修改报总长,如需修改请作废当前合同行,交货行,重新录入!");
  1351. return;
  1352. }
  1353. }
  1354. string runtre = orderLineRowUp(ultraGrid2.ActiveRow, slmOrderLine);
  1355. string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " ,合同行号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "。" + "\r\n" + runtre, "合同行修改",
  1356. MessageBoxButtons.YesNo,
  1357. MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
  1358. if (yesNoName.Equals("No"))
  1359. {
  1360. return;
  1361. }
  1362. //判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
  1363. string psc = slmOrderLine.Rows[0]["PSC"].ToString();
  1364. string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  1365. string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
  1366. string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
  1367. string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
  1368. string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
  1369. string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
  1370. string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
  1371. string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
  1372. string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  1373. string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  1374. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  1375. string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
  1376. string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  1377. string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  1378. string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  1379. string outP = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
  1380. string outG = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
  1381. string lineOutP = ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Value.ToString();
  1382. string lineOutG = ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Value.ToString();
  1383. if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
  1384. {
  1385. MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1386. return;
  1387. }
  1388. bool isAlter = false; ////技术项是否修改,包括附加要求和产品特殊要求
  1389. if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
  1390. && user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString()
  1391. && userAsk == addtional && orderspecial == special && outP == lineOutP && outG == lineOutG)
  1392. {
  1393. //都没有修改
  1394. isAlter = false;
  1395. }
  1396. else
  1397. {
  1398. isAlter = true;
  1399. }
  1400. bool isClear = false;
  1401. string oldSpecialDesc = ultraGrid2.ActiveRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
  1402. string ctrlSpecialDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  1403. if (oldSpecialDesc != ctrlSpecialDesc)
  1404. {
  1405. isClear = true;
  1406. }
  1407. string reviewMemo = "";
  1408. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new object[] { ordLnPk }, this.ob);
  1409. if (dt != null && dt.Rows.Count > 0)
  1410. {
  1411. string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString();
  1412. if (lnStatus == "12020203") //技术评审失败
  1413. {
  1414. dlgReviewMemo dlg = new dlgReviewMemo();
  1415. dlg.ReviewFlag = 2;
  1416. dlg.ReviewSatus = "修改内容或重新提报原因";
  1417. dlg.ShowDialog();
  1418. if (dlg.DialogResult != DialogResult.OK)
  1419. return;
  1420. reviewMemo = dlg.ReviewMemo;
  1421. }
  1422. }
  1423. ArrayList parms = new ArrayList();
  1424. //客户编码CUSTOMER_NO
  1425. //string customerNo = slmOrderLine.Rows[0]["CUSTOMER_NO"].ToString();
  1426. //parms.Add(customerNo);
  1427. //客户Alpha编号CUST_ALPHA_NO
  1428. string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  1429. parms.Add(custAlphaNo);
  1430. //产品规范码PSC
  1431. parms.Add(psc);
  1432. //产品规范描述PSC_DESC
  1433. parms.Add(slmOrderLine.Rows[0]["PSC_DESC"].ToString());
  1434. //品种分类(油井管;专业管;普管)PRD_CLS
  1435. parms.Add(slmOrderLine.Rows[0]["PRD_CLS"].ToString());
  1436. //品名代码PRODUCCODE
  1437. parms.Add(slmOrderLine.Rows[0]["PRODUCCODE"].ToString());
  1438. //品名描述PRODUCNAME
  1439. parms.Add(slmOrderLine.Rows[0]["PRODUCNAME"].ToString());
  1440. //标准代码STD_CODE
  1441. parms.Add(slmOrderLine.Rows[0]["STD_CODE"].ToString());
  1442. //标准名称STD_NAME
  1443. parms.Add(slmOrderLine.Rows[0]["STD_NAME"].ToString());
  1444. //钢级(牌号)代码STEELCODE
  1445. parms.Add(slmOrderLine.Rows[0]["STEELCODE"].ToString());
  1446. //钢级(牌号)名称STEELNAME
  1447. parms.Add(slmOrderLine.Rows[0]["STEELNAME"].ToString());
  1448. //订货规格代码ORDER_SPEC_CODE
  1449. parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString());
  1450. //订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
  1451. parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString());
  1452. //产品规格代码SPEC_CODE
  1453. parms.Add(slmOrderLine.Rows[0]["SPEC_CODE"].ToString());
  1454. //产品规格描述SPEC_NAME
  1455. parms.Add(slmOrderLine.Rows[0]["SPEC_NAME"].ToString());
  1456. //外径(mm)DIMATER
  1457. parms.Add(slmOrderLine.Rows[0]["DIMATER"].ToString());
  1458. //壁厚(mm)HEIGHT
  1459. parms.Add(slmOrderLine.Rows[0]["HEIGHT"].ToString());
  1460. //扣型代码MODEL_CODE
  1461. parms.Add(modelCode);
  1462. //扣型描述MODEL_DESC
  1463. parms.Add(slmOrderLine.Rows[0]["MODEL_DESC"].ToString());
  1464. //长度编码LEN_NO
  1465. parms.Add(lenNo);
  1466. //长度描述LEN_DESC
  1467. parms.Add(slmOrderLine.Rows[0]["LEN_DESC"].ToString());
  1468. //长度单位,LEN_UNIT
  1469. parms.Add(slmOrderLine.Rows[0]["LEN_UNIT"].ToString());
  1470. //下限LEN_MIN
  1471. parms.Add(slmOrderLine.Rows[0]["LEN_MIN"].ToString());
  1472. //上限LEN_MAX
  1473. parms.Add(slmOrderLine.Rows[0]["LEN_MAX"].ToString());
  1474. //短尺率(%)SHRT_LEN_RATO
  1475. parms.Add(slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString());
  1476. //短尺最短SHORTEST
  1477. parms.Add(slmOrderLine.Rows[0]["SHORTEST"].ToString());
  1478. //长尺率(%)LONG_LEN_RATO
  1479. parms.Add(slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString());
  1480. //长尺最长LONGEST
  1481. parms.Add(slmOrderLine.Rows[0]["LONGEST"].ToString());
  1482. //短尺随炉SHRT_STOVE
  1483. parms.Add(slmOrderLine.Rows[0]["SHRT_STOVE"].ToString());
  1484. //平均长度大于AVG_LEN_MIN
  1485. parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString());
  1486. //最长最短差小于DIFRNC_LEN_MAX
  1487. parms.Add(slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString());
  1488. //单倍尺长SIGL_LEN
  1489. parms.Add(slmOrderLine.Rows[0]["SIGL_LEN"].ToString());
  1490. //订货计量单位(支、米、吨)ORDER_UNIT
  1491. parms.Add(slmOrderLine.Rows[0]["ORDER_UNIT"].ToString());
  1492. //订货量ORDER_QTY
  1493. parms.Add(slmOrderLine.Rows[0]["ORDER_QTY"].ToString());
  1494. //订货保总长ORD_ENSU_TOTL_LEN
  1495. parms.Add(slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString());
  1496. //生产吨数(根据订货量计算)PRDCT_WGT
  1497. parms.Add(slmOrderLine.Rows[0]["PRDCT_WGT"].ToString());
  1498. //交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
  1499. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString());
  1500. //交货量差下限DELVRY_RANGE_MIN
  1501. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString());
  1502. //交货量差上限DELVRY_RANGE_MAX
  1503. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString());
  1504. //最终用户(来源客户表)FINAL_USER
  1505. parms.Add(slmOrderLine.Rows[0]["FINAL_USER"].ToString());
  1506. //最终用户描述FINAL_USER_DESC
  1507. parms.Add(slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString());
  1508. //外购坯,OUTS_BILLET_FL
  1509. parms.Add(slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString());
  1510. //外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
  1511. parms.Add(slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString());
  1512. //ASSEL(1:允许;0:不允许)ASSEL_FL
  1513. parms.Add(slmOrderLine.Rows[0]["ASSEL_FL"].ToString());
  1514. //交货开始日期DELVRY_BDATE
  1515. parms.Add(slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString());
  1516. //交货结束日期DELVRY_EDATE
  1517. parms.Add(slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString());
  1518. //交货信息描述,DELVRY_DESC
  1519. parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
  1520. //运输信息描述TRANS_DESC
  1521. parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
  1522. //附加要求编码ADD_ASK_NO
  1523. parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
  1524. //产品特殊要求描述ORDER_SPECIAL_DESC
  1525. if (UserInfo.GetUserName() == "admin")
  1526. {
  1527. parms.Add(ctrlOrderLine1.LabDlyTxt);
  1528. }
  1529. else {
  1530. parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
  1531. }
  1532. //订货附加要求描述ORDER_ADD_DESC
  1533. parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
  1534. //订货价,ORDER_PRICE
  1535. parms.Add(slmOrderLine.Rows[0]["ORDER_PRICE"].ToString());
  1536. //运费TRANS_PRICE
  1537. parms.Add(slmOrderLine.Rows[0]["TRANS_PRICE"].ToString());
  1538. //测价序号TEST_ID
  1539. //parms.Add(slmOrderLine.Rows[0]["TEST_ID"].ToString());
  1540. parms.Add("1");
  1541. //测算价TEST_PRICE
  1542. parms.Add(slmOrderLine.Rows[0]["TEST_PRICE"].ToString());
  1543. //出厂价OUT_PRICE
  1544. parms.Add(slmOrderLine.Rows[0]["OUT_PRICE"].ToString());
  1545. //结算价BALNCE_PRICE
  1546. parms.Add(slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString());
  1547. //平均长度小于AVG_LEN_MAX
  1548. parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MAX"].ToString());
  1549. //合同行状态ORDER_LN_STATUS
  1550. //parms.Add(slmOrderLine.Rows[0]["ORDER_LN_STATUS"].ToString());
  1551. //备注MEMO
  1552. parms.Add(slmOrderLine.Rows[0]["MEMO"].ToString());
  1553. //有效标志(1:有效,0:无效)VALIDFLAG
  1554. //parms.Add(1);
  1555. //创建人CREATE_NAME
  1556. parms.Add(UserInfo.GetUserName());
  1557. //MSC,MSC_DESC
  1558. parms.Add(slmOrderLine.Rows[0]["MSC"].ToString());
  1559. parms.Add(slmOrderLine.Rows[0]["MSC_DESC"].ToString());
  1560. parms.Add(slmOrderLine.Rows[0]["PRODUCER_FL"].ToString());
  1561. //MPS_FL
  1562. parms.Add(slmOrderLine.Rows[0]["MPS_FL"].ToString());
  1563. //STD_STYPE,STD_STYPE_DESC
  1564. parms.Add(slmOrderLine.Rows[0]["STD_STYLE"].ToString());
  1565. parms.Add(slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString());
  1566. parms.Add(slmOrderLine.Rows[0]["MSC_STYLE"].ToString());
  1567. parms.Add(slmOrderLine.Rows[0]["USE_CODE"].ToString());
  1568. parms.Add(slmOrderLine.Rows[0]["USE_DESC"].ToString());
  1569. parms.Add(slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString());
  1570. parms.Add(slmOrderLine.Rows[0]["AW"].ToString());
  1571. parms.Add(slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString());
  1572. parms.Add(slmOrderLine.Rows[0]["QUALITY_USER"].ToString());
  1573. parms.Add(slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString());
  1574. parms.Add(slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString());
  1575. parms.Add(slmOrderLine.Rows[0]["PROJECT_NO"].ToString());
  1576. parms.Add(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString());
  1577. parms.Add(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString());
  1578. parms.Add(slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString());
  1579. //合同行号ORD_LN_PK
  1580. string orderSeq = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  1581. parms.Add(orderSeq);
  1582. //合同行号顺序号ORDER_SEQ
  1583. string orderSeq_ln = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  1584. CoreClientParam ccp = new CoreClientParam();
  1585. ccp.IfShowErrMsg = false;
  1586. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  1587. ccp.MethodName = "modifyOrderLineAndStatus";
  1588. string deptName = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  1589. string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  1590. ccp.ServerParams = new object[] { ordpk, ordLnPk, parms, isAlter, UserInfo.GetUserName(), deptName + "-" + UserInfo.GetDepartment(), reviewMemo, saleOrg, isClear };
  1591. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1592. //if (ccp.ReturnCode == -1) return;
  1593. if (ccp != null)
  1594. {
  1595. if (ccp.ReturnCode == -1)
  1596. {
  1597. MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
  1598. return;
  1599. }
  1600. }
  1601. else
  1602. {
  1603. return;
  1604. }
  1605. MessageUtil.ShowTips("修改成功!");
  1606. doQuery();
  1607. string valid = "";
  1608. if (chkValid.Checked)
  1609. {
  1610. valid = "0";
  1611. }
  1612. else
  1613. {
  1614. valid = "1";
  1615. }
  1616. //展示合同行数据
  1617. GetOrderLineDt(ordpk, valid);
  1618. foreach (UltraGridRow row in ultraGrid1.Rows)
  1619. {//ordpk
  1620. if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  1621. {
  1622. row.Activate();
  1623. break;
  1624. }
  1625. }
  1626. //聚焦当前修改行
  1627. foreach (UltraGridRow row in ultraGrid2.Rows)
  1628. {
  1629. if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
  1630. {
  1631. row.Activate();
  1632. break;
  1633. }
  1634. }
  1635. }
  1636. /// <summary>
  1637. /// 清除运输线路信息
  1638. /// </summary>
  1639. /// <param name="managNo"></param>
  1640. /// <param name="orderNo"></param>
  1641. /// <param name="orderSeq"></param>
  1642. private void clearSlmOrderDeliveryTransit(string managNo, string orderNo, string orderSeq)
  1643. {
  1644. ArrayList parms = new ArrayList();
  1645. parms.Add(managNo);
  1646. parms.Add(orderNo);
  1647. parms.Add(orderSeq);
  1648. CoreClientParam ccp = new CoreClientParam();
  1649. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  1650. ccp.MethodName = "clearSlmOrderDeliveryTransit";
  1651. ccp.ServerParams = new object[] { parms };
  1652. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1653. if (ccp.ReturnCode == -1) return;
  1654. }
  1655. /// <summary>
  1656. /// 清除该合同行号下面的交货信息。
  1657. /// </summary>
  1658. /// <param name="managNo"></param>
  1659. /// <param name="orderNo"></param>
  1660. /// <param name="orderSeq"></param>
  1661. private void clearSlmOrderLineDelivery(string managNo, string orderNo, string orderSeq)
  1662. {
  1663. ArrayList parms = new ArrayList();
  1664. parms.Add(managNo);
  1665. parms.Add(orderNo);
  1666. parms.Add(orderSeq);
  1667. CoreClientParam ccp = new CoreClientParam();
  1668. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  1669. ccp.MethodName = "clearSlmOrderLineDelivery";
  1670. ccp.ServerParams = new object[] { parms };
  1671. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1672. if (ccp.ReturnCode == -1) return;
  1673. }
  1674. /// <summary>
  1675. /// 清除付款要求
  1676. /// </summary>
  1677. /// <param name="managNo"></param>
  1678. /// <param name="orderNo"></param>
  1679. private void deleteBalnceMny(string managNo)
  1680. {
  1681. ArrayList list = new ArrayList();
  1682. list.Add(managNo);
  1683. ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.deleteBalnceMny", new object[] { list }, this.ob);
  1684. }
  1685. /// <summary>
  1686. /// 合同头新增。
  1687. /// </summary>
  1688. private void doAdd()
  1689. {
  1690. if (ultraGrid1 != null && !"1".Equals(ultraTabControl1.SelectedTab.Key))
  1691. {
  1692. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderCopy.getOrder_TH", new object[] { ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() }, this.ob);
  1693. if (count < 0 && !UserInfo.GetUserName().Equals("admin"))
  1694. {
  1695. MessageUtil.ShowWarning("已生成天淮合同,无法新增!");
  1696. return;
  1697. }
  1698. }
  1699. if ("1".Equals(ultraTabControl1.SelectedTab.Key))
  1700. {
  1701. DataSet ds = ctrlOrderHead1.ctrlValue;
  1702. if (ds != null)
  1703. {
  1704. DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
  1705. slmOrderHead.Rows[0]["CREATE_DEPT"] = UserInfo.GetDepartment();
  1706. ArrayList parms = new ArrayList();
  1707. //内部合同号主键
  1708. string ord_pk = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getsysGuid", new Object[] { }, this.ob).Rows[0][0].ToString();
  1709. parms.Add(ord_pk);
  1710. //管理卡号
  1711. string managNo = GetManagNo();
  1712. parms.Add(managNo);
  1713. //合同号ORDER_NO
  1714. string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
  1715. if (orderNo != "")
  1716. {
  1717. if (orderNo.Length != 13)
  1718. {
  1719. MessageUtil.ShowWarning("人工录入的合同号长度必须为13位!");
  1720. return;
  1721. }
  1722. if(this.UserInfo.GetUserName().Equals("admin")){
  1723. _saleOrg = ctrlOrderHead1.Saleorg;
  1724. }
  1725. ArrayList arrList = new ArrayList();
  1726. arrList.Add(_saleOrg);
  1727. arrList.Add(slmOrderHead.Rows[0]["TRADE_TYPE"].ToString());
  1728. arrList.Add(slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString());
  1729. arrList.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
  1730. string msg = GetOrderPrefix(arrList);
  1731. string prefix = "";
  1732. if (msg == "1")
  1733. {
  1734. MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
  1735. return;
  1736. }
  1737. else if (msg == "2")
  1738. {
  1739. MessageUtil.ShowWarning("合同号验证失败!");
  1740. return;
  1741. }
  1742. else if (msg.Length == 6)
  1743. {
  1744. prefix = msg;
  1745. }
  1746. else
  1747. {
  1748. MessageUtil.ShowWarning(msg);
  1749. return;
  1750. }
  1751. //if (orderNo.Substring(0, 6) != prefix)
  1752. //{
  1753. // MessageUtil.ShowWarning("根据您维护的合同信息,录入的合同号前缀必须是:" + prefix);
  1754. // return;
  1755. //}
  1756. }
  1757. //合同号是否重复。
  1758. if (!orderNoIsRepeat(orderNo))
  1759. {
  1760. MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1761. return;
  1762. }
  1763. parms.Add(orderNo); //新增一个合同号 占一个位置
  1764. if (orderNo == "")
  1765. {
  1766. if (MessageUtil.ShowYesNoAndQuestion("是否采用系统生成的合同号?") == DialogResult.No) return;
  1767. }
  1768. // 参数
  1769. //客户合同号,CUSTM_ORDER_NO
  1770. parms.Add(slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper());
  1771. //合同类型,ORDER_TYP
  1772. parms.Add(slmOrderHead.Rows[0]["ORDER_TYP"].ToString());
  1773. //合同类型描述,ORDER_TYP_DESC
  1774. parms.Add(slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString());
  1775. //协议号,PROTCL_NO,
  1776. parms.Add(slmOrderHead.Rows[0]["PROTCL_NO"].ToString());
  1777. //客户编码CUSTOMER_NO
  1778. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
  1779. //客户名称CUSTOMER_NM
  1780. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString());
  1781. //供货单位SUPPLY_UNIT
  1782. parms.Add(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString());
  1783. //计价方式(1203)PRICE_FL
  1784. parms.Add(slmOrderHead.Rows[0]["PRICE_FL"].ToString());
  1785. //币种CURRENCY
  1786. parms.Add(slmOrderHead.Rows[0]["CURRENCY"].ToString());
  1787. //结算单位编码STLMT_UNIT_NO
  1788. parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString());
  1789. //结算单位名称STLMT_UNIT_NM
  1790. parms.Add(slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString());
  1791. //首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
  1792. parms.Add(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString());
  1793. //法人LEGAL_PSN
  1794. parms.Add(slmOrderHead.Rows[0]["LEGAL_PSN"].ToString());
  1795. //委托代理人AGENT
  1796. parms.Add(slmOrderHead.Rows[0]["AGENT"].ToString());
  1797. //地址ADDRESS
  1798. parms.Add(slmOrderHead.Rows[0]["ADDRESS"].ToString());
  1799. //邮编ZIP_CODE
  1800. parms.Add(slmOrderHead.Rows[0]["ZIP_CODE"].ToString());
  1801. //开户银行BANK
  1802. parms.Add(slmOrderHead.Rows[0]["BANK"].ToString());
  1803. //帐号ACCOUNT
  1804. parms.Add(slmOrderHead.Rows[0]["ACCOUNT"].ToString());
  1805. //税号TAX_ID
  1806. parms.Add(slmOrderHead.Rows[0]["TAX_ID"].ToString());
  1807. //电话PHONE
  1808. parms.Add(slmOrderHead.Rows[0]["PHONE"].ToString());
  1809. //传真FAX
  1810. parms.Add(slmOrderHead.Rows[0]["FAX"].ToString());
  1811. //合同量ORDER_WGT
  1812. parms.Add(slmOrderHead.Rows[0]["ORDER_WGT"].ToString());
  1813. //合同总价(含税)ORDER_MNY_TAX
  1814. parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString());
  1815. //合同总价(不含税)ORDER_MNY_NTAX
  1816. parms.Add(slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString());
  1817. //付款要求描述MNY_ASK_DESC
  1818. parms.Add(slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString());
  1819. //签订人SIGN_PERSON
  1820. parms.Add(slmOrderHead.Rows[0]["SIGN_PERSON"].ToString());
  1821. //签订日期SIGN_DATE
  1822. //parms.Add(DateTime.Now);
  1823. parms.Add(slmOrderHead.Rows[0]["SIGN_DATE"].ToString());
  1824. //合同开始时间ORDER_BDATE
  1825. parms.Add(slmOrderHead.Rows[0]["ORDER_BDATE"].ToString());
  1826. //合同结束时间ORDER_EDATE
  1827. parms.Add(slmOrderHead.Rows[0]["ORDER_EDATE"].ToString());
  1828. //合同扫描件编号ORDER_SCAN_NO
  1829. parms.Add(slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString());
  1830. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString());
  1831. //合同范本编号ORDER_MODEL_NO
  1832. parms.Add(slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString());
  1833. //销售组织(国贸/钢贸/销售公司)SALE_ORG
  1834. parms.Add(UserInfo.SaleOrg);
  1835. string deptId = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  1836. string deptName = "";
  1837. //销售组织描述SALE_ORG_DESC
  1838. if (deptId.Equals("100101"))
  1839. {
  1840. deptName = "国内贸易部";
  1841. }
  1842. if (deptId.Equals("100102"))
  1843. {
  1844. deptName = "国际贸易部";
  1845. }
  1846. if (deptId.Equals("100103"))
  1847. {
  1848. deptName = "钢贸公司";
  1849. }
  1850. if (deptId.Equals("100105"))
  1851. {
  1852. deptName = "天淮公司";
  1853. }
  1854. parms.Add(deptName);
  1855. //销售区域编码SALE_AREA_NO
  1856. parms.Add(slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString());
  1857. //销售区域描述SALE_AREA_DESC
  1858. parms.Add(slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString());
  1859. //备注MEMO
  1860. parms.Add(slmOrderHead.Rows[0]["MEMO"].ToString());
  1861. //合同状态ORDER_STS
  1862. parms.Add("12020101");
  1863. parms.Add("录入");
  1864. parms.Add(1);
  1865. //创建人CREATE_NAME
  1866. parms.Add(UserInfo.GetUserName());
  1867. //合同年度ORDER_YEAR
  1868. parms.Add(slmOrderHead.Rows[0]["ORDER_YEAR"].ToString());
  1869. //parms.Add("2015");
  1870. //签订地点SIGN_ADDRESS
  1871. parms.Add(slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString());
  1872. //付款方式MNY_ASK_TYP
  1873. parms.Add(slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString());
  1874. //部门名称
  1875. parms.Add(UserInfo.GetDeptid());
  1876. //市场系统编码
  1877. parms.Add(slmOrderHead.Rows[0]["MARKET_SYS"].ToString());
  1878. //市场系统名称
  1879. parms.Add(slmOrderHead.Rows[0]["MARKET_SYS_DESC"].ToString());
  1880. //评审单号(后台产生:XS/IE/GM+YYMM+四位流水号)
  1881. string userType = UserInfo.SaleOrg;
  1882. string dayMTime = DateTime.Now.Date.ToString("yyMM");
  1883. string ls = "";
  1884. // 制造商及卖出单位(首次受票人)是天淮 生成天淮合同
  1885. if ("120504".Equals(slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString()) && "120504".Equals(slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString()))
  1886. {
  1887. userType = "200101";
  1888. }
  1889. // 生成评审单号
  1890. if (userType.Equals("100101"))
  1891. {
  1892. ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "XS" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
  1893. parms.Add("XS" + dayMTime + ls);
  1894. }
  1895. else if (userType.Equals("100102"))
  1896. {
  1897. ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "IE" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
  1898. parms.Add("IE" + dayMTime + ls);
  1899. }
  1900. else if (userType.Equals("100103"))
  1901. {
  1902. ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "GM" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
  1903. parms.Add("GM" + dayMTime + ls);
  1904. }
  1905. else if (userType.Equals("100105"))
  1906. {
  1907. ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "HG" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
  1908. parms.Add("HG" + dayMTime + ls);
  1909. }
  1910. else if (userType.Equals("200101"))
  1911. {
  1912. ls = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQueryOredHeadRevwRptNo", new Object[] { "TH" + dayMTime + "%" }, this.ob).Rows[0][0].ToString();
  1913. parms.Add("TH" + dayMTime + ls);
  1914. }
  1915. else
  1916. {
  1917. MessageBox.Show("系统检测,该用户:" + UserInfo.GetUserName() + ",没有操作权限!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1918. return;
  1919. //this.Close();
  1920. }
  1921. //简称
  1922. parms.Add(slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString());
  1923. //打印价格 优惠方案 是否含税
  1924. parms.Add(slmOrderHead.Rows[0]["PRINT_PRICE"].ToString());
  1925. parms.Add(slmOrderHead.Rows[0]["PRICE_PLAN"].ToString());
  1926. parms.Add(slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString());
  1927. parms.Add(slmOrderHead.Rows[0]["LOCAL_LAW"].ToString());
  1928. // 跟单人
  1929. parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_NAME"].ToString());
  1930. parms.Add(slmOrderHead.Rows[0]["DOCUMENTARY_DEPT"].ToString());
  1931. //订单要求
  1932. parms.Add(slmOrderHead.Rows[0]["ORDER_REQUIRE_STATUS"].ToString());
  1933. //目的港
  1934. parms.Add(slmOrderHead.Rows[0]["PORT_OF_DESTINATION"].ToString());
  1935. //罚则条款
  1936. parms.Add(slmOrderHead.Rows[0]["PENALTY_DESC"].ToString());
  1937. //贸易类型 分类 业务分类
  1938. string tradeType = slmOrderHead.Rows[0]["TRADE_TYPE"].ToString();
  1939. string classify = slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString();
  1940. string busType = slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString();
  1941. string ordType = slmOrderHead.Rows[0]["ORDER_TYP"].ToString();
  1942. CoreClientParam ccp = new CoreClientParam();
  1943. ccp.IfShowErrMsg = false;
  1944. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  1945. ccp.MethodName = "doAdd";
  1946. //userType是销售组织代码
  1947. ccp.ServerParams = new object[] { parms, userType, tradeType, classify, ordType, busType };
  1948. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  1949. if (ccp != null)
  1950. {
  1951. if (ccp.ReturnCode == -1)
  1952. {
  1953. MessageUtil.ShowWarning(ccp.ReturnInfo);
  1954. return;
  1955. }
  1956. }
  1957. else
  1958. {
  1959. return;
  1960. }
  1961. //新增付款要求
  1962. addBalnceMny(ord_pk, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
  1963. MessageBox.Show("新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  1964. //执行查询操作,刷新Table1
  1965. // this.doQueryheadpk(ord_pk);
  1966. doQuery();
  1967. //聚焦新增行
  1968. foreach (UltraGridRow row in ultraGrid1.Rows)
  1969. {
  1970. if (ord_pk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  1971. {
  1972. row.Activate();
  1973. break;
  1974. }
  1975. }
  1976. }
  1977. }
  1978. else if (ultraTabControl1.SelectedTab.Key.Equals("2")) //自产期货
  1979. {
  1980. //自产期货合同行新增。
  1981. //if (!equalsName())
  1982. //{
  1983. // return;
  1984. //}
  1985. doAddLine();
  1986. }
  1987. else if (ultraTabControl1.SelectedTab.Key.Equals("3"))
  1988. {
  1989. MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
  1990. return;
  1991. }
  1992. else if (ultraTabControl1.SelectedTab.Key.Equals("4")) //采购期货(不加工)
  1993. {
  1994. //采购期货(不加工) 合同行新增。
  1995. if (!equalsName())
  1996. {
  1997. return;
  1998. }
  1999. DoAddPurchaseLine();
  2000. }
  2001. else if (ultraTabControl1.SelectedTab.Key.Equals("5")) //采购期货(加工)
  2002. {
  2003. //采购期货(加工) 合同行新增。
  2004. if (!equalsName())
  2005. {
  2006. return;
  2007. }
  2008. DoAddOrdPurLine();
  2009. }
  2010. }
  2011. /// <summary>
  2012. /// 验证合同号是否已存在
  2013. /// </summary>
  2014. /// <param name="orderNo"></param>
  2015. /// <returns></returns>
  2016. private bool orderNoIsRepeat(string orderNo)
  2017. {
  2018. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.orderNoIsRepeat", new Object[] { orderNo }, this.ob);
  2019. if (dt.Rows.Count > 0)
  2020. {
  2021. return false;
  2022. }
  2023. return true;
  2024. }
  2025. /// <summary>
  2026. /// 获取管理卡号,年月+0001,4位流水号。
  2027. /// </summary>
  2028. /// <returns></returns>
  2029. private string GetManagNo()
  2030. {
  2031. //获取当前年月最大管理卡号
  2032. //管理卡号+1返回。
  2033. DataTable dt = new DataTable();
  2034. string month = DateTime.Now.Month.ToString();
  2035. if (month.Length < 2)
  2036. {
  2037. month = "0" + month;
  2038. }
  2039. string yearMonth = DateTime.Now.Year.ToString().Substring(2, 2) + month;
  2040. dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetManagNo", new Object[] { yearMonth }, this.ob);
  2041. string orderSeq = "";
  2042. string manageNoMax = "";
  2043. manageNoMax = dt.Rows[0][0].ToString();
  2044. if ("".Equals(manageNoMax))
  2045. {
  2046. orderSeq = "0001";
  2047. }
  2048. else
  2049. {
  2050. int seq = Convert.ToInt32(manageNoMax.Substring(4, 4)) + 1;
  2051. orderSeq = seq.ToString();
  2052. }
  2053. while (orderSeq.Length < 4)
  2054. {
  2055. orderSeq = "0" + orderSeq;
  2056. }
  2057. return yearMonth + orderSeq;
  2058. }
  2059. /// <summary>
  2060. /// 合同行新增
  2061. /// </summary>
  2062. private void doAddLine()
  2063. {
  2064. if (ultraGrid1.ActiveRow == null)
  2065. {
  2066. MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
  2067. return;
  2068. }
  2069. if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102")
  2070. {
  2071. MessageUtil.ShowWarning("现货合同行的新增,请点击现货合同TAB页的库存信息!");
  2072. return;
  2073. }
  2074. //合同行新增
  2075. DataSet ds = ctrlOrderLine1.CtrlLineValue;
  2076. if (ds == null)
  2077. {
  2078. return;
  2079. }
  2080. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  2081. ArrayList parms = new ArrayList();
  2082. //内部合同号
  2083. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  2084. parms.Add(managNo);
  2085. parms.Add(managNo);
  2086. parms.Add(managNo);
  2087. parms.Add(managNo);
  2088. //判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
  2089. string psc = slmOrderLine.Rows[0]["PSC"].ToString();
  2090. string orderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
  2091. string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
  2092. string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
  2093. string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  2094. string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  2095. string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  2096. if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
  2097. {
  2098. MessageUtil.ShowWarning("合同订货量须大于0");
  2099. return;
  2100. }
  2101. if (string.IsNullOrWhiteSpace(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString2()))
  2102. {
  2103. MessageUtil.ShowWarning("请选择出库计量");
  2104. return;
  2105. }
  2106. if (string.IsNullOrWhiteSpace(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString2()))
  2107. {
  2108. MessageUtil.ShowWarning("请选择是否协同");
  2109. return;
  2110. }
  2111. string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
  2112. if (msg != "")
  2113. {
  2114. if (ultraGrid2.ActiveRow == null)
  2115. MessageUtil.ShowWarning(msg);
  2116. else
  2117. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
  2118. return;
  2119. }
  2120. string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, "");
  2121. if (errMsg != "")
  2122. {
  2123. if (ultraGrid2.ActiveRow == null)
  2124. MessageUtil.ShowWarning(errMsg);
  2125. else
  2126. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
  2127. return;
  2128. }
  2129. if (!isRepeatOrderLines(managNo, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
  2130. {
  2131. MessageBox.Show("合同行订货产品,订货规格,扣型,长度,最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  2132. return;
  2133. }
  2134. //合同行号ORDER_SEQ
  2135. //string orderSeq = GetOrderLineNo(managNo);
  2136. //parms.Add(orderSeq);
  2137. //客户编码CUSTOMER_NO
  2138. //string customerNo = slmOrderLine.Rows[0]["CUSTOMER_NO"].ToString();
  2139. //parms.Add(customerNo);
  2140. //客户Alpha编号CUST_ALPHA_NO
  2141. string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  2142. parms.Add(custAlphaNo);
  2143. //产品规范码PSC
  2144. parms.Add(psc);
  2145. //产品规范描述PSC_DESC
  2146. parms.Add(slmOrderLine.Rows[0]["PSC_DESC"].ToString());
  2147. //品种分类(油井管;专业管;普管)PRD_CLS
  2148. parms.Add(slmOrderLine.Rows[0]["PRD_CLS"].ToString());
  2149. //品名代码PRODUCCODE
  2150. parms.Add(slmOrderLine.Rows[0]["PRODUCCODE"].ToString());
  2151. //品名描述PRODUCNAME
  2152. parms.Add(slmOrderLine.Rows[0]["PRODUCNAME"].ToString());
  2153. //标准代码STD_CODE
  2154. parms.Add(slmOrderLine.Rows[0]["STD_CODE"].ToString());
  2155. //标准名称STD_NAME
  2156. parms.Add(slmOrderLine.Rows[0]["STD_NAME"].ToString());
  2157. //钢级(牌号)代码STEELCODE
  2158. parms.Add(slmOrderLine.Rows[0]["STEELCODE"].ToString());
  2159. //钢级(牌号)名称STEELNAME
  2160. parms.Add(slmOrderLine.Rows[0]["STEELNAME"].ToString());
  2161. //订货规格代码ORDER_SPEC_CODE
  2162. parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString());
  2163. //订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
  2164. parms.Add(slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString());
  2165. //产品规格代码SPEC_CODE
  2166. parms.Add(slmOrderLine.Rows[0]["SPEC_CODE"].ToString());
  2167. //产品规格描述SPEC_NAME
  2168. parms.Add(slmOrderLine.Rows[0]["SPEC_NAME"].ToString());
  2169. //外径(mm)DIMATER
  2170. parms.Add(slmOrderLine.Rows[0]["DIMATER"].ToString());
  2171. //壁厚(mm)HEIGHT
  2172. parms.Add(slmOrderLine.Rows[0]["HEIGHT"].ToString());
  2173. //扣型代码MODEL_CODE
  2174. parms.Add(modelCode);
  2175. //扣型描述MODEL_DESC
  2176. parms.Add(slmOrderLine.Rows[0]["MODEL_DESC"].ToString());
  2177. //长度编码LEN_NO
  2178. parms.Add(lenNo);
  2179. //长度描述LEN_DESC
  2180. parms.Add(slmOrderLine.Rows[0]["LEN_DESC"].ToString());
  2181. //长度单位,LEN_UNIT
  2182. parms.Add(slmOrderLine.Rows[0]["LEN_UNIT"].ToString());
  2183. //下限LEN_MIN
  2184. parms.Add(slmOrderLine.Rows[0]["LEN_MIN"].ToString());
  2185. //上限LEN_MAX
  2186. parms.Add(slmOrderLine.Rows[0]["LEN_MAX"].ToString());
  2187. //短尺率(%)SHRT_LEN_RATO
  2188. parms.Add(slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString());
  2189. //短尺最短SHORTEST
  2190. parms.Add(slmOrderLine.Rows[0]["SHORTEST"].ToString());
  2191. //长尺率(%)LONG_LEN_RATO
  2192. parms.Add(slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString());
  2193. //长尺最长LONGEST
  2194. parms.Add(slmOrderLine.Rows[0]["LONGEST"].ToString());
  2195. //短尺随炉SHRT_STOVE
  2196. parms.Add(slmOrderLine.Rows[0]["SHRT_STOVE"].ToString());
  2197. //平均长度大于AVG_LEN_MIN
  2198. parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString());
  2199. //最长最短差小于DIFRNC_LEN_MAX
  2200. parms.Add(slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString());
  2201. //单倍尺长SIGL_LEN
  2202. parms.Add(slmOrderLine.Rows[0]["SIGL_LEN"].ToString());
  2203. //订货计量单位(支、米、吨)ORDER_UNIT
  2204. parms.Add(slmOrderLine.Rows[0]["ORDER_UNIT"].ToString());
  2205. //订货量ORDER_QTY
  2206. parms.Add(slmOrderLine.Rows[0]["ORDER_QTY"].ToString());
  2207. //订货保总长ORD_ENSU_TOTL_LEN
  2208. parms.Add(slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString());
  2209. //生产吨数(根据订货量计算)PRDCT_WGT
  2210. parms.Add(slmOrderLine.Rows[0]["PRDCT_WGT"].ToString());
  2211. //交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
  2212. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString());
  2213. //交货量差下限DELVRY_RANGE_MIN
  2214. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString());
  2215. //交货量差上限DELVRY_RANGE_MAX
  2216. parms.Add(slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString());
  2217. //最终用户(来源客户表)FINAL_USER
  2218. parms.Add(slmOrderLine.Rows[0]["FINAL_USER"].ToString());
  2219. //最终用户描述FINAL_USER_DESC
  2220. parms.Add(slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString());
  2221. //外购坯,OUTS_BILLET_FL
  2222. parms.Add(slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString());
  2223. //外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
  2224. parms.Add(slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString());
  2225. //ASSEL(1:允许;0:不允许)ASSEL_FL
  2226. parms.Add(slmOrderLine.Rows[0]["ASSEL_FL"].ToString());
  2227. //交货开始日期DELVRY_BDATE
  2228. //parms.Add(slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString());
  2229. parms.Add("");
  2230. //交货结束日期DELVRY_EDATE
  2231. //parms.Add(slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString());
  2232. parms.Add("");
  2233. //交货信息描述,DELVRY_DESC
  2234. parms.Add("N/A");
  2235. // parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
  2236. //运输信息描述TRANS_DESC
  2237. //parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
  2238. parms.Add("N/A");
  2239. //附加要求编码ADD_ASK_NO
  2240. parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
  2241. //parms.Add("1");
  2242. //产品特殊要求描述ORDER_SPECIAL_DESC
  2243. parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
  2244. //订货附加要求描述ORDER_ADD_DESC
  2245. parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
  2246. //订货价,ORDER_PRICE
  2247. parms.Add(slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim());
  2248. //运费TRANS_PRICE
  2249. parms.Add(slmOrderLine.Rows[0]["TRANS_PRICE"].ToString());
  2250. //测价序号TEST_ID
  2251. //parms.Add(slmOrderLine.Rows[0]["TEST_ID"].ToString());
  2252. parms.Add("1");
  2253. //测算价TEST_PRICE
  2254. parms.Add(slmOrderLine.Rows[0]["TEST_PRICE"].ToString());
  2255. //出厂价OUT_PRICE
  2256. parms.Add(slmOrderLine.Rows[0]["OUT_PRICE"].ToString());
  2257. //结算价BALNCE_PRICE
  2258. parms.Add(slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString());
  2259. //平均长度大于AVG_LEN_MIN
  2260. parms.Add(slmOrderLine.Rows[0]["AVG_LEN_MAX"].ToString());
  2261. //合同行状态ORDER_LN_STATUS
  2262. //parms.Add(slmOrderLine.Rows[0]["ORDER_LN_STATUS"].ToString());
  2263. parms.Add("12020101");
  2264. //备注MEMO
  2265. parms.Add(slmOrderLine.Rows[0]["MEMO"].ToString());
  2266. //有效标志(1:有效,0:无效)VALIDFLAG
  2267. //parms.Add(1);
  2268. //创建人CREATE_NAME
  2269. parms.Add(UserInfo.GetUserName());
  2270. //创建msc\msc_desc
  2271. parms.Add(slmOrderLine.Rows[0]["MSC"].ToString());
  2272. parms.Add(slmOrderLine.Rows[0]["MSC_DESC"].ToString());
  2273. parms.Add(slmOrderLine.Rows[0]["PRODUCER_FL"].ToString());
  2274. //MPS_FL
  2275. parms.Add(slmOrderLine.Rows[0]["MPS_FL"].ToString());
  2276. //STD_STYLE
  2277. parms.Add(slmOrderLine.Rows[0]["STD_STYLE"].ToString());
  2278. parms.Add(slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString());
  2279. parms.Add(slmOrderLine.Rows[0]["MSC_STYLE"].ToString());
  2280. parms.Add(slmOrderLine.Rows[0]["USE_CODE"].ToString());
  2281. parms.Add(slmOrderLine.Rows[0]["USE_DESC"].ToString());
  2282. parms.Add(slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString());
  2283. parms.Add(slmOrderLine.Rows[0]["AW"].ToString());
  2284. parms.Add(slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString());
  2285. parms.Add(slmOrderLine.Rows[0]["QUALITY_USER"].ToString());
  2286. parms.Add(slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString());
  2287. parms.Add(slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString());
  2288. parms.Add(slmOrderLine.Rows[0]["PROJECT_NO"].ToString());
  2289. parms.Add(slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString());
  2290. parms.Add(slmOrderLine.Rows[0]["ORDER_TEAM"].ToString());
  2291. parms.Add(slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString());
  2292. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  2293. dept = dept + "-" + UserInfo.GetDepartment();
  2294. string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  2295. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  2296. {
  2297. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增合同行?") == DialogResult.No) return;
  2298. SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
  2299. soe.OrdPk = managNo;
  2300. soe.CustAlphaNo = custAlphaNo;
  2301. soe.Psc = psc;
  2302. soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
  2303. soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
  2304. soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
  2305. soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
  2306. soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
  2307. soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
  2308. soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
  2309. soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
  2310. soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
  2311. soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
  2312. soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  2313. soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
  2314. soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
  2315. soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
  2316. soe.ModelCode = modelCode;
  2317. soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
  2318. soe.LenNo = lenNo;
  2319. soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
  2320. soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
  2321. soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
  2322. soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
  2323. soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
  2324. soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
  2325. soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
  2326. soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
  2327. soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
  2328. soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
  2329. soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
  2330. soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
  2331. soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
  2332. soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
  2333. soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
  2334. soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
  2335. soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
  2336. soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
  2337. soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
  2338. soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  2339. soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
  2340. soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
  2341. soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
  2342. soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
  2343. soe.DelvryBdate = "";
  2344. soe.DelvryEdate = "";
  2345. soe.DelvryDesc = "N/A";
  2346. soe.TransDesc = "N/A";
  2347. soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  2348. soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  2349. soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
  2350. soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
  2351. soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
  2352. soe.TestId = "1";
  2353. soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
  2354. soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
  2355. soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
  2356. soe.OrderLnStatus = "12020101";
  2357. soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
  2358. soe.CreateName = UserInfo.GetUserName();
  2359. soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
  2360. soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
  2361. soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
  2362. soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
  2363. soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
  2364. soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
  2365. soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
  2366. soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
  2367. soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
  2368. soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
  2369. soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
  2370. soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
  2371. soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
  2372. soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
  2373. soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
  2374. soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
  2375. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  2376. csm.OrdPk = managNo;
  2377. csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  2378. csm.ChgeRsn = "新增合同行";
  2379. csm.ChgeType = "合同行变更,新增";
  2380. csm.UnitCode = UserInfo.GetDeptid();
  2381. csm.UnitDesc = UserInfo.GetDepartment();
  2382. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  2383. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  2384. csm.Chger = UserInfo.GetUserName();
  2385. csm.ChgeVal = "新增合同行";
  2386. csm.CreateName = UserInfo.GetUserName();
  2387. string json = JSONFormat.Format(csm);
  2388. CoreClientParam chgeCcp = new CoreClientParam();
  2389. chgeCcp.IfShowErrMsg = false;
  2390. chgeCcp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  2391. chgeCcp.MethodName = "addOrderLine";
  2392. chgeCcp.ServerParams = new object[] { JSONFormat.Format(soe), json, dept };
  2393. chgeCcp = this.ExecuteNonQuery(chgeCcp, CoreInvokeType.Internal);
  2394. if (chgeCcp != null)
  2395. {
  2396. if (chgeCcp.ReturnCode == -1)
  2397. {
  2398. MessageUtil.ShowWarning(chgeCcp.ReturnInfo);
  2399. return;
  2400. }
  2401. }
  2402. else
  2403. {
  2404. return;
  2405. }
  2406. }
  2407. else
  2408. {
  2409. CoreClientParam ccp = new CoreClientParam();
  2410. ccp.IfShowErrMsg = false;
  2411. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  2412. ccp.MethodName = "addOrderLine";
  2413. ccp.ServerParams = new object[] { managNo, parms, UserInfo.GetUserName(), dept, saleOrg };
  2414. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  2415. if (ccp != null)
  2416. {
  2417. if (ccp.ReturnCode == -1)
  2418. {
  2419. MessageUtil.ShowWarning(ccp.ReturnObject.ToString());
  2420. return;
  2421. }
  2422. }
  2423. else
  2424. {
  2425. return;
  2426. }
  2427. }
  2428. if (this.CustomInfo.Equals("2") || this.CustomInfo.Equals("2-120504"))
  2429. {
  2430. MessageUtil.ShowTips("合同行新增成功,变更单已生成,请确认变更,\n等待技术评审结果,通过即可提报变更单!");
  2431. }
  2432. else
  2433. {
  2434. MessageBox.Show("新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  2435. }
  2436. doQuery();
  2437. //新增成功,刷新数据。
  2438. string valid = "";
  2439. if (chkValid.Checked)
  2440. {
  2441. valid = "0";
  2442. }
  2443. else
  2444. {
  2445. valid = "1";
  2446. }
  2447. //展示合同行数据
  2448. GetOrderLineDt(managNo, valid);
  2449. //聚焦当前新增合同行。
  2450. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  2451. {
  2452. if (ugr.Cells["ORD_PK"].Value.ToString() == managNo)
  2453. {
  2454. ugr.Activate();
  2455. break;
  2456. }
  2457. }
  2458. ultraGrid2.DisplayLayout.Bands[0].SortedColumns.Clear();
  2459. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SEQ"].SortIndicator = SortIndicator.Ascending;
  2460. this.ultraGrid2.Rows[ultraGrid2.Rows.Count - 1].Activate();
  2461. }
  2462. /// <summary>
  2463. /// //判断订货产品,订货规格,扣型,长度要求是否已存在。
  2464. /// </summary>
  2465. /// <param name="managNo"></param>
  2466. /// <param name="orderNo"></param>
  2467. /// <param name="pscDesc"></param>
  2468. /// <param name="orderSpecDesc"></param>
  2469. /// <param name="modelDesc"></param>
  2470. /// <param name="lenDesc"></param>
  2471. /// <returns></returns>
  2472. /// FINAL_USER=? AND ADD_ASK_NO=? AND CUST_ALPHA_NO=?
  2473. private bool isRepeatOrderLine(string ordpk, string ordLnPk, string psc, string orderSpecCode, string modelCode, string lenNo, string final_user, string add_ask_no, string cust_alpha_no)
  2474. {
  2475. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.isRepeatOrderLine", new Object[] { ordpk, psc, orderSpecCode, modelCode, lenNo, final_user, add_ask_no, cust_alpha_no }, this.ob);
  2476. if (dt.Rows.Count > 0)
  2477. {
  2478. if (dt.Rows[0]["ORD_LN_PK"].ToString().Equals(ordLnPk))
  2479. {
  2480. return true;
  2481. }
  2482. return false;
  2483. }
  2484. return true;
  2485. }
  2486. /// <summary>
  2487. /// //判断订货产品,订货规格,扣型,长度要求是否已存在。
  2488. /// </summary>
  2489. /// <param name="managNo"></param>
  2490. /// <param name="orderNo"></param>
  2491. /// <param name="pscDesc"></param>
  2492. /// <param name="orderSpecDesc"></param>
  2493. /// <param name="modelDesc"></param>
  2494. /// <param name="lenDesc"></param>
  2495. /// <returns></returns>
  2496. /// FINAL_USER=? AND ADD_ASK_NO=? AND CUST_ALPHA_NO=?
  2497. private bool isRepeatOrderLines(string ordpk, string psc, string orderSpecCode, string modelCode, string lenNo, string final_user, string add_ask_no, string cust_alpha_no)
  2498. {
  2499. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.isRepeatOrderLine", new Object[] { ordpk, psc, orderSpecCode, modelCode, lenNo, final_user, add_ask_no, cust_alpha_no }, this.ob);
  2500. if (dt.Rows.Count > 0)
  2501. {
  2502. return false;
  2503. }
  2504. return true;
  2505. }
  2506. /// <summary>
  2507. /// 运输线路明细
  2508. /// </summary>
  2509. /// <param name="managNo"></param>
  2510. /// <param name="orderNo"></param>
  2511. /// <param name="orderSeq"></param>
  2512. /// <param name="slmOrderDeliveryTransit"></param>
  2513. private void addOrderDeliveryTransit(string managNo, string orderNo, string orderSeq, DataTable slmOrderDeliveryTransit)
  2514. {
  2515. ArrayList paramS = new ArrayList();
  2516. foreach (DataRow row in slmOrderDeliveryTransit.Rows)
  2517. {
  2518. ArrayList parms = new ArrayList();
  2519. parms.Add(managNo);
  2520. parms.Add(orderNo);
  2521. parms.Add(orderSeq);
  2522. parms.Add(row["DELIVERY_NO"].ToString());
  2523. parms.Add(row["INDEX_SEQ"].ToString());
  2524. //代办标识
  2525. if (Convert.ToBoolean(row["AGENCY_FL"]))
  2526. {
  2527. parms.Add(1);
  2528. }
  2529. else
  2530. {
  2531. parms.Add(0);
  2532. }
  2533. parms.Add(row["LV_FACTY_TYP"].ToString());
  2534. parms.Add(row["TRANSIT_TYP"].ToString());
  2535. parms.Add(row["DESTINATION"].ToString());
  2536. parms.Add(row["STATION_NO"].ToString());
  2537. parms.Add(row["STATION_NM"].ToString());
  2538. parms.Add(row["SPCL_LN_NO"].ToString());
  2539. parms.Add(row["SPCL_LN_NM"].ToString());
  2540. parms.Add(row["PORT_NO"].ToString());
  2541. parms.Add(row["PORT_DESC"].ToString());
  2542. parms.Add(row["CARRIER_UNIT"].ToString());
  2543. parms.Add(row["RECEIVOR"].ToString());
  2544. parms.Add(row["TRANSIT_LN_MNY"].ToString());
  2545. parms.Add(1);
  2546. parms.Add(UserInfo.GetUserName());
  2547. paramS.Add(parms);
  2548. }
  2549. CoreClientParam ccp = new CoreClientParam();
  2550. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  2551. ccp.MethodName = "addOrderDeliveryTransit";
  2552. ccp.ServerParams = new object[] { paramS };
  2553. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  2554. if (ccp.ReturnCode == -1) return;
  2555. }
  2556. /// <summary>
  2557. /// 交货信息新增
  2558. /// </summary>
  2559. /// <param name="managNo"></param>
  2560. /// <param name="orderNo"></param>
  2561. /// <param name="orderSeq"></param>
  2562. private void addSlmOrderLineDelivery(string managNo, string orderNo, string orderSeq, DataTable dt)
  2563. {
  2564. //交货编码,交货开始日期,交货结束日期/最迟交货日期,交货量,订货计量单位(支、吨、米),重量估算,保总长,收货单位编码,收货单位名称,交货地点,代办标识,指定地址,运输方案,总费用,有效标志(1:有效,0:无效),创建人,创建时间,修改人,修改时间,删除人,删除时间
  2565. //DELIVERY_NO,DELVRY_BDATE,DELVRY_EDATE,DELVRY_QTY,ORDER_UNIT,WGT_ESTMT,ENSU_TOTL_LEN,RECEIV_NO,RECEIV_NM,DELVRY_ADDR,AGENCY_FL,RECEIV_ADDR,TRANSIT_PLAN,TRANSIT_MNY,VALIDFLAG,CREATE_NAME,CREATE_TIME,UPDATE_NAME,UPDATE_TIME,DELETE_NAME,DELETE_TIME
  2566. ArrayList paramS = new ArrayList();
  2567. for (int i = 0; i < dt.Rows.Count; i++)
  2568. {
  2569. ArrayList parms = new ArrayList();
  2570. //管理卡号MANAG_NO
  2571. parms.Add(managNo);
  2572. //合同号ORDER_NO
  2573. parms.Add(orderNo);
  2574. //合同行号ORDER_SEQ
  2575. parms.Add(orderSeq);
  2576. //交货编码DELIVERY_NO
  2577. parms.Add(dt.Rows[i]["DELIVERY_NO"].ToString());
  2578. //交货开始日期DELVRY_BDATE
  2579. //parms.Add(dt.Rows[i]["DELVRY_BDATE"].ToString());
  2580. parms.Add(dt.Rows[i]["DELVRY_EDATE"].ToString());
  2581. //交货结束日期/最迟交货日期DELVRY_EDATE
  2582. parms.Add(dt.Rows[i]["DELVRY_EDATE"].ToString());
  2583. //交货量DELVRY_QTY
  2584. parms.Add(dt.Rows[i]["DELVRY_QTY"].ToString());
  2585. // 订货计量单位(支、吨、米)ORDER_UNIT
  2586. parms.Add(dt.Rows[i]["ORDER_UNIT"].ToString());
  2587. //重量估算WGT_ESTMT
  2588. parms.Add(dt.Rows[i]["WGT_ESTMT"].ToString());
  2589. // 保总长ENSU_TOTL_LEN
  2590. parms.Add(dt.Rows[i]["ENSU_TOTL_LEN"].ToString());
  2591. //收货单位编码RECEIV_NO
  2592. parms.Add(dt.Rows[i]["RECEIV_NO"].ToString());
  2593. // 收货单位名称RECEIV_NM
  2594. parms.Add(dt.Rows[i]["RECEIV_NM"].ToString());
  2595. //交货地点DELVRY_ADDR
  2596. parms.Add(dt.Rows[i]["DELVRY_ADDR"].ToString());
  2597. // 代办标识AGENCY_FL
  2598. //代办标识
  2599. parms.Add(dt.Rows[i]["AGENCY_FL"].ToString());
  2600. //parms.Add(dt.Rows[i]["AGENCY_FL"].ToString());
  2601. //指定地址RECEIV_ADDR
  2602. parms.Add(dt.Rows[i]["RECEIV_ADDR"].ToString());
  2603. // 运输方案TRANSIT_PLAN
  2604. parms.Add(dt.Rows[i]["TRANSIT_PLAN"].ToString());
  2605. //总费用TRANSIT_MNY
  2606. parms.Add(dt.Rows[i]["TRANSIT_MNY"].ToString());
  2607. // 有效标志(1:有效,0:无效)VALIDFLAG
  2608. //parms.Add(1);
  2609. //创建人CREATE_NAME
  2610. parms.Add(UserInfo.GetUserName());
  2611. //创建时间CREATE_TIME
  2612. paramS.Add(parms);
  2613. }
  2614. CoreClientParam ccp = new CoreClientParam();
  2615. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  2616. ccp.MethodName = "addSlmOrderLineDelivery";
  2617. ccp.ServerParams = new object[] { paramS };
  2618. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  2619. if (ccp.ReturnCode == -1) return;
  2620. }
  2621. /// <summary>
  2622. /// 合同号生成,3位流水号。
  2623. /// </summary>
  2624. /// <returns></returns>
  2625. private string GetOrderLineNo(string ordpk)
  2626. {
  2627. DataTable dt = new DataTable();
  2628. dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetOrderLineNo", new Object[] { ordpk }, this.ob);
  2629. string orderSeq = "";
  2630. if ("".Equals(dt.Rows[0][0].ToString()))
  2631. {
  2632. orderSeq = "001";
  2633. }
  2634. else
  2635. {
  2636. int seq = Convert.ToInt32(dt.Rows[0][0]) + 1;
  2637. orderSeq = seq.ToString();
  2638. }
  2639. while (orderSeq.Length < 3)
  2640. {
  2641. orderSeq = "0" + orderSeq;
  2642. }
  2643. return orderSeq;
  2644. }
  2645. /// <summary>
  2646. /// 新增付款要求
  2647. /// </summary>
  2648. private void addBalnceMny(string managNo, DataTable dt)
  2649. {
  2650. ArrayList paramS = new ArrayList();
  2651. if (dt == null)
  2652. {
  2653. return;
  2654. }
  2655. //批量新增付款要求
  2656. foreach (DataRow row in dt.Rows)
  2657. {
  2658. ArrayList parms = new ArrayList();
  2659. //MANAG_NO,ORDER_NO,BALNCE_MNY_NO,BALNCE_MNY_SEQ,
  2660. //PAYMENT_NODE,TERM,TERM_UNIT,PAYMENT_RATIO,
  2661. //MEMO,VALIDFLAG,CREATE_NAME,CREATE_TIME,UPDATE_NAME,
  2662. //UPDATE_TIME,DELETE_NAME,DELETE_TIME
  2663. //主键
  2664. parms.Add(managNo);
  2665. ////合同号ORDER_NO
  2666. //parms.Add(orderNo);
  2667. //BALNCE_MNY_NO结算付款编号
  2668. parms.Add(row["BALNCE_MNY_NO"].ToString());
  2669. //BALNCE_MNY_SEQ结算付款序号
  2670. parms.Add(row["BALNCE_MNY_SEQ"].ToString());
  2671. //付款节点
  2672. parms.Add(row["PAYMENT_NODE"].ToString());
  2673. //期限
  2674. parms.Add(row["TERM"].ToString());
  2675. //日期单位
  2676. parms.Add(row["TERM_UNIT"].ToString());
  2677. //付款比率(%)
  2678. parms.Add(row["PAYMENT_RATIO"].ToString());
  2679. //备注
  2680. parms.Add(row["MEMO"].ToString());
  2681. //parms.Add("1");
  2682. //有效标志
  2683. parms.Add(1);
  2684. //创建人
  2685. parms.Add(UserInfo.GetUserName());
  2686. //创建时间
  2687. paramS.Add(parms);
  2688. }
  2689. CoreClientParam ccp = new CoreClientParam();
  2690. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  2691. ccp.MethodName = "addBalnceMny";
  2692. ccp.ServerParams = new object[] { paramS };
  2693. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  2694. if (ccp.ReturnCode == -1) return;
  2695. }
  2696. /// <summary>
  2697. /// 查询功能
  2698. /// </summary>
  2699. private void doQuery()
  2700. {
  2701. string orderNo = ""; //合同号
  2702. string orderStart = "";
  2703. string orderEnd = "";
  2704. if (uchkOrderNo.Checked)
  2705. {
  2706. orderNo = utxtOrderNo.Text.Trim();
  2707. }
  2708. string valid = "";
  2709. if (chkValid.Checked)
  2710. {
  2711. valid = "0";
  2712. }
  2713. else
  2714. {
  2715. valid = "1";
  2716. }
  2717. if (uchkDate.Checked)
  2718. {
  2719. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  2720. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  2721. }
  2722. else
  2723. {
  2724. orderStart = "1000-01-01 00:00:01";
  2725. orderEnd = "9999-12-31 23:59:59";
  2726. }
  2727. string supp = this.CustomInfo.Contains("120504") ? this.CustomInfo : "";
  2728. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.doQuery", new Object[] { orderNo, orderStart, orderEnd, valid, ClsBaseInfo.GetArrByValid(this.ValidDataPurviewIds), this.ValidDataPurviewIds, supp,this.UserInfo.GetUserName() }, this.ob);
  2729. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  2730. foreach (UltraGridRow row in ultraGrid1.Rows)
  2731. {
  2732. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  2733. {
  2734. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  2735. }
  2736. else
  2737. {
  2738. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  2739. }
  2740. if ("1".Equals(row.Cells["VALIDFLAG"].Value))
  2741. {
  2742. row.Cells["VALIDFLAG"].Value = true;
  2743. row.Appearance.ForeColor = Color.Black;
  2744. }
  2745. else
  2746. {
  2747. row.Cells["VALIDFLAG"].Value = false;
  2748. row.Appearance.ForeColor = Color.Red;
  2749. }
  2750. }
  2751. if (ultraGrid1.ActiveRow == null)
  2752. {
  2753. this.orderLineDt.Clear();
  2754. }
  2755. }
  2756. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  2757. {
  2758. UltraGridRow row = ultraGrid1.ActiveRow;
  2759. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_COUNT"].Hidden = true;
  2760. string managNo = row.Cells["ORD_PK"].Value.ToString();
  2761. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  2762. {
  2763. GetOrderLineDt(managNo, "0");
  2764. if (ultraGrid2.Rows.Count <= 0)
  2765. {
  2766. ctrlOrderLine1.NumWt1.Enabled = true;
  2767. ctrlOrderLine1.ComboUNIT.Enabled = true;
  2768. ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
  2769. ctrlOrderLine1.loadPsc();
  2770. }
  2771. return;
  2772. }
  2773. string ordType = row.Cells["ORDER_TYP"].Value.ToString2();
  2774. if (ordType == "120102") //现货合同
  2775. {
  2776. ultraTabControl1.Tabs[1].Visible = false;
  2777. ultraTabControl1.Tabs[2].Visible = true;
  2778. ultraTabControl1.Tabs[3].Visible = false;
  2779. ultraTabControl1.Tabs[4].Visible = false;
  2780. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = true;
  2781. ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = false;
  2782. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_COUNT"].Hidden = false;
  2783. }
  2784. else if (ordType == "120101" || ordType == "120103" || ordType == "120104" || ordType == "120108" || ordType == "120109") //自产期货
  2785. {
  2786. ultraTabControl1.Tabs[1].Visible = true;
  2787. ultraTabControl1.Tabs[2].Visible = false;
  2788. ultraTabControl1.Tabs[3].Visible = false;
  2789. ultraTabControl1.Tabs[4].Visible = false;
  2790. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = false;
  2791. ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = true;
  2792. }
  2793. else if (ordType == "120105") //贸易
  2794. {
  2795. ultraTabControl1.Tabs[1].Visible = false;
  2796. ultraTabControl1.Tabs[2].Visible = false;
  2797. ultraTabControl1.Tabs[3].Visible = true;
  2798. ultraTabControl1.Tabs[4].Visible = false;
  2799. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = true;
  2800. ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = false;
  2801. }
  2802. else if (ordType == "120106") //自产+外加工
  2803. {
  2804. ultraTabControl1.Tabs[1].Visible = false;
  2805. ultraTabControl1.Tabs[2].Visible = false;
  2806. ultraTabControl1.Tabs[3].Visible = false;
  2807. ultraTabControl1.Tabs[4].Visible = true;
  2808. ultraGrid2.DisplayLayout.Bands[0].Columns["ORDER_SPEC_DESC"].Hidden = false;
  2809. ultraGrid2.DisplayLayout.Bands[0].Columns["SPEC_NAME"].Hidden = true;
  2810. }
  2811. string orderNo = row.Cells["ORDER_NO"].Value.ToString();
  2812. string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
  2813. string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  2814. //主合同头信息
  2815. DataView orderHeadDv = new DataView(orderHeadDt);
  2816. orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
  2817. DataTable orderHeadr = orderHeadDv.ToTable();
  2818. orderHeadr.TableName = "SLM_ORDER_HEAD";
  2819. if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
  2820. {
  2821. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
  2822. }
  2823. else
  2824. {
  2825. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
  2826. }
  2827. //商务条款条目
  2828. DataTable orderModelItemDt = BindOrderModelItem(orderModelNo);
  2829. orderModelItemDt.TableName = "frmordermodel";
  2830. //列自适应
  2831. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
  2832. //});
  2833. //获取付款要求
  2834. DataTable blanceMnyDt = GetBlanceMny(orderpk);
  2835. blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
  2836. orderManagerHeadr.Tables.Clear();
  2837. orderManagerHeadr.Tables.Add(orderHeadr);
  2838. orderManagerHeadr.Tables.Add(orderModelItemDt);
  2839. orderManagerHeadr.Tables.Add(blanceMnyDt);
  2840. ctrlOrderHead1.ctrlValue = orderManagerHeadr;
  2841. string valid = "";
  2842. if (chkValid.Checked)
  2843. {
  2844. valid = "0";
  2845. }
  2846. else
  2847. {
  2848. valid = "1";
  2849. }
  2850. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  2851. {
  2852. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getHeadStatus", new object[] { orderpk }, this.ob);
  2853. if (dt != null && dt.Rows.Count > 0)
  2854. {
  2855. if (dt.Rows[0][0].ToString() != "12020301")
  2856. {
  2857. ctrlOrderHead1.UltraOrderText.ButtonsRight[0].Enabled = false;
  2858. ctrlOrderHead1.UltraOrderText.Enabled = false;
  2859. }
  2860. else
  2861. {
  2862. ctrlOrderHead1.UltraOrderText.ButtonsRight[0].Enabled = true;
  2863. ctrlOrderHead1.UltraOrderText.Enabled = true;
  2864. }
  2865. }
  2866. return;
  2867. }
  2868. //展示合同行数据
  2869. GetOrderLineDt(managNo, valid);
  2870. ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
  2871. ultraTabControl1.Tabs[0].Selected = true;
  2872. ultraGrid2.ActiveRow = null;
  2873. ctrlOrderLine1.loadPsc();
  2874. }
  2875. /// <summary>
  2876. /// 绑定合同行数据源
  2877. /// </summary>
  2878. private void GetOrderLineDt(string manageNo, string valid)
  2879. {
  2880. string form = this.CustomInfo.Equals("2-120504") ? "2" : this.CustomInfo;
  2881. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetOrderLineDt", new Object[] { manageNo, valid, form, freezeFlag }, this.ob);
  2882. GridHelper.CopyDataToDatatable(ref dt, ref this.orderLineDt, true);
  2883. if (dt.Rows.Count == 0)
  2884. {
  2885. ctrlOrderLine1.setDelVry();
  2886. }
  2887. //不同颜色区分是否有效数据
  2888. Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
  2889. for (int i = 0; i < ultraGrid2.Rows.Count; i++)
  2890. {
  2891. row = ultraGrid2.Rows[i];
  2892. if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1"))
  2893. {
  2894. row.Cells["VALIDFLAG"].Value = false;
  2895. row.Appearance.ForeColor = Color.Red;
  2896. }
  2897. else
  2898. {
  2899. row.Cells["VALIDFLAG"].Value = true;
  2900. row.Appearance.ForeColor = Color.Black;
  2901. }
  2902. if ("1".Equals(row.Cells["MPS_FL"].Value))
  2903. {
  2904. row.Cells["MPS_FL"].Value = true;
  2905. }
  2906. else
  2907. {
  2908. row.Cells["MPS_FL"].Value = false;
  2909. }
  2910. ////外购坯
  2911. //if ("1".Equals(row.Cells["OUTS_BILLET_FL"].Value.ToString()))
  2912. //{
  2913. // row.Cells["OUTS_BILLET_FL"].Value = true;
  2914. //}
  2915. //else
  2916. //{
  2917. // row.Cells["OUTS_BILLET_FL"].Value = false;
  2918. //}
  2919. //监制
  2920. if ("1".Equals(row.Cells["PRODUCER_FL"].Value.ToString()))
  2921. {
  2922. row.Cells["PRODUCER_FL"].Value = true;
  2923. }
  2924. else
  2925. {
  2926. row.Cells["PRODUCER_FL"].Value = false;
  2927. }
  2928. //ASSEL
  2929. if ("1".Equals(row.Cells["ASSEL_FL"].Value.ToString()))
  2930. {
  2931. row.Cells["ASSEL_FL"].Value = true;
  2932. }
  2933. else
  2934. {
  2935. row.Cells["ASSEL_FL"].Value = false;
  2936. }
  2937. if (row.Cells["ISLOCK"].Value.ToString() == "1")
  2938. {
  2939. row.RowSelectorAppearance.BackColor = Color.Red;
  2940. }
  2941. else
  2942. {
  2943. row.RowSelectorAppearance.BackColor = color;
  2944. }
  2945. }
  2946. ////列自适应
  2947. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid2, new UltraGridColumn[] {
  2948. //});
  2949. }
  2950. /// <summary>
  2951. /// 获取付款要求
  2952. /// </summary>
  2953. /// <param name="manageNo"></param>
  2954. /// <param name="orderNo"></param>
  2955. /// <returns></returns>
  2956. private DataTable GetBlanceMny(string ord_pk)
  2957. {
  2958. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.GetBlanceMny", new Object[] { ord_pk }, this.ob);
  2959. return dt;
  2960. }
  2961. /// <summary>
  2962. /// 合同头相关信息
  2963. /// </summary>
  2964. DataSet orderManagerHeadr = new DataSet();
  2965. /// <summary>
  2966. /// 绑定范本条目数据源
  2967. /// </summary>
  2968. private DataTable BindOrderModelItem(string orderModelNo)
  2969. {
  2970. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderModel.GetOrderModelItem", new Object[] { orderModelNo }, this.ob);
  2971. GridHelper.CopyDataToDatatable(ref dt, ref this.slmOrderModelItem, true);
  2972. return dt;
  2973. }
  2974. /// <summary>
  2975. /// 编辑区Tab选择事件。
  2976. /// </summary>
  2977. /// <param name="sender"></param>
  2978. /// <param name="e"></param>
  2979. private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  2980. {
  2981. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  2982. return;
  2983. if ("2".Equals(e.Tab.Key))
  2984. {
  2985. if (ultraGrid1.ActiveRow == null)
  2986. {
  2987. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  2988. ultraTabControl1.Tabs[0].Selected = true;
  2989. return;
  2990. }
  2991. if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
  2992. {
  2993. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  2994. ultraTabControl1.Tabs[0].Selected = true;
  2995. return;
  2996. }
  2997. }
  2998. if ("3".Equals(e.Tab.Key))
  2999. {
  3000. if (ultraGrid1.ActiveRow == null)
  3001. {
  3002. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3003. ultraTabControl1.Tabs[0].Selected = true;
  3004. return;
  3005. }
  3006. if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
  3007. {
  3008. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3009. ultraTabControl1.Tabs[0].Selected = true;
  3010. return;
  3011. }
  3012. }
  3013. if ("4".Equals(e.Tab.Key)) //采购期货不加工
  3014. {
  3015. if (ultraGrid1.ActiveRow == null)
  3016. {
  3017. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3018. ultraTabControl1.Tabs[0].Selected = true;
  3019. return;
  3020. }
  3021. if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
  3022. {
  3023. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3024. ultraTabControl1.Tabs[0].Selected = true;
  3025. return;
  3026. }
  3027. //初始化本Tab页的数据 只首次加载
  3028. if (purchaseNoFlag == false)
  3029. {
  3030. ctrlLinePurchase1.Init(this.ob, _saleOrg);
  3031. purchaseNoFlag = true;
  3032. }
  3033. }
  3034. if ("5".Equals(e.Tab.Key)) //自产+外加工
  3035. {
  3036. if (ultraGrid1.ActiveRow == null)
  3037. {
  3038. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3039. ultraTabControl1.Tabs[0].Selected = true;
  3040. return;
  3041. }
  3042. if (ultraGrid2.ActiveRow == null && ultraGrid1.ActiveRow == null)
  3043. {
  3044. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  3045. ultraTabControl1.Tabs[0].Selected = true;
  3046. return;
  3047. }
  3048. if (lineFlag == false) //首次初始化
  3049. {
  3050. ctrlLinePurchase2.Init(this.ob, _saleOrg);
  3051. ctrlLinePurchase2.DlyFlag = 2;
  3052. lineFlag = true;
  3053. lineNum = 2;
  3054. }
  3055. }
  3056. }
  3057. UltraGridRow oldRow = null;
  3058. /// <summary>
  3059. /// 合同行选中事件
  3060. /// </summary>
  3061. /// <param name="sender"></param>
  3062. /// <param name="e"></param>
  3063. private void ultraGrid2_AfterRowActivate(object sender, EventArgs e)
  3064. {
  3065. if (ultraGrid1.ActiveRow == null)
  3066. return;
  3067. ultraGrid2.UpdateData();
  3068. this.Cursor = Cursors.WaitCursor;
  3069. string orderType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString2();
  3070. if (orderType == "120101" || orderType == "120103" || orderType == "120104" || orderType == "120108" || orderType == "120109") //自产期货 + 研发合同用同一个
  3071. {
  3072. ultraTabControl1.Tabs[1].Visible = true;
  3073. ultraTabControl1.Tabs[1].Selected = true;
  3074. ultraTabControl1.Tabs[2].Visible = false;
  3075. ultraTabControl1.Tabs[3].Visible = false;
  3076. ultraTabControl1.Tabs[4].Visible = false;
  3077. //这个类型判断下面的代码只适用于自产期货
  3078. lineNum = 1;
  3079. string tabName = "";
  3080. if (orderType == "120101")
  3081. {
  3082. tabName = "自产期货";
  3083. }
  3084. else if (orderType == "120103")
  3085. {
  3086. tabName = "研发合同";
  3087. }
  3088. else if (orderType == "120104")
  3089. {
  3090. tabName = "预排合同";
  3091. }
  3092. else if (orderType == "120108")
  3093. {
  3094. tabName = "双经销";
  3095. }
  3096. else if (orderType == "120109")
  3097. {
  3098. tabName = "定销订购";
  3099. }
  3100. ultraTabControl1.Tabs[1].Text = tabName;
  3101. }
  3102. else if (orderType == "120105") //贸易
  3103. {
  3104. ultraTabControl1.Tabs[1].Visible = false;
  3105. ultraTabControl1.Tabs[3].Selected = true;
  3106. ultraTabControl1.Tabs[2].Visible = false;
  3107. ultraTabControl1.Tabs[3].Visible = true;
  3108. ultraTabControl1.Tabs[4].Visible = false;
  3109. UltraGridRow uRow = ultraGrid2.ActiveRow;
  3110. if (purchaseNoFlag == false)
  3111. {
  3112. ctrlLinePurchase1.Init(this.ob, this._saleOrg);
  3113. purchaseNoFlag = true;
  3114. }
  3115. if (uRow != null)
  3116. {
  3117. SlmOrderLineNewEntity sol = GetOrderLineNewEntity(uRow);
  3118. ctrlLinePurchase1.SetControlValue(sol);
  3119. }
  3120. else
  3121. {
  3122. ctrlLinePurchase1.ClearControlValue();
  3123. }
  3124. this.Cursor = Cursors.Default;
  3125. return;
  3126. }
  3127. else if (orderType == "120106") //自产+外加工
  3128. {
  3129. ultraTabControl1.Tabs[1].Visible = false;
  3130. ultraTabControl1.Tabs[4].Selected = true;
  3131. ultraTabControl1.Tabs[2].Visible = false;
  3132. ultraTabControl1.Tabs[3].Visible = false;
  3133. ultraTabControl1.Tabs[4].Visible = true;
  3134. this.Cursor = Cursors.Default;
  3135. lineNum = 2;
  3136. UltraGridRow uRow = ultraGrid2.ActiveRow;
  3137. if (purchaseNoFlag1 == false)
  3138. {
  3139. ctrlLinePurchase2.Init(this.ob, this._saleOrg);
  3140. purchaseNoFlag1 = true;
  3141. }
  3142. if (uRow != null)
  3143. {
  3144. ctrlLinePurchase2.DlyFlag = 2;
  3145. SlmOrderLineNewEntity sol = GetOrderLineNewEntity(uRow);
  3146. ctrlLinePurchase2.SetControlValue(sol);
  3147. }
  3148. else
  3149. {
  3150. ctrlLinePurchase2.DlyFlag = 2;
  3151. ctrlLinePurchase2.ClearControlValue();
  3152. }
  3153. }
  3154. else if (orderType == "120102") //等于现货合同
  3155. {
  3156. ultraTabControl1.Tabs[2].Visible = true;
  3157. ultraTabControl1.Tabs[2].Selected = true;
  3158. ultraTabControl1.Tabs[1].Visible = false;
  3159. ultraTabControl1.Tabs[3].Visible = false;
  3160. ultraTabControl1.Tabs[4].Visible = false;
  3161. UltraGridRow uRow = ultraGrid2.ActiveRow;
  3162. if (uRow == null)
  3163. return;
  3164. txtStd.Text = uRow.Cells["STD_NAME"].Value.ToString();
  3165. txtPro.Text = uRow.Cells["PRODUCNAME"].Value.ToString();
  3166. txtStyle.Text = uRow.Cells["STD_STYLE_DESC"].Value.ToString();
  3167. txtSteel.Text = uRow.Cells["STEELNAME"].Value.ToString();
  3168. txtModel.Text = uRow.Cells["MODEL_DESC"].Value.ToString();
  3169. txtSpec.Text = uRow.Cells["SPEC_NAME"].Value.ToString();
  3170. txtQty.Text = uRow.Cells["ORDER_UNIT"].Value.ToString() == "吨" ? uRow.Cells["ORDER_QTY"].Value.ToString() : uRow.Cells["ORDER_COUNT"].Value.ToString();
  3171. ultraLabel2.Text=uRow.Cells["ORDER_UNIT"].Value.ToString();
  3172. txtFinaUser.Tag = uRow.Cells["FINAL_USER"].Value.ToString();
  3173. txtFinaUser.Text = uRow.Cells["FINAL_USER_DESC"].Value.ToString();
  3174. txtLenAsk.Text = uRow.Cells["LEN_DESC"].Value.ToString();
  3175. cmbDlyTpe.Text = uRow.Cells["DELVRY_RANGE_TPE"].Value.ToString();
  3176. numMin.Text = uRow.Cells["DELVRY_RANGE_MIN"].Value.ToString();
  3177. numMax.Text = uRow.Cells["DELVRY_RANGE_MAX"].Value.ToString();
  3178. txtDlyInfo.Text = uRow.Cells["DELVRY_DESC"].Value.ToString();
  3179. cmbOutboundCalculate.Value = uRow.Cells["OUTBOUND_CALCULATE"].Value.ToString() == "" ? "0" : uRow.Cells["OUTBOUND_CALCULATE"].Value.ToString();
  3180. /*if (uRow.Cells["PRODUCCODE"].Value.ToString() == "S000122")
  3181. {
  3182. txtQty.ReadOnly = false;
  3183. }
  3184. else
  3185. {
  3186. txtQty.ReadOnly = true;
  3187. }*/
  3188. UltraGridRow row = ultraGrid2.ActiveRow;
  3189. string dlyAddress = "";
  3190. DataTable addrDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineDlyAddress", new object[] { row.Cells["ORD_LN_PK"].Value.ToString() }, ob);
  3191. if (addrDt != null && addrDt.Rows.Count > 0)
  3192. {
  3193. dlyAddress = addrDt.Rows[0]["DELVRY_ADDR"].ToString();
  3194. }
  3195. dlyaddress = dlyAddress;
  3196. this.Cursor = Cursors.Default;
  3197. return;
  3198. } //现货合同 在此返回
  3199. string managNo = ultraGrid2.ActiveRow.Cells["ORD_PK"].Value.ToString();
  3200. string orderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  3201. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  3202. string orderSHRow = ultraGrid2.ActiveRow == null ? "" : ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Value.ToString();
  3203. if (lineNum == 1)
  3204. {
  3205. ctrlOrderLine1.loadFun(ob, managNo, orderNo, orderSeq, UserInfo.SaleOrg, orderSHRow);
  3206. }
  3207. else
  3208. {
  3209. ctrlOrderLine2.loadFun(ob, managNo, orderNo, orderSeq, UserInfo.SaleOrg, orderSHRow);
  3210. }
  3211. //传递当前行数据,获取@技术规范、交货要求、运输线路相关的DataSet
  3212. //DataSet ds = GetDataSetByRow(ultraGrid2.ActiveRow);
  3213. DataSet ds = new DataSet();
  3214. if (ultraGrid2.ActiveRow != null)
  3215. {
  3216. if (ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString() == "12020203")
  3217. {
  3218. string lnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  3219. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineReviewFRn", new object[] { lnPk }, this.ob);
  3220. if (dt != null && dt.Rows.Count > 0)
  3221. {
  3222. toolTips.SetToolTip(ultraGrid2, dt.Rows[0][0].ToString());
  3223. toolTips.ToolTipTitle = "合同号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + " 技术评审失败原因";
  3224. toolTips.ShowAlways = true;
  3225. }
  3226. }
  3227. else
  3228. {
  3229. toolTips.SetToolTip(ultraGrid2, "");
  3230. }
  3231. oldRow = ultraGrid2.ActiveRow;
  3232. DataTable orderLine = dataSet1.Tables["orderLineDt"];
  3233. ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
  3234. if (lineNum == 1)
  3235. {
  3236. ctrlOrderLine1.CtrlLineValue = ds;
  3237. ctrlOrderLine1.PscSelectRow = null;
  3238. ctrlOrderLine1.ReRow = null;
  3239. }
  3240. else
  3241. {
  3242. ctrlOrderLine2.CtrlLineValue = ds;
  3243. ctrlOrderLine2.PscSelectRow = null;
  3244. ctrlOrderLine1.ReRow = null;
  3245. }
  3246. int cnt = ultraGrid2.Rows.Count;
  3247. UltraGridRow row = ultraGrid2.ActiveRow;
  3248. if (cnt >= 2)
  3249. {
  3250. if (string.Compare(row.Cells["ORDER_SEQ"].Value.ToString(), "001") > 0)
  3251. {
  3252. foreach (UltraGridRow uRow in ultraGrid2.Rows)
  3253. {
  3254. if (uRow.Cells["ORDER_SEQ"].Value.ToString() == (Convert.ToString(Convert.ToInt16(row.Cells["ORDER_SEQ"].Value) - 1).PadLeft(3, '0')))
  3255. {
  3256. row = uRow;
  3257. break;
  3258. }
  3259. }
  3260. }
  3261. }
  3262. string dlyTime = row.Cells["DELVRY_EDATE"].Value.ToString();
  3263. string dlyAddress = "";
  3264. DataTable addrDt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineDlyAddress", new object[] { row.Cells["ORD_LN_PK"].Value.ToString() }, ob);
  3265. if (addrDt != null && addrDt.Rows.Count > 0)
  3266. {
  3267. dlyAddress = addrDt.Rows[0]["DELVRY_ADDR"].ToString();
  3268. }
  3269. if (lineNum == 1)
  3270. {
  3271. ctrlOrderLine1.DlyTime = dlyTime;
  3272. ctrlOrderLine1.DlyAddress = dlyAddress;
  3273. }
  3274. else
  3275. {
  3276. ctrlOrderLine2.DlyTime = dlyTime;
  3277. ctrlOrderLine2.DlyAddress = dlyAddress;
  3278. }
  3279. try
  3280. {
  3281. if (lineNum == 1)
  3282. {
  3283. orderpsc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].ToString();
  3284. spec = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].ToString();
  3285. model = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].ToString();
  3286. len = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].ToString();
  3287. user = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].ToString();
  3288. mps = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MPS_FL"].ToString();
  3289. addtional = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ADD_ASK_NO"].ToString();
  3290. special = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["CUST_ALPHA_NO"].ToString();
  3291. }
  3292. else
  3293. {
  3294. orderpsc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].ToString();
  3295. spec = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].ToString();
  3296. model = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].ToString();
  3297. len = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].ToString();
  3298. user = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].ToString();
  3299. mps = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["MPS_FL"].ToString();
  3300. addtional = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ADD_ASK_NO"].ToString();
  3301. special = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["CUST_ALPHA_NO"].ToString();
  3302. }
  3303. }
  3304. catch { }
  3305. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504") //合同行变更
  3306. {
  3307. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.isExistsChgeOrdLnPk", new object[] { orderNo }, this.ob);
  3308. if (dt != null && dt.Rows.Count > 0)
  3309. {
  3310. if (dt.Rows[0][0].ToString() != "")
  3311. {
  3312. if (dt.Rows[0][0].ToString() != orderNo)
  3313. {
  3314. if (lineNum == 1)
  3315. {
  3316. ctrlOrderLine1.NumWt1.Enabled = false;
  3317. ctrlOrderLine1.ComboUNIT.Enabled = false;
  3318. ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
  3319. ctrlOrderLine1.NumTag.Enabled = false;
  3320. }
  3321. else
  3322. {
  3323. ctrlOrderLine2.NumWt1.Enabled = false;
  3324. ctrlOrderLine2.ComboUNIT.Enabled = false;
  3325. ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
  3326. ctrlOrderLine2.NumTag.Enabled = false;
  3327. }
  3328. }
  3329. else
  3330. {
  3331. if (lineNum == 1)
  3332. {
  3333. ctrlOrderLine1.NumWt1.Enabled = true;
  3334. ctrlOrderLine1.ComboUNIT.Enabled = true;
  3335. ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
  3336. ctrlOrderLine1.NumTag.Enabled = true;
  3337. }
  3338. else
  3339. {
  3340. ctrlOrderLine2.NumWt1.Enabled = true;
  3341. ctrlOrderLine2.ComboUNIT.Enabled = true;
  3342. ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
  3343. ctrlOrderLine2.NumTag.Enabled = true;
  3344. }
  3345. }
  3346. }
  3347. else
  3348. {
  3349. if (lineNum == 1)
  3350. {
  3351. ctrlOrderLine1.NumWt1.Enabled = false;
  3352. ctrlOrderLine1.ComboUNIT.Enabled = false;
  3353. ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
  3354. ctrlOrderLine1.NumTag.Enabled = false;
  3355. }
  3356. else
  3357. {
  3358. ctrlOrderLine2.NumWt1.Enabled = false;
  3359. ctrlOrderLine2.ComboUNIT.Enabled = false;
  3360. ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = false;
  3361. ctrlOrderLine2.NumTag.Enabled = false;
  3362. }
  3363. }
  3364. }
  3365. else
  3366. {
  3367. if (lineNum == 1)
  3368. {
  3369. ctrlOrderLine1.NumWt1.Enabled = true;
  3370. ctrlOrderLine1.ComboUNIT.Enabled = true;
  3371. ctrlOrderLine1.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
  3372. ctrlOrderLine1.NumTag.Enabled = true;
  3373. }
  3374. else
  3375. {
  3376. ctrlOrderLine2.NumWt1.Enabled = true;
  3377. ctrlOrderLine2.ComboUNIT.Enabled = true;
  3378. ctrlOrderLine2.UltraTextGetDelVry.ButtonsRight[0].Enabled = true;
  3379. ctrlOrderLine2.NumTag.Enabled = true;
  3380. }
  3381. }
  3382. }
  3383. }
  3384. this.Cursor = Cursors.Default;
  3385. }
  3386. /// <summary>
  3387. /// 获取DataSet
  3388. /// </summary>
  3389. /// <param name="ultraGridRow"></param>
  3390. /// <returns></returns>
  3391. //private DataSet GetDataSetByRow(UltraGridRow ultraGridRow)
  3392. //{
  3393. // throw new NotImplementedException();
  3394. //}
  3395. /// <summary>
  3396. /// 查询区合同号
  3397. /// </summary>
  3398. /// <param name="sender"></param>
  3399. /// <param name="e"></param>
  3400. private void uchkOrderNo_CheckedChanged(object sender, EventArgs e)
  3401. {
  3402. if (uchkOrderNo.Checked)
  3403. {
  3404. utxtOrderNo.ReadOnly = false;
  3405. }
  3406. else
  3407. {
  3408. utxtOrderNo.Text = "";
  3409. utxtOrderNo.ReadOnly = true;
  3410. }
  3411. }
  3412. /// <summary>
  3413. /// 查询区签订日期
  3414. /// </summary>
  3415. /// <param name="sender"></param>
  3416. /// <param name="e"></param>
  3417. private void uchkDate_CheckedChanged(object sender, EventArgs e)
  3418. {
  3419. if (uchkDate.Checked)
  3420. {
  3421. udtStart.ReadOnly = false;
  3422. udtEnd.ReadOnly = false;
  3423. }
  3424. else
  3425. {
  3426. udtStart.ReadOnly = true;
  3427. udtEnd.ReadOnly = true;
  3428. }
  3429. }
  3430. private bool ctrlOrderLine1_CommitOrderLineRow(DataSet orderLine, string CommandType)
  3431. {
  3432. try
  3433. {
  3434. if (orderLine == null)
  3435. {
  3436. if (this.ultraGrid2.Rows.Count == 0)
  3437. {
  3438. MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3439. return false;
  3440. }
  3441. return true;
  3442. }
  3443. else
  3444. {
  3445. if (this.ultraGrid2.Rows.Count == 0)
  3446. {
  3447. MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3448. return false;
  3449. }
  3450. if (ultraGrid2.ActiveRow == null)
  3451. {
  3452. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3453. ultraTabControl1.Tabs[0].Selected = true;
  3454. return false;
  3455. }
  3456. //用传入的合同行(控件)与合同行Grid的选择行的值进行比较,是否有差异,如果有则返回false,给出提示。
  3457. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].Equals(ultraGrid2.ActiveRow.Cells["PSC"].Text))
  3458. {
  3459. MessageBox.Show("数据检测合同行订货产品已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["PSC_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3460. return false;
  3461. }
  3462. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].Equals(ultraGrid2.ActiveRow.Cells["SPEC_CODE"].Text))
  3463. {
  3464. MessageBox.Show("数据检测合同行产品规格已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["SPEC_NAME"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_NAME"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3465. return false;
  3466. }
  3467. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].Equals(ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Text))
  3468. {
  3469. MessageBox.Show("数据检测合同行扣型已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["MODEL_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3470. return false;
  3471. }
  3472. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].Equals(ultraGrid2.ActiveRow.Cells["LEN_NO"].Text))
  3473. {
  3474. MessageBox.Show("数据检测合同行长度已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["LEN_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3475. return false;
  3476. }
  3477. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text))
  3478. {
  3479. MessageBox.Show("数据检测合同行订货量已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3480. return false;
  3481. }
  3482. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"].Equals(ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text))
  3483. {
  3484. MessageBox.Show("数据检测合同行订货单位已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text + " 改 " + orderLine.Tables["ORDER_UNIT"].Rows[0]["PSC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3485. return false;
  3486. }
  3487. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text))
  3488. {
  3489. MessageBox.Show("数据检测合同行交货量差上限已变更,请先修改。提示" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3490. return false;
  3491. }
  3492. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text))
  3493. {
  3494. MessageBox.Show("数据检测合同行交货量差下限已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3495. return false;
  3496. }
  3497. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].Equals(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text))
  3498. {
  3499. MessageBox.Show("数据检测合同行交货量差方式已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3500. return false;
  3501. }
  3502. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"] != System.DBNull.Value && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString() != "" && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString2() != "" && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text))
  3503. {
  3504. MessageBox.Show("数据检测合同行单价已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3505. return false;
  3506. }
  3507. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].Equals(ultraGrid2.ActiveRow.Cells["FINAL_USER"].Text))
  3508. {
  3509. MessageBox.Show("数据检测最终用户已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3510. return false;
  3511. }
  3512. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Text))
  3513. {
  3514. MessageBox.Show("数据检测外购坯已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_BILLET_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3515. return false;
  3516. }
  3517. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Text))
  3518. {
  3519. MessageBox.Show("数据检测外购管已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3520. return false;
  3521. }
  3522. }
  3523. }
  3524. catch (System.Exception ex)
  3525. {
  3526. //throw ex;
  3527. }
  3528. return true;
  3529. }
  3530. /// <summary>
  3531. /// //交货信息回传到主界面后,必须立即更新交货信息描述、运输线路信息描述。
  3532. /// </summary>
  3533. /// <param name="orderLine"></param>
  3534. private void ctrlOrderLine1_UpdateOrderDeliveryDesc(DataSet orderLine)
  3535. {
  3536. if (ultraGrid2.ActiveRow == null)
  3537. {
  3538. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3539. ultraTabControl1.Tabs[0].Selected = true;
  3540. return;
  3541. }
  3542. //合同行修改
  3543. string lnStatus = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Text;
  3544. string ordpk = "";
  3545. //查询合同行状态
  3546. DataTable rowStas = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text }, this.ob);
  3547. if (rowStas.Rows.Count > 0)
  3548. {
  3549. if (!rowStas.Rows[0][0].ToString().Equals(lnStatus))
  3550. {
  3551. lnStatus = rowStas.Rows[0][0].ToString();
  3552. }
  3553. ordpk = rowStas.Rows[0][1].ToString();
  3554. }
  3555. else
  3556. {
  3557. MessageBox.Show("合同行不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  3558. return;
  3559. }
  3560. DataSet ds = ctrlOrderLine1.CtrlLineValue;
  3561. if (ds == null)
  3562. {
  3563. return;
  3564. }
  3565. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  3566. DataTable slmOrderDelivery = ds.Tables["Main"];
  3567. ArrayList parms = new ArrayList();
  3568. ////技术特殊要求编码
  3569. //parms.Add(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString());
  3570. ////附加要求编码
  3571. //parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
  3572. ////附加要求描述
  3573. //parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
  3574. ////技术特殊要求描述
  3575. //parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
  3576. if (slmOrderDelivery != null && slmOrderDelivery.Rows.Count > 0)
  3577. {
  3578. //交货结束日期DELVRY_EDATE
  3579. parms.Add(slmOrderDelivery.Rows[0]["DELVRY_EDATE"].ToString());
  3580. }
  3581. else
  3582. {
  3583. parms.Add("");
  3584. }
  3585. //交货信息描述,DELVRY_DESC
  3586. parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
  3587. //运输信息描述TRANS_DESC
  3588. parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
  3589. //创建人CREATE_NAME
  3590. parms.Add(UserInfo.GetUserName());
  3591. //创建时间,CREATE_TIME
  3592. //内部合同号
  3593. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  3594. //内部合同行
  3595. parms.Add(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
  3596. ////合同号ORDER_NO
  3597. string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  3598. //parms.Add(orderNo);
  3599. ////合同行号ORDER_SEQ
  3600. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  3601. //parms.Add(orderSeq);
  3602. string orderlnsta = lnStatus;
  3603. CoreClientParam ccp = new CoreClientParam();
  3604. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  3605. ccp.MethodName = "UpdateOrderDeliveryDesc";
  3606. ccp.ServerParams = new object[] { parms };
  3607. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  3608. if (ccp.ReturnCode == -1) { return; }
  3609. else
  3610. {
  3611. if (orderlnsta.Equals("12020204"))
  3612. {
  3613. ArrayList parmsHead = new ArrayList();
  3614. parmsHead.Add("12020202");
  3615. parmsHead.Add("技术评审通过");
  3616. parmsHead.Add(orderlnsta);
  3617. parmsHead.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
  3618. parmsHead.Add(managNo);
  3619. parms = new ArrayList();
  3620. parms.Add("12020202");
  3621. parms.Add(orderlnsta);
  3622. parms.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
  3623. parms.Add(managNo);
  3624. ccp = new CoreClientParam();
  3625. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  3626. ccp.MethodName = "upOrderHeadLineDelivery";
  3627. ccp.ServerParams = new object[] { parms, parmsHead };
  3628. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  3629. if (ccp.ReturnCode == -1)
  3630. {
  3631. return;
  3632. }
  3633. }
  3634. }
  3635. string valid = "";
  3636. if (chkValid.Checked)
  3637. {
  3638. valid = "0";
  3639. }
  3640. else
  3641. {
  3642. valid = "1";
  3643. }
  3644. //展示合同行数据
  3645. GetOrderLineDt(managNo, valid);
  3646. //聚焦当前修改行
  3647. foreach (UltraGridRow row in ultraGrid2.Rows)
  3648. {
  3649. if (row != null)
  3650. {
  3651. if (orderSeq.Equals(row.Cells["ORDER_SEQ"].Value.ToString()))
  3652. {
  3653. row.Activate();
  3654. break;
  3655. }
  3656. }
  3657. }
  3658. }
  3659. private void ultraGrid1_ClickCell(object sender, ClickCellEventArgs e)
  3660. {
  3661. UltraGridRow row = ultraGrid1.ActiveRow;
  3662. string managNo = row.Cells["ORD_PK"].Value.ToString();
  3663. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  3664. {
  3665. GetOrderLineDt(managNo, "0");
  3666. return;
  3667. }
  3668. string orderNo = row.Cells["ORDER_NO"].Value.ToString();
  3669. string orderModelNo = ultraGrid1.ActiveRow.Cells["ORDER_MODEL_NO"].Value.ToString();
  3670. string orderpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  3671. //主合同头信息
  3672. DataView orderHeadDv = new DataView(orderHeadDt);
  3673. orderHeadDv.RowFilter = " ORDER_NO='" + orderNo + "'";
  3674. DataTable orderHeadr = orderHeadDv.ToTable();
  3675. orderHeadr.TableName = "SLM_ORDER_HEAD";
  3676. if (Convert.ToBoolean(orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"]))
  3677. {
  3678. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "1";
  3679. }
  3680. else
  3681. {
  3682. orderHeadr.Rows[0]["CUSTOMER_MODEL_FL"] = "0";
  3683. }
  3684. //商务条款条目
  3685. DataTable orderModelItemDt = BindOrderModelItem(orderModelNo);
  3686. orderModelItemDt.TableName = "frmordermodel";
  3687. //列自适应
  3688. //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid3, new UltraGridColumn[] {
  3689. //});
  3690. //获取付款要求
  3691. DataTable blanceMnyDt = GetBlanceMny(orderpk);
  3692. blanceMnyDt.TableName = "SLM_ORDER_BALNCE_MNY";
  3693. orderManagerHeadr.Tables.Clear();
  3694. orderManagerHeadr.Tables.Add(orderHeadr);
  3695. orderManagerHeadr.Tables.Add(orderModelItemDt);
  3696. orderManagerHeadr.Tables.Add(blanceMnyDt);
  3697. ctrlOrderHead1.ctrlValue = orderManagerHeadr;
  3698. string valid = "";
  3699. if (chkValid.Checked)
  3700. {
  3701. valid = "0";
  3702. }
  3703. else
  3704. {
  3705. valid = "1";
  3706. }
  3707. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  3708. return;
  3709. //展示合同行数据
  3710. GetOrderLineDt(managNo, valid);
  3711. ctrlOrderLineChildGer.loadOrderLineChild(this.ob, null, null);
  3712. if (this.CustomInfo != "2" && this.CustomInfo != "2-120504")
  3713. ultraTabControl1.Tabs[0].Selected = true;
  3714. ultraGrid2.ActiveRow = null;
  3715. ctrlOrderLine1.loadPsc();
  3716. }
  3717. /// <summary>
  3718. /// UPDATE SLM_ORDER_LINE
  3719. /// SET ORDER_LN_STATUS = ?,
  3720. /// BE_ORDER_LN_STATUS = ?,
  3721. /// BE_OBJ_STS_OP = ?,
  3722. /// OBJ_STS_OP = BE_OBJ_STS_OP
  3723. /// WHERE ORD_PK = ?
  3724. /// </summary>
  3725. /// <param name="type"></param>
  3726. private void ctrlOrderLine1_SetOrderLineYesNoType(string type)
  3727. {
  3728. if (this.ultraGrid2.ActiveRow != null)
  3729. {
  3730. string ordLinePk = this.ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text;
  3731. string orderlnsta = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
  3732. string managNo = ultraGrid2.ActiveRow.Cells["ORD_PK"].Value.ToString();
  3733. if (type.Equals("FYTrue"))
  3734. {
  3735. DataSet ds = new DataSet();
  3736. if (ultraGrid2.ActiveRow != null)
  3737. {
  3738. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["DELVRY_DESC"] = "";
  3739. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["DELVRY_EDATE"] = "";
  3740. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["TRANS_DESC"] = "";
  3741. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["TRANS_PRICE"] = "";
  3742. DataTable orderLine = dataSet1.Tables["orderLineDt"];
  3743. ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
  3744. ctrlOrderLine1.CtrlLineValue = ds;
  3745. }
  3746. }
  3747. if (type.Equals("JSTrue"))
  3748. {
  3749. DataSet ds = new DataSet();
  3750. if (ultraGrid2.ActiveRow != null)
  3751. {
  3752. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["CUST_ALPHA_NO"] = "";
  3753. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ORDER_SPECIAL_DESC"] = "";
  3754. DataTable orderLine = dataSet1.Tables["orderLineDt"];
  3755. ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
  3756. ctrlOrderLine1.CtrlLineValue = ds;
  3757. }
  3758. }
  3759. if (type.Equals("FJTrue"))
  3760. {
  3761. DataSet ds = new DataSet();
  3762. if (ultraGrid2.ActiveRow != null)
  3763. {
  3764. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ADD_ASK_NO"] = "";
  3765. dataSet1.Tables["orderLineDt"].Rows[ultraGrid2.ActiveRow.Index]["ORDER_ADD_DESC"] = "";
  3766. DataTable orderLine = dataSet1.Tables["orderLineDt"];
  3767. ds = ctrlOrderLineChildGer.loadOrderLineChild(this.ob, ultraGrid2.ActiveRow, orderLine);
  3768. ctrlOrderLine1.CtrlLineValue = ds;
  3769. }
  3770. }
  3771. }
  3772. }
  3773. private void ultraGrid1_MouseClick(object sender, MouseEventArgs e)
  3774. {
  3775. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  3776. return;
  3777. ultraTabControl1.Tabs[0].Selected = true;
  3778. }
  3779. private void ultraGrid2_MouseClick(object sender, MouseEventArgs e)
  3780. {
  3781. if (ultraGrid1.ActiveRow == null)
  3782. return;
  3783. string orderType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString2();
  3784. if (orderType == "120101" || orderType == "120103" || orderType == "120104" || orderType == "120108" || orderType == "120109") //自产期货 + 预排合同
  3785. {
  3786. string tabName = "";
  3787. ultraTabControl1.Tabs[1].Selected = true;
  3788. if (orderType == "120101")
  3789. {
  3790. tabName = "自产期货";
  3791. }
  3792. else if (orderType == "120103")
  3793. {
  3794. tabName = "研发合同";
  3795. }
  3796. else if (orderType == "120104")
  3797. {
  3798. tabName = "预排合同";
  3799. }
  3800. else if (orderType == "120108")
  3801. {
  3802. tabName = "双经销";
  3803. }
  3804. else if (orderType == "120109")
  3805. {
  3806. tabName = "定销订购";
  3807. }
  3808. ultraTabControl1.Tabs[1].Text = tabName;
  3809. ultraTabControl1.Tabs[2].Visible = false;
  3810. ultraTabControl1.Tabs[3].Visible = false;
  3811. ultraTabControl1.Tabs[4].Visible = false;
  3812. }
  3813. else if (orderType == "120105") //采购期货不加工
  3814. {
  3815. ultraTabControl1.Tabs[3].Selected = true;
  3816. ultraTabControl1.Tabs[2].Visible = false;
  3817. ultraTabControl1.Tabs[3].Visible = true;
  3818. ultraTabControl1.Tabs[4].Visible = false;
  3819. }
  3820. else if (orderType == "120106") //采购期货加工
  3821. {
  3822. ultraTabControl1.Tabs[4].Selected = true;
  3823. ultraTabControl1.Tabs[2].Visible = false;
  3824. ultraTabControl1.Tabs[3].Visible = false;
  3825. ultraTabControl1.Tabs[4].Visible = true;
  3826. }
  3827. else if (orderType == "120102") //现货合同
  3828. {
  3829. ultraTabControl1.Tabs[2].Selected = true;
  3830. ultraTabControl1.Tabs[1].Visible = false;
  3831. ultraTabControl1.Tabs[3].Visible = false;
  3832. ultraTabControl1.Tabs[4].Visible = false;
  3833. }
  3834. }
  3835. private void utxtOrderNo_KeyPress(object sender, KeyPressEventArgs e)
  3836. {
  3837. if (e.KeyChar == 13)
  3838. {
  3839. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  3840. {
  3841. this.ChgeQuery();
  3842. }
  3843. else if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  3844. {
  3845. this.ChgeHeadQuery();
  3846. }
  3847. else
  3848. {
  3849. doQuery();
  3850. }
  3851. }
  3852. }
  3853. private void frmOrderManager_Shown(object sender, EventArgs e)
  3854. {
  3855. ultraTabControl1.Tabs[2].Visible = false;
  3856. ultraTabControl1.Tabs[3].Visible = false;
  3857. ultraTabControl1.Tabs[4].Visible = false;
  3858. if (this.CustomInfo == "2" || this.CustomInfo == "2-120504")
  3859. {
  3860. ultraTabControl1.Tabs[0].Visible = false;
  3861. ultraTabControl2.Tabs[1].Visible = false;
  3862. ultraTabControl1.Tabs[2].Visible = false;
  3863. }
  3864. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  3865. {
  3866. ultraTabControl1.Tabs[1].Visible = false;
  3867. ultraTabControl2.Tabs[0].Visible = false;
  3868. ultraTabControl1.Tabs[2].Visible = false;
  3869. }
  3870. }
  3871. //------------------------------------------合同行变更代码区域---------------------------------------------------------
  3872. string locaPk = ""; //主键定位
  3873. /// <summary>
  3874. /// 合同行变更 合同头查询
  3875. /// </summary>
  3876. private void ChgeQuery()
  3877. {
  3878. UltraGridRow ugr = ultraGrid1.ActiveRow;
  3879. if (ugr != null)
  3880. locaPk = ugr.Cells["ORD_PK"].Value.ToString();
  3881. string orderNo = utxtOrderNo.Text.Trim();
  3882. string orderStart = "1000-01-01 00:00:01";
  3883. string orderEnd = "9999-12-31 23:59:59";
  3884. string valid = "";
  3885. if (chkValid.Checked)
  3886. {
  3887. valid = "0";
  3888. }
  3889. else
  3890. {
  3891. valid = "1";
  3892. }
  3893. if (uchkDate.Checked)
  3894. {
  3895. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  3896. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  3897. }
  3898. ArrayList list = new ArrayList();
  3899. list.Add(orderNo);
  3900. list.Add(orderStart);
  3901. list.Add(orderEnd);
  3902. list.Add(valid);
  3903. list.Add(UserInfo.SaleOrg);
  3904. list.Add(UserInfo.GetDeptid());
  3905. string supp = this.CustomInfo.Equals("2-120504") ? "120504" : "";
  3906. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.chgeOrderHeadQuery", new Object[] { list, freezeFlag, supp }, this.ob);
  3907. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  3908. foreach (UltraGridRow row in ultraGrid1.Rows)
  3909. {
  3910. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  3911. {
  3912. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  3913. }
  3914. else
  3915. {
  3916. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  3917. }
  3918. if (locaPk != "")
  3919. {
  3920. if (row.Cells["ORD_PK"].Value.ToString() == locaPk)
  3921. row.Activate();
  3922. }
  3923. }
  3924. if (dt.Rows.Count <= 0)
  3925. {
  3926. this.orderLineDt.Rows.Clear();
  3927. }
  3928. }
  3929. /// <summary>
  3930. /// 合同行是否允许操作
  3931. /// </summary>
  3932. /// <param name="ordLnPk"></param>
  3933. /// <returns>errMsg为空代表可以操作 否则不允许</returns>
  3934. private string CanOperateOrderLine(string ordLnPk)
  3935. {
  3936. string errMsg = "";
  3937. List<SlmOrderLineEntityCh> list = EntityHelper.GetData<SlmOrderLineEntityCh>("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOperateOrderLine", new object[] { ordLnPk }, this.ob);
  3938. if (list != null && list.Count > 0)
  3939. {
  3940. SlmOrderLineEntityCh sle = list[0];
  3941. if (sle.OrderLnStatus.ToString() != "12020301" && sle.OrderLnStatus.ToString() != "12020101")
  3942. {
  3943. errMsg = "您选择的合同行不是生效或录入状态,不能变更!";
  3944. return errMsg;
  3945. }
  3946. else
  3947. {
  3948. if (sle.IsLock.ToString() == "1")
  3949. {
  3950. FormOrderChangeManage foc = new FormOrderChangeManage(this.ob);
  3951. string err = foc.IsExistsApplyNoWithLineLock(sle.OrdLnPk.ToString(), "交货行");
  3952. if (err == "1")
  3953. {
  3954. errMsg = "您选择的合同行正处于交货期变更中,不能合同行变更!";
  3955. return errMsg;
  3956. }
  3957. else if (err == "2")
  3958. {
  3959. errMsg = "您选择的合同行已处于变更中,请先处理!";
  3960. return errMsg;
  3961. }
  3962. else
  3963. {
  3964. return errMsg;
  3965. }
  3966. }
  3967. else //生效 未锁定 可变更
  3968. {
  3969. return errMsg;
  3970. }
  3971. }
  3972. }
  3973. else
  3974. {
  3975. errMsg = "无效合同行不能操作!";
  3976. return errMsg;
  3977. }
  3978. }
  3979. /// <summary>
  3980. /// 是否可以操作
  3981. /// </summary>
  3982. /// <param name="ordLnPk"></param>
  3983. /// <returns></returns>
  3984. private bool ChgeOperateLine(string ordLnPk)
  3985. {
  3986. List<SlmOrderLineEntityCh> list = EntityHelper.GetData<SlmOrderLineEntityCh>("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOperateOrderLine", new object[] { ordLnPk }, this.ob);
  3987. if (list != null && list.Count > 0)
  3988. {
  3989. return true;
  3990. }
  3991. else
  3992. {
  3993. //无效的合同行
  3994. return false;
  3995. }
  3996. }
  3997. /// <summary>
  3998. /// 合同行变更--删除合同行
  3999. /// </summary>
  4000. private void ChgeDelete()
  4001. {
  4002. ultraGrid2.UpdateData();
  4003. UltraGridRow ugr = ultraGrid2.ActiveRow;
  4004. if (ugr == null)
  4005. {
  4006. MessageUtil.ShowWarning("请选择您要删除的合同行!");
  4007. return;
  4008. }
  4009. string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
  4010. DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ordLnPk }, this.ob);
  4011. if (dtCraft != null && dtCraft.Rows.Count > 0)
  4012. {
  4013. MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
  4014. return;
  4015. }
  4016. string errMsg = CanOperateOrderLine(ordLnPk);
  4017. if (errMsg != "")
  4018. {
  4019. MessageUtil.ShowWarning(errMsg);
  4020. return;
  4021. }
  4022. if (MessageUtil.ShowYesNoAndQuestion("是否作废选择的合同行?") == DialogResult.No) return;
  4023. dlgReviewMemo dlg = new dlgReviewMemo();
  4024. dlg.ReviewFlag = 3;
  4025. dlg.ReviewSatus = "合同行变更说明";
  4026. dlg.ShowDialog();
  4027. if (dlg.DialogResult != DialogResult.OK)
  4028. return;
  4029. string reviewMemo = dlg.ReviewMemo;
  4030. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  4031. csm.OrdPk = ugr.Cells["ORD_PK"].Value.ToString();
  4032. csm.OrdLnPk = ordLnPk;
  4033. csm.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString();
  4034. csm.OrderSeq = ugr.Cells["ORDER_SEQ"].Value.ToString();
  4035. csm.ChgeRsn = reviewMemo;
  4036. csm.ChgeType = "合同行变更,删除";
  4037. csm.UnitCode = UserInfo.GetDeptid();
  4038. csm.UnitDesc = UserInfo.GetDepartment();
  4039. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  4040. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  4041. csm.Chger = UserInfo.GetUserName();
  4042. csm.ChgeVal = "删除合同行 " + ugr.Cells["ORDER_SEQ"].Value.ToString();
  4043. csm.CreateName = UserInfo.GetUserName();
  4044. string json = JSONFormat.Format(csm);
  4045. CoreClientParam ccp = new CoreClientParam();
  4046. ccp.IfShowErrMsg = false;
  4047. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  4048. ccp.MethodName = "chgeDeleteOrderLine";
  4049. ccp.ServerParams = new object[] { json };
  4050. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  4051. if (ccp != null)
  4052. {
  4053. if (ccp.ReturnCode == -1)
  4054. {
  4055. MessageUtil.ShowWarning(ccp.ReturnInfo);
  4056. return;
  4057. }
  4058. MessageUtil.ShowTips("删除操作成功,变更单已生成,请处理!");
  4059. ChgeQuery();
  4060. }
  4061. }
  4062. private void ChgeAdd()
  4063. {
  4064. doAddLine();
  4065. }
  4066. private void ChgeConfirm()
  4067. {
  4068. UltraGridRow ugr = ultraGrid1.ActiveRow;
  4069. if (ugr == null)
  4070. {
  4071. MessageUtil.ShowWarning("请选择您要确认的合同!");
  4072. return;
  4073. }
  4074. if (ultraGrid2.Rows.Count <= 0)
  4075. {
  4076. MessageUtil.ShowTips("合同行不存在,!");
  4077. return;
  4078. }
  4079. foreach (UltraGridRow urow in ultraGrid2.Rows)
  4080. {
  4081. if (urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("") || urow.Cells["DELVRY_DESC"].Value.ToString().Trim().Equals("N/A"))
  4082. {
  4083. MessageUtil.ShowTips(urow.Cells["ORDER_SEQ"].Value.ToString() + ",合同行交货发运要求信息未维护,所有行必须维护交货发运要求,否则无法待提报评审!");
  4084. urow.Activate();
  4085. return;
  4086. }
  4087. }
  4088. if (MessageUtil.ShowYesNoAndQuestion("是否确认变更?") == DialogResult.No) return;
  4089. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  4090. CoreClientParam ccp = new CoreClientParam();
  4091. ccp.IfShowErrMsg = false;
  4092. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  4093. ccp.MethodName = "chgeConfirmOrder";
  4094. ccp.ServerParams = new object[] { ordPk };
  4095. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  4096. if (ccp != null)
  4097. {
  4098. if (ccp.ReturnCode == -1)
  4099. {
  4100. MessageUtil.ShowWarning(ccp.ReturnInfo);
  4101. return;
  4102. }
  4103. MessageUtil.ShowTips("合同变更确认成功!");
  4104. doQuery();
  4105. foreach (UltraGridRow urow in ultraGrid1.Rows)
  4106. {
  4107. if (ordPk.Equals(urow.Cells["ORD_PK"].Value.ToString()))
  4108. {
  4109. urow.Activate();
  4110. break;
  4111. }
  4112. }
  4113. }
  4114. }
  4115. /// <summary>
  4116. /// 合同行变更--修改
  4117. /// </summary>
  4118. private void ChgeUpdate()
  4119. {
  4120. //生效状态和录入状态可以修改 如果没有变更后字段 则不允许修改合同量和交货期(在GRID激活事件里做出了控制)
  4121. if (ultraGrid1.ActiveRow == null)
  4122. {
  4123. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  4124. return;
  4125. }
  4126. if (ultraGrid2.ActiveRow == null)
  4127. {
  4128. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  4129. return;
  4130. }
  4131. //string lnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  4132. //string errMsg = CanOperateOrderLine(lnPk);
  4133. //if (errMsg != "")
  4134. //{
  4135. // MessageUtil.ShowWarning(errMsg);
  4136. // return;
  4137. //}
  4138. if (!ChgeOperateLine(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString()))
  4139. {
  4140. MessageUtil.ShowWarning("无效合同行不能操作!");
  4141. return;
  4142. }
  4143. bool booltrfa = ctrlOrderLine1.deliveryWTQty();
  4144. if (!booltrfa)
  4145. {
  4146. return;
  4147. }
  4148. DataSet ds = ctrlOrderLine1.CtrlLineValue;
  4149. if (ds == null)
  4150. {
  4151. return;
  4152. }
  4153. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  4154. if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
  4155. {
  4156. MessageUtil.ShowWarning("合同订货量须大于0");
  4157. return;
  4158. }
  4159. //判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
  4160. string psc = slmOrderLine.Rows[0]["PSC"].ToString();
  4161. string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  4162. string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
  4163. string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
  4164. string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
  4165. string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
  4166. string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
  4167. string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
  4168. string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
  4169. string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  4170. string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  4171. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  4172. string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
  4173. string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  4174. string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  4175. string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  4176. string outP = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
  4177. string outG = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
  4178. string lineOutP = ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Value.ToString();
  4179. string lineOutG = ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Value.ToString();
  4180. string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ordLnPk);
  4181. if (errMsg != "")
  4182. {
  4183. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
  4184. return;
  4185. }
  4186. string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
  4187. if (msg != "")
  4188. {
  4189. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
  4190. return;
  4191. }
  4192. if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
  4193. {
  4194. MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  4195. return;
  4196. }
  4197. bool isAlter = false; //技术项是否修改,包括附加要求和产品特殊要求。
  4198. if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
  4199. && user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString()
  4200. && orderspecial == special && outP == lineOutP && outG == lineOutG)
  4201. {
  4202. //都没有修改
  4203. isAlter = false;
  4204. }
  4205. else
  4206. {
  4207. isAlter = true;
  4208. }
  4209. //---------------------------------------------2016-02-24-------------------------------------------------------
  4210. //判断材料表数据 提单 计划
  4211. DataTable matDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderMat", new object[] { ordLnPk }, this.ob);
  4212. List<string> listMat = new List<string>();
  4213. if (matDt != null && matDt.Rows.Count > 0)
  4214. {
  4215. foreach (DataRow dr in matDt.Rows)
  4216. {
  4217. listMat.Add(dr["MAT_STATUS"].ToString());
  4218. }
  4219. if (listMat != null && listMat.Count > 0)
  4220. {
  4221. if (listMat.Contains("80150303"))
  4222. {
  4223. MessageUtil.ShowWarning("存在已经销售出厂的材料,不允许变更!");
  4224. return;
  4225. }
  4226. else if (listMat.Contains("80150302"))
  4227. {
  4228. MessageUtil.ShowWarning("存在已编提单的材料,请撤销相应的提单!");
  4229. return;
  4230. }
  4231. else if (listMat.Contains("80150301"))
  4232. {
  4233. MessageUtil.ShowWarning("此合同有利库信息,请先将您要变更的的合同进行脱单操作!");
  4234. return;
  4235. }
  4236. }
  4237. }
  4238. //计划
  4239. DataTable planDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderPlan", new object[] { ordLnPk }, this.ob);
  4240. if (planDt != null && planDt.Rows.Count > 0)
  4241. {
  4242. MessageUtil.ShowWarning("请先将您要变更的“生效状态”的交货行对应的发运计划关闭!\n切记是 “生效状态”的交货行,切勿对错了交货行!");
  4243. return;
  4244. }
  4245. //---------------------------------------------2016-02-24-------------------------------------------------------
  4246. SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
  4247. soe.OrdPk = ordpk;
  4248. //客户Alpha编号CUST_ALPHA_NO
  4249. string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  4250. soe.CustAlphaNo = custAlphaNo;
  4251. //产品规范码PSC
  4252. soe.Psc = psc;
  4253. //产品规范描述PSC_DESC
  4254. soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
  4255. //品种分类(油井管;专业管;普管)PRD_CLS
  4256. soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
  4257. //品名代码PRODUCCODE
  4258. soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
  4259. //品名描述PRODUCNAME
  4260. soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
  4261. //标准代码STD_CODE
  4262. soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
  4263. //标准名称STD_NAME
  4264. soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
  4265. //钢级(牌号)代码STEELCODE
  4266. soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
  4267. //钢级(牌号)名称STEELNAME
  4268. soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
  4269. //订货规格代码ORDER_SPEC_CODE
  4270. soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
  4271. //订货规格描述(用于合同、质保书、标牌、标识)ORDER_SPEC_DESC
  4272. soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
  4273. //产品规格代码SPEC_CODE
  4274. soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  4275. //产品规格描述SPEC_NAME
  4276. soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
  4277. //外径(mm)DIMATER
  4278. soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
  4279. //壁厚(mm)HEIGHT
  4280. soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
  4281. //扣型代码MODEL_CODE
  4282. soe.ModelCode = modelCode;
  4283. //扣型描述MODEL_DESC
  4284. soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
  4285. //长度编码LEN_NO
  4286. soe.LenNo = lenNo;
  4287. //长度描述LEN_DESC
  4288. soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
  4289. //长度单位,LEN_UNIT
  4290. soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
  4291. //下限LEN_MIN
  4292. soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
  4293. //上限LEN_MAX
  4294. soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
  4295. //短尺率(%)SHRT_LEN_RATO
  4296. soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
  4297. //短尺最短SHORTEST
  4298. soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
  4299. //长尺率(%)LONG_LEN_RATO
  4300. soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
  4301. //长尺最长LONGEST
  4302. soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
  4303. //短尺随炉SHRT_STOVE
  4304. soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
  4305. //平均长度大于AVG_LEN_MIN
  4306. soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
  4307. //最长最短差小于DIFRNC_LEN_MAX
  4308. soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
  4309. //单倍尺长SIGL_LEN
  4310. soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
  4311. //订货计量单位(支、米、吨)ORDER_UNIT
  4312. soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
  4313. //订货量ORDER_QTY
  4314. soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
  4315. //订货保总长ORD_ENSU_TOTL_LEN
  4316. soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
  4317. //生产吨数(根据订货量计算)PRDCT_WGT
  4318. soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
  4319. //交货量差方式(绝对值;百分比)DELVRY_RANGE_TPE
  4320. soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
  4321. //交货量差下限DELVRY_RANGE_MIN
  4322. soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
  4323. //交货量差上限DELVRY_RANGE_MAX
  4324. soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
  4325. //最终用户(来源客户表)FINAL_USER
  4326. soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  4327. //最终用户描述FINAL_USER_DESC
  4328. soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
  4329. //外购坯,OUTS_BILLET_FL
  4330. soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
  4331. //外购管(1:允许;0:不允许)OUTS_STL_PIPE_FL
  4332. soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
  4333. //ASSEL(1:允许;0:不允许)ASSEL_FL
  4334. soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
  4335. //交货开始日期DELVRY_BDATE
  4336. soe.DelvryBdate = slmOrderLine.Rows[0]["DELVRY_BDATE"].ToString();
  4337. //交货结束日期DELVRY_EDATE
  4338. soe.DelvryEdate = slmOrderLine.Rows[0]["DELVRY_EDATE"].ToString();
  4339. //交货信息描述,DELVRY_DESC
  4340. soe.DelvryDesc = slmOrderLine.Rows[0]["DELVRY_DESC"].ToString();
  4341. //运输信息描述TRANS_DESC
  4342. soe.TransDesc = slmOrderLine.Rows[0]["TRANS_DESC"].ToString();
  4343. //附加要求编码ADD_ASK_NO
  4344. soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  4345. //产品特殊要求描述ORDER_SPECIAL_DESC
  4346. soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  4347. //订货附加要求描述ORDER_ADD_DESC
  4348. soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
  4349. //订货价,ORDER_PRICE
  4350. soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
  4351. //运费TRANS_PRICE
  4352. soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
  4353. //测价序号TEST_ID
  4354. soe.TestId = "1";
  4355. //测算价TEST_PRICE
  4356. soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
  4357. //出厂价OUT_PRICE
  4358. soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
  4359. //结算价BALNCE_PRICE
  4360. soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
  4361. //合同行状态ORDER_LN_STATUS
  4362. soe.OrderLnStatus = "12020101"; //录入状态
  4363. //备注MEMO
  4364. soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
  4365. //创建人CREATE_NAME
  4366. soe.UpdateName = UserInfo.GetUserName();
  4367. //MSC,MSC_DESC
  4368. soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
  4369. soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
  4370. soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
  4371. //MPS_FL
  4372. soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
  4373. //STD_STYPE,STD_STYPE_DESC
  4374. soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
  4375. soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
  4376. soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
  4377. soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
  4378. soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
  4379. soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
  4380. soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
  4381. soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
  4382. soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
  4383. soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
  4384. soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
  4385. soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
  4386. soe.OutboundCalculate = slmOrderLine.Rows[0]["OUTBOUND_CALCULATE"].ToString();
  4387. soe.OrderTeam = slmOrderLine.Rows[0]["ORDER_TEAM"].ToString();
  4388. soe.ModeOfTransport = slmOrderLine.Rows[0]["MODE_OF_TRANSPORT"].ToString();
  4389. //合同行号ORD_LN_PK
  4390. soe.OrdLnPk = ordLnPk;
  4391. //合同行号顺序号ORDER_SEQ
  4392. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  4393. soe.OrderSeq = orderSeq;
  4394. bool isCraft = false;// 是否跳过工艺
  4395. string chgeVal = "";
  4396. string chgeOrdLnPk = ultraGrid2.ActiveRow.Cells["CHGE_ORD_LN_PK"].Value.ToString();
  4397. if (chgeOrdLnPk.Equals(""))
  4398. chgeOrdLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  4399. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOldLnPkOrderLine", new object[] { chgeOrdLnPk }, this.ob);
  4400. if (dt != null && dt.Rows.Count > 0)
  4401. {
  4402. DataRow dr = dt.Rows[0];
  4403. int num = 0;
  4404. soe.CreateName = dr["CREATE_NAME"].ToString();
  4405. soe.CreateTime = dr["CREATE_TIME"].ToString();
  4406. if (dr["ORDER_ADD_DESC"].ToString() != soe.OrderAddDesc.ToString())
  4407. {
  4408. //string tmpChgeVal = (num + 1).ToString() + ".产品附加要求:" + dr["ORDER_ADD_DESC"].ToString() + "\r\n修改为\r\n " + soe.OrderAddDesc.ToString().Trim() + "\r\n";
  4409. string tmpChgeVal = (num + 1).ToString() + ". 新产品附加要求:" + soe.OrderAddDesc.ToString().Trim() + "\r\n";
  4410. int length = Encoding.Unicode.GetBytes(tmpChgeVal).Length;
  4411. if (length > 4000)
  4412. {
  4413. tmpChgeVal = tmpChgeVal.Substring((length - 4000) / 2);
  4414. }
  4415. chgeVal += tmpChgeVal;
  4416. num++;
  4417. isCraft = true;
  4418. }
  4419. if (dr["OUTBOUND_CALCULATE"].ToString() != soe.OutboundCalculate.ToString())
  4420. {
  4421. string outboundCalculate = soe.OutboundCalculate.ToString().Equals("1") ? "实单过磅" : soe.OutboundCalculate.ToString().Equals("2") ? "实单按尺码单" : "实单不过磅";
  4422. chgeVal = chgeVal + (num + 1).ToString() + ".出库计量:" + dr["OUTBOUND_CALCULATE"].ToString() + " 修改为 " + outboundCalculate + "\r\n";
  4423. num++;
  4424. isCraft = true;
  4425. }
  4426. if (dr["ORDER_TEAM"].ToString() != soe.OrderTeam.ToString())
  4427. {
  4428. chgeVal = chgeVal + (num + 1).ToString() + ".是否协同:" + dr["ORDER_TEAM"].ToString() + " 修改为 " + soe.OrderTeam.ToString() + "\r\n";
  4429. num++;
  4430. isCraft = true;
  4431. }
  4432. if (dr["MODE_OF_TRANSPORT"].ToString() != soe.ModeOfTransport.ToString())
  4433. {
  4434. chgeVal = chgeVal + (num + 1).ToString() + ".运输方式:" + dr["MODE_OF_TRANSPORT"].ToString() + " 修改为 " + soe.ModeOfTransport.ToString() + "\r\n";
  4435. num++;
  4436. isCraft = true;
  4437. }
  4438. if (dr["PSC"].ToString() != soe.Psc.ToString())
  4439. {
  4440. chgeVal = chgeVal + (num + 1).ToString() + ".订货产品:" + dr["PSC_DESC"].ToString() + " 修改为 " + soe.PscDesc.ToString() + "\r\n";
  4441. num++;
  4442. isCraft = false;
  4443. }
  4444. if (dr["SPEC_CODE"].ToString() != soe.SpecCode.ToString())
  4445. {
  4446. chgeVal = chgeVal + (num + 1).ToString() + ".产品规格:" + dr["SPEC_NAME"].ToString() + " 修改为 " + soe.SpecName.ToString() + "\r\n";
  4447. num++;
  4448. isCraft = false;
  4449. }
  4450. if (dr["ORDER_SPEC_CODE"].ToString() != soe.OrderSpecCode.ToString())
  4451. {
  4452. chgeVal = chgeVal + (num + 1).ToString() + ".订货规格:" + dr["ORDER_SPEC_DESC"].ToString() + " 修改为 " + soe.OrderSpecDesc.ToString() + "\r\n";
  4453. num++;
  4454. isCraft = false;
  4455. }
  4456. if (dr["MODEL_CODE"].ToString() != soe.ModelCode.ToString())
  4457. {
  4458. chgeVal = chgeVal + (num + 1).ToString() + ".扣型:" + dr["MODEL_DESC"].ToString() + " 修改为 " + soe.ModelDesc.ToString() + "\r\n";
  4459. num++;
  4460. isCraft = false;
  4461. }
  4462. if (dr["LEN_DESC"].ToString() != soe.LenDesc.ToString())
  4463. {
  4464. chgeVal = chgeVal + (num + 1).ToString() + ".长度要求:" + dr["LEN_DESC"].ToString() + " 修改为 " + soe.LenDesc.ToString() + "\r\n";
  4465. num++;
  4466. isCraft = false;
  4467. }
  4468. if (dr["ORDER_QTY"].ToString() != soe.OrderQty.ToString())
  4469. {
  4470. chgeVal = chgeVal + (num + 1).ToString() + ".订货量:" + dr["ORDER_QTY"].ToString() + " 修改为 " + soe.OrderQty.ToString() + "\r\n";
  4471. num++;
  4472. isCraft = false;
  4473. }
  4474. if (dr["ORDER_UNIT"].ToString() != soe.OrderUnit.ToString())
  4475. {
  4476. chgeVal = chgeVal + (num + 1).ToString() + ".订货单位:" + dr["ORDER_UNIT"].ToString() + " 修改为 " + soe.OrderUnit.ToString() + "\r\n";
  4477. num++;
  4478. isCraft = false;
  4479. }
  4480. if (dr["DELVRY_RANGE_MIN"].ToString() != soe.DelvryRangeMin.ToString())
  4481. {
  4482. chgeVal = chgeVal + (num + 1).ToString() + ".交货量差下限:" + dr["DELVRY_RANGE_MIN"].ToString() + " 修改为 " + soe.DelvryRangeMin.ToString() + "\r\n";
  4483. num++;
  4484. isCraft = false;
  4485. }
  4486. if (dr["DELVRY_RANGE_MAX"].ToString() != soe.DelvryRangeMax.ToString())
  4487. {
  4488. chgeVal = chgeVal + (num + 1).ToString() + ".交货量差上限:" + dr["DELVRY_RANGE_MAX"].ToString() + " 修改为 " + soe.DelvryRangeMax.ToString() + "\r\n";
  4489. num++;
  4490. isCraft = false;
  4491. }
  4492. if (dr["ORD_ENSU_TOTL_LEN"].ToString() != soe.OrdEnsuTotlLen.ToString())
  4493. {
  4494. chgeVal = chgeVal + (num + 1).ToString() + ".保总长:" + dr["ORD_ENSU_TOTL_LEN"].ToString() + " 修改为 " + soe.OrdEnsuTotlLen.ToString() + "\r\n";
  4495. num++;
  4496. isCraft = false;
  4497. }
  4498. if (Convert.ToDouble(dr["ORDER_PRICE"].ToString().Trim() == "" ? "0" : dr["ORDER_PRICE"].ToString().Trim()) != Convert.ToDouble(soe.OrderPrice.ToString() == "" ? "0" : soe.OrderPrice.ToString()))
  4499. {
  4500. chgeVal = chgeVal + (num + 1).ToString() + ".订货单价:" + dr["ORDER_PRICE"].ToString() + " 修改为 " + soe.OrderPrice.ToString().Trim() + "\r\n";
  4501. num++;
  4502. isCraft = false;
  4503. }
  4504. if (dr["FINAL_USER"].ToString() != soe.FinalUser.ToString())
  4505. {
  4506. chgeVal = chgeVal + (num + 1).ToString() + ".最终用户:" + dr["FINAL_USER_DESC"].ToString() + " 修改为 " + soe.FinalUserDesc.ToString() + "\r\n";
  4507. num++;
  4508. isCraft = false;
  4509. }
  4510. if (dr["OUTPUT_STD_NO"].ToString() != soe.OutputStdNo)
  4511. {
  4512. chgeVal = chgeVal + (num + 1).ToString() + ".输出标准号:" + dr["OUTPUT_STD_NO_DESC"].ToString() + " 修改为 " + ctrlOrderLine1.CmbOutPutStd.Text + "\r\n";
  4513. num++;
  4514. isCraft = false;
  4515. }
  4516. if (dr["PROJECT_NO"].ToString() != soe.ProjectNo)
  4517. {
  4518. chgeVal = chgeVal + (num + 1).ToString() + ".订单工程号:" + dr["PROJECT_NO"].ToString() + " 修改为 " + soe.ProjectNo + "\r\n";
  4519. num++;
  4520. isCraft = false;
  4521. }
  4522. if (dr["OUTS_BILLET_FL"].ToString() != soe.OutsBilletFl.ToString())
  4523. {
  4524. chgeVal = chgeVal + (num + 1).ToString() + ".外购坯:" + dr["OUTS_BILLET_FL_DESC"].ToString() + " 修改为 " + slmOrderLine.Rows[0]["OUTS_BILLET_DESC"].ToString() + "\r\n";
  4525. num++;
  4526. isCraft = false;
  4527. }
  4528. if (dr["OUTS_STL_PIPE_FL"].ToString() != soe.OutsStlPipeFl.ToString())
  4529. {
  4530. chgeVal = chgeVal + (num + 1).ToString() + ".外购管:" + dr["OUTS_STL_PIPE_FL_DESC"].ToString() + " 修改为 " + slmOrderLine.Rows[0]["OUTS_STL_PIPE_DESC"].ToString() + "\r\n";
  4531. num++;
  4532. isCraft = false;
  4533. }
  4534. if (dr["ASSEL_FL"].ToString() != soe.AsselFl.ToString())
  4535. {
  4536. chgeVal = chgeVal + (num + 1).ToString() + ".ASSEL:" + (dr["ASSEL_FL"].ToString() == "1" ? "经过" : "不经过") + " 修改为 " + (soe.AsselFl.ToString() == "1" ? "经过" : "不经过") + "\r\n";
  4537. num++;
  4538. isCraft = false;
  4539. }
  4540. if (dr["MPS_FL"].ToString() != soe.MpsFl.ToString())
  4541. {
  4542. chgeVal = chgeVal + (num + 1).ToString() + ".MPS要求:" + (dr["MPS_FL"].ToString() == "1" ? "有" : "无") + " 修改为 " + (soe.MpsFl.ToString() == "1" ? "有" : "无") + "\r\n";
  4543. num++;
  4544. isCraft = false;
  4545. }
  4546. if (dr["PRODUCER_FL"].ToString() != soe.ProducerFl.ToString())
  4547. {
  4548. chgeVal = chgeVal + (num + 1).ToString() + ".监制要求:" + (dr["PRODUCER_FL"].ToString() == "1" ? "有" : "无") + " 修改为 " + (soe.ProducerFl.ToString() == "1" ? "有" : "无") + "\r\n";
  4549. num++;
  4550. isCraft = false;
  4551. }
  4552. if (dr["ORDER_SPECIAL_DESC"].ToString() != soe.OrderSpecialDesc.ToString())
  4553. {
  4554. //string tmpChgeVal = (num + 1).ToString() + ".产品技术要求:" + dr["ORDER_SPECIAL_DESC"].ToString() + " \r\n修改为\r\n " + soe.OrderSpecialDesc.ToString() + "\r\n";
  4555. string tmpChgeVal = (num + 1).ToString() + ". 新产品技术要求:" + soe.OrderSpecialDesc.ToString() + "\r\n";
  4556. int length = Encoding.Unicode.GetBytes(tmpChgeVal).Length;
  4557. if (length > 4000)
  4558. {
  4559. tmpChgeVal = tmpChgeVal.Substring((length - 4000)/2);
  4560. }
  4561. chgeVal += tmpChgeVal;
  4562. num++;
  4563. isAlter = true;
  4564. isCraft = false;
  4565. }
  4566. else if (dr["MSC"].ToString() != soe.Msc.ToString())
  4567. {
  4568. chgeVal = chgeVal + (num + 1).ToString() + ".冶金规范码:" + dr["MSC"].ToString() + " 修改为 " + soe.Msc.ToString() + "\r\n";
  4569. num++;
  4570. isAlter = true;
  4571. isCraft = false;
  4572. }
  4573. if (dr["MAN_INSPECTION"].ToString() != soe.ManInspection)
  4574. {
  4575. chgeVal = chgeVal + (num + 1).ToString() + ".在线机探盲区:" + (dr["MAN_INSPECTION"].ToString() == "1" ? "可手探" : "不可手探") + " 修改为 " + (soe.ManInspection == "1" ? "可手探" : "不可手探") + "\r\n";
  4576. num++;
  4577. isCraft = false;
  4578. }
  4579. if (dr["QUALITY_USER"].ToString() != soe.QualityUser)
  4580. {
  4581. chgeVal = chgeVal + (num + 1).ToString() + ".质保书单位:" + dr["QUALITY_USER_DESC"].ToString() + " 修改为 " + soe.QualityUserDesc + "\r\n";
  4582. num++;
  4583. isCraft = false;
  4584. }
  4585. }
  4586. //else
  4587. //{
  4588. // MessageUtil.ShowWarning("合同行信息发生异常!");
  4589. // return;
  4590. //}
  4591. DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString() }, this.ob);
  4592. if (dtCraft != null && dtCraft.Rows.Count > 0 && !isCraft)
  4593. {
  4594. MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
  4595. return;
  4596. }
  4597. if (chgeVal == "")
  4598. {
  4599. MessageUtil.ShowWarning("没有作出任何修改!");
  4600. return;
  4601. }
  4602. string str = "\r\n合同号:" + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " 合同行号:" + soe.OrderSeq + "\r\n\r\n" + chgeVal;
  4603. PopupTextBox ptb = new PopupTextBox(str);
  4604. ptb.TxtInfo.ReadOnly = true;
  4605. ptb.TxtInfo.Font = new Font("宋体", 11, FontStyle.Regular);
  4606. ptb.Text = "合同行变更内容";
  4607. ptb.ShowDialog();
  4608. if (ptb.DialogResult != DialogResult.OK)
  4609. return;
  4610. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  4611. csm.OrdPk = ordpk;
  4612. csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  4613. csm.ChgeRsn = "修改合同行";
  4614. csm.ChgeType = "合同行变更,修改";
  4615. csm.UnitCode = UserInfo.GetDeptid();
  4616. csm.UnitDesc = UserInfo.GetDepartment();
  4617. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  4618. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  4619. csm.Chger = UserInfo.GetUserName();
  4620. csm.ChgeVal = chgeVal;
  4621. csm.CreateName = UserInfo.GetUserName();
  4622. string json = JSONFormat.Format(csm);
  4623. CoreClientParam ccp = new CoreClientParam();
  4624. ccp.IfShowErrMsg = false;
  4625. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  4626. ccp.MethodName = "chgeUpdateOrderLine";
  4627. string deptName = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  4628. deptName = deptName + "-" + UserInfo.GetDepartment();
  4629. //string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  4630. ccp.ServerParams = new object[] { JSONFormat.Format(soe), json, isAlter, deptName };
  4631. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  4632. if (ccp != null)
  4633. {
  4634. if (ccp.ReturnCode == -1)
  4635. {
  4636. MessageUtil.ShowWarning(ccp.ReturnInfo);
  4637. return;
  4638. }
  4639. }
  4640. else
  4641. {
  4642. return;
  4643. }
  4644. MessageUtil.ShowTips("修改成功!");
  4645. doQuery();
  4646. string valid = "";
  4647. if (chkValid.Checked)
  4648. {
  4649. valid = "0";
  4650. }
  4651. else
  4652. {
  4653. valid = "1";
  4654. }
  4655. //展示合同行数据
  4656. GetOrderLineDt(ordpk, valid);
  4657. foreach (UltraGridRow row in ultraGrid1.Rows)
  4658. {//ordpk
  4659. if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  4660. {
  4661. row.Activate();
  4662. break;
  4663. }
  4664. }
  4665. //聚焦当前修改行
  4666. foreach (UltraGridRow row in ultraGrid2.Rows)
  4667. {
  4668. if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
  4669. {
  4670. row.Activate();
  4671. break;
  4672. }
  4673. }
  4674. }
  4675. /// <summary>
  4676. /// 合同行变更(冻结变更)只能修改附加要求
  4677. /// </summary>
  4678. private void ChgeUpdateFreeze()
  4679. {
  4680. //1.计划处是否将此合同冻结 2.工艺评审是否锁定了
  4681. if (ultraGrid1.ActiveRow == null)
  4682. {
  4683. MessageBox.Show("请先选择合同头信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  4684. return;
  4685. }
  4686. if (ultraGrid2.ActiveRow == null)
  4687. {
  4688. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  4689. return;
  4690. }
  4691. string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  4692. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  4693. //1.是否计划锁定
  4694. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryPlnSaleOrd", new object[] { ordLnPk }, this.ob);
  4695. if (dt != null && dt.Rows.Count > 0)
  4696. {
  4697. string freeze = dt.Rows[0][0].ToString();
  4698. if (freeze != "1")
  4699. {
  4700. MessageUtil.ShowWarning("合同没有被制造部计划科锁定,请联系其锁定该合同行!");
  4701. return;
  4702. }
  4703. }
  4704. else
  4705. {
  4706. MessageUtil.ShowWarning("合同尚未被制造部接收,不必使用冻结变更!\n可在合同提报管理界面撤销提报,然后发起普通变更!");
  4707. return;
  4708. }
  4709. //2.是否工艺锁定
  4710. //23-05-26 不再判定工艺
  4711. //DataTable dtCraft = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryCraftDesign", new object[] { ordLnPk }, this.ob);
  4712. //if (dtCraft != null && dtCraft.Rows.Count > 0)
  4713. //{
  4714. // MessageUtil.ShowWarning("此合同行正在工艺评审中,不能发起变更,请等待工艺评审结束!");
  4715. // return;
  4716. //}
  4717. if (!ChgeOperateLine(ordLnPk))
  4718. {
  4719. MessageUtil.ShowWarning("无效合同行不能操作!");
  4720. return;
  4721. }
  4722. DataSet ds = ctrlOrderLine1.CtrlLineValue;
  4723. if (ds == null)
  4724. {
  4725. return;
  4726. }
  4727. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  4728. SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
  4729. soe.OrdPk = ordpk;
  4730. soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  4731. //订货附加要求描述ORDER_ADD_DESC
  4732. soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
  4733. //合同行号ORD_LN_PK
  4734. soe.OrdLnPk = ordLnPk;
  4735. //合同行号顺序号ORDER_SEQ
  4736. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  4737. soe.OrderSeq = orderSeq;
  4738. string chgeVal = "";
  4739. bool isUpdate = false; //是否修改了数据
  4740. DataTable hisDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrdLineHistory", new object[] { ordLnPk }, this.ob);
  4741. if (hisDt != null && hisDt.Rows.Count > 0)
  4742. {
  4743. //某一次冻结变更的多次修改
  4744. if (soe.OrderAddDesc.ToString() != dt.Rows[0][0].ToString2())
  4745. {
  4746. chgeVal = "附加要求:" + "\r\n\r\n" + dt.Rows[0][0].ToString2() + "\r\n\r\n修改为:\r\n\r\n" + soe.OrderAddDesc.ToString();
  4747. isUpdate = true;
  4748. }
  4749. }
  4750. else
  4751. {
  4752. //某一次冻结变更的首次修改
  4753. if (soe.OrderAddDesc.ToString() != ultraGrid2.ActiveRow.Cells["ORDER_ADD_DESC"].Value.ToString())
  4754. {
  4755. chgeVal = "附加要求:" + "\r\n\r\n" + ultraGrid2.ActiveRow.Cells["ORDER_ADD_DESC"].Value.ToString() + "\r\n\r\n修改为:\r\n\r\n" + soe.OrderAddDesc.ToString();
  4756. isUpdate = true;
  4757. }
  4758. }
  4759. if (!isUpdate)
  4760. {
  4761. MessageUtil.ShowWarning("没有做出任何改变,不允许变更!");
  4762. return;
  4763. }
  4764. string str = "\r\n合同号:" + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " 合同行号:" + soe.OrderSeq + "\r\n\r\n" + chgeVal;
  4765. PopupTextBox ptb = new PopupTextBox(str);
  4766. ptb.TxtInfo.ReadOnly = true;
  4767. ptb.TxtInfo.Font = new Font("宋体", 11, FontStyle.Regular);
  4768. ptb.Text = "合同行变更内容";
  4769. ptb.ShowDialog();
  4770. if (ptb.DialogResult != DialogResult.OK)
  4771. return;
  4772. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  4773. csm.OrdPk = ordpk;
  4774. csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  4775. csm.ChgeRsn = "修改合同附加要求";
  4776. csm.ChgeType = "合同行变更,修改合同附加要求";
  4777. csm.UnitCode = UserInfo.GetDeptid();
  4778. csm.UnitDesc = UserInfo.GetDepartment();
  4779. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  4780. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  4781. csm.Chger = UserInfo.GetUserName();
  4782. csm.ChgeVal = chgeVal;
  4783. csm.CreateName = UserInfo.GetUserName();
  4784. string json = JSONFormat.Format(csm);
  4785. CoreClientParam ccp = new CoreClientParam();
  4786. ccp.IfShowErrMsg = false;
  4787. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  4788. ccp.MethodName = "chgeFreezeUpdateOrdLine";
  4789. ccp.ServerParams = new object[] { JSONFormat.Format(soe), json };
  4790. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  4791. if (ccp != null)
  4792. {
  4793. if (ccp.ReturnCode == -1)
  4794. {
  4795. MessageUtil.ShowWarning(ccp.ReturnInfo);
  4796. return;
  4797. }
  4798. }
  4799. else
  4800. {
  4801. return;
  4802. }
  4803. MessageUtil.ShowTips("修改成功!");
  4804. doQuery();
  4805. string valid = "";
  4806. if (chkValid.Checked)
  4807. {
  4808. valid = "0";
  4809. }
  4810. else
  4811. {
  4812. valid = "1";
  4813. }
  4814. //展示合同行数据
  4815. GetOrderLineDt(ordpk, valid);
  4816. foreach (UltraGridRow row in ultraGrid1.Rows)
  4817. {//ordpk
  4818. if (ordpk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  4819. {
  4820. row.Activate();
  4821. break;
  4822. }
  4823. }
  4824. //聚焦当前修改行
  4825. foreach (UltraGridRow row in ultraGrid2.Rows)
  4826. {
  4827. if (orderSeq.Equals(row.Cells["ORD_LN_PK"].Value.ToString()))
  4828. {
  4829. row.Activate();
  4830. break;
  4831. }
  4832. }
  4833. }
  4834. //------------------------------------------------------------------合同头变更区域代码-----------------------------------------------------
  4835. /// <summary>
  4836. /// 合同头变更-合同头的查询
  4837. /// </summary>
  4838. private void ChgeHeadQuery()
  4839. {
  4840. string orderNo = utxtOrderNo.Text.Trim();
  4841. string orderStart = "1000-01-01 00:00:01";
  4842. string orderEnd = "9999-12-31 23:59:59";
  4843. string valid = "0";
  4844. if (uchkDate.Checked)
  4845. {
  4846. orderStart = udtStart.DateTime.ToString("yyyy-MM-dd") + " 00:00:01";
  4847. orderEnd = udtEnd.DateTime.ToString("yyyy-MM-dd") + " 23:59:59";
  4848. }
  4849. ArrayList list = new ArrayList();
  4850. list.Add(orderNo);
  4851. list.Add(orderStart);
  4852. list.Add(orderEnd);
  4853. list.Add(valid);
  4854. list.Add(UserInfo.SaleOrg);
  4855. list.Add(UserInfo.GetDeptid());
  4856. string supp = this.CustomInfo.Contains("120504") ? "120504" : "";
  4857. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.orderChangeHeadDetail", new Object[] { list, supp }, this.ob);
  4858. GridHelper.CopyDataToDatatable(ref dt, ref this.orderHeadDt, true);
  4859. foreach (UltraGridRow row in ultraGrid1.Rows)
  4860. {
  4861. if ("1".Equals(row.Cells["CUSTOMER_MODEL_FL"].Value))
  4862. {
  4863. row.Cells["CUSTOMER_MODEL_FL"].Value = true;
  4864. }
  4865. else
  4866. {
  4867. row.Cells["CUSTOMER_MODEL_FL"].Value = false;
  4868. }
  4869. if (row.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "TRUE")
  4870. {
  4871. row.Appearance.ForeColor = Color.Black;
  4872. }
  4873. else
  4874. {
  4875. row.Appearance.ForeColor = Color.Red;
  4876. }
  4877. }
  4878. if (dt.Rows.Count <= 0)
  4879. {
  4880. this.orderLineDt.Rows.Clear();
  4881. }
  4882. }
  4883. /// <summary>
  4884. /// 合同头修改
  4885. /// </summary>
  4886. private void ChgeHeadUpdate()
  4887. {
  4888. ultraGrid1.UpdateData();
  4889. if (ultraGrid1.ActiveRow == null)
  4890. {
  4891. MessageUtil.ShowTips("请选择您需要修改的数据!");
  4892. return;
  4893. }
  4894. DataSet ds = ctrlOrderHead1.ctrlValue;
  4895. if (ds == null)
  4896. {
  4897. return;
  4898. }
  4899. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getHeadStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  4900. if (dt != null && dt.Rows.Count > 0)
  4901. {
  4902. if (Convert.ToDecimal(dt.Rows[0][0].ToString3()) < 12020301)
  4903. {
  4904. MessageUtil.ShowWarning("不是生效状态之后的合同不能变更!");
  4905. return;
  4906. }
  4907. string applyNo = ultraGrid1.ActiveRow.Cells["ORDER_CHGE_NO"].Value.ToString();
  4908. DataTable applyDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getApplyStatus", new object[] { applyNo }, this.ob);
  4909. if (applyDt != null && applyDt.Rows.Count > 0)
  4910. {
  4911. if (applyDt.Rows[0][0].ToString() == "W")
  4912. {
  4913. MessageUtil.ShowWarning("该合同正处于变更中,请先处理,再进行变更!");
  4914. return;
  4915. }
  4916. }
  4917. }
  4918. else
  4919. {
  4920. MessageUtil.ShowWarning("合同头已不存在!");
  4921. return;
  4922. }
  4923. //判断合同是否参与结算
  4924. DataTable dtBal = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.queryBalStatus", new object[] { ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString() }, this.ob);
  4925. if (dtBal != null && dtBal.Rows.Count > 0)
  4926. {
  4927. if (dtBal.Rows[0][0].ToString2() == "1")
  4928. {
  4929. MessageUtil.ShowWarning("您选择的合同已经参与结算,不能合同头变更!");
  4930. return;
  4931. }
  4932. }
  4933. DataTable slmOrderHead = ds.Tables["SLM_ORDER_HEAD"];
  4934. //合同号ORDER_N
  4935. string orderNo = slmOrderHead.Rows[0]["ORDER_NO"].ToString().ToUpper();
  4936. if (orderNo == "")
  4937. {
  4938. MessageUtil.ShowWarning("不能将合同号修改为空!");
  4939. return;
  4940. }
  4941. //旧合同号。
  4942. string orderNoJ = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  4943. if (!orderNo.Equals(orderNoJ))
  4944. {
  4945. if (!orderNoIsRepeat(orderNo))
  4946. {
  4947. MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  4948. return;
  4949. }
  4950. }
  4951. SlmOrderHeadEntityCh soh = new SlmOrderHeadEntityCh();
  4952. soh.OrderNo = orderNo;
  4953. //客户合同号,CUSTM_ORDER_NO
  4954. soh.CustmOrderNo = slmOrderHead.Rows[0]["CUSTM_ORDER_NO"].ToString().ToUpper();
  4955. //合同类型,ORDER_TYP
  4956. soh.OrderTyp = slmOrderHead.Rows[0]["ORDER_TYP"].ToString();
  4957. //合同类型描述,ORDER_TYP_DESC
  4958. soh.OrderTypDesc = slmOrderHead.Rows[0]["ORDER_TYP_DESC"].ToString();
  4959. //协议号,PROTCL_NO,
  4960. soh.ProtclNo = slmOrderHead.Rows[0]["PROTCL_NO"].ToString();
  4961. //客户编码CUSTOMER_NO
  4962. soh.CustomerNo = slmOrderHead.Rows[0]["CUSTOMER_NO"].ToString();
  4963. //客户名称CUSTOMER_NM
  4964. soh.CustomerNm = slmOrderHead.Rows[0]["CUSTOMER_NM"].ToString();
  4965. //供货单位SUPPLY_UNIT
  4966. soh.SupplyUnit = slmOrderHead.Rows[0]["SUPPLY_UNIT"].ToString();
  4967. //客户简称
  4968. soh.Abrvition = slmOrderHead.Rows[0]["ABRVITION"].ToString();
  4969. //计价方式(1203)PRICE_FL
  4970. soh.PriceFl = slmOrderHead.Rows[0]["PRICE_FL"].ToString();
  4971. //币种CURRENCY
  4972. soh.Currency = slmOrderHead.Rows[0]["CURRENCY"].ToString();
  4973. //结算单位编码STLMT_UNIT_NO
  4974. soh.StlmtUnitNo = slmOrderHead.Rows[0]["STLMT_UNIT_NO"].ToString();
  4975. //结算单位名称STLMT_UNIT_NM
  4976. soh.StlmtUnitNm = slmOrderHead.Rows[0]["STLMT_UNIT_NM"].ToString();
  4977. //首次受票人(国贸/钢贸/集团/客户)FST_DRAWEE_UNIT
  4978. soh.FstDraweeUnit = slmOrderHead.Rows[0]["FST_DRAWEE_UNIT"].ToString();
  4979. //法人LEGAL_PSN
  4980. soh.LegalPsn = slmOrderHead.Rows[0]["LEGAL_PSN"].ToString();
  4981. //委托代理人AGENT
  4982. soh.Agent = slmOrderHead.Rows[0]["AGENT"].ToString();
  4983. //地址ADDRESS
  4984. soh.Address = slmOrderHead.Rows[0]["ADDRESS"].ToString();
  4985. //邮编ZIP_CODE
  4986. soh.ZipCode = slmOrderHead.Rows[0]["ZIP_CODE"].ToString();
  4987. //开户银行BANK
  4988. soh.Bank = slmOrderHead.Rows[0]["BANK"].ToString();
  4989. //帐号ACCOUNT
  4990. soh.Account = slmOrderHead.Rows[0]["ACCOUNT"].ToString();
  4991. //税号TAX_ID
  4992. soh.TaxId = slmOrderHead.Rows[0]["TAX_ID"].ToString();
  4993. //电话PHONE
  4994. soh.Phone = slmOrderHead.Rows[0]["PHONE"].ToString();
  4995. //传真FAX
  4996. soh.Fax = slmOrderHead.Rows[0]["FAX"].ToString();
  4997. //合同量ORDER_WGT
  4998. soh.OrderWgt = slmOrderHead.Rows[0]["ORDER_WGT"].ToString();
  4999. //合同总价(含税)ORDER_MNY_TAX
  5000. soh.OrderMnyTax = slmOrderHead.Rows[0]["ORDER_MNY_TAX"].ToString();
  5001. //合同总价(不含税)ORDER_MNY_NTAX
  5002. soh.OrderMnyNtax = slmOrderHead.Rows[0]["ORDER_MNY_NTAX"].ToString();
  5003. //付款要求描述MNY_ASK_DESC
  5004. soh.MnyAskDesc = slmOrderHead.Rows[0]["MNY_ASK_DESC"].ToString();
  5005. //签订人SIGN_PERSON
  5006. soh.SignPerson = slmOrderHead.Rows[0]["SIGN_PERSON"].ToString();
  5007. //签订日期SIGN_DATE
  5008. soh.SignDate = slmOrderHead.Rows[0]["SIGN_DATE"].ToString();
  5009. //合同开始时间ORDER_BDATE
  5010. soh.OrderBdate = slmOrderHead.Rows[0]["ORDER_BDATE"].ToString();
  5011. //合同结束时间ORDER_EDATE
  5012. soh.OrderEdate = slmOrderHead.Rows[0]["ORDER_EDATE"].ToString();
  5013. //合同扫描件编号ORDER_SCAN_NO
  5014. soh.OrderScanNo = slmOrderHead.Rows[0]["ORDER_SCAN_NO"].ToString();
  5015. //是否客户范本(1:是;0:否)CUSTOMER_MODEL_FL
  5016. soh.CustomerModelFl = slmOrderHead.Rows[0]["CUSTOMER_MODEL_FL"].ToString();
  5017. //合同范本编号ORDER_MODEL_NO
  5018. soh.OrderModelNo = slmOrderHead.Rows[0]["ORDER_MODEL_NO"].ToString();
  5019. //销售组织(国贸/钢贸/销售公司)SALE_ORG
  5020. soh.SaleOrg = ultraGrid1.ActiveRow.Cells["SALE_ORG"].Value.ToString();
  5021. //销售组织描述SALE_ORG_DESC
  5022. soh.SaleOrgDesc = ultraGrid1.ActiveRow.Cells["SALE_ORG_DESC"].Value.ToString();
  5023. //销售区域编码SALE_AREA_NO
  5024. soh.SaleAreaNo = slmOrderHead.Rows[0]["SALE_AREA_NO"].ToString();
  5025. //销售区域描述SALE_AREA_DESC
  5026. soh.SaleAreaDesc = slmOrderHead.Rows[0]["SALE_AREA_DESC"].ToString();
  5027. //备注MEMO
  5028. soh.Memo = slmOrderHead.Rows[0]["MEMO"].ToString();
  5029. soh.UpdateName = UserInfo.GetUserName();
  5030. soh.CreateName = ultraGrid1.ActiveRow.Cells["CREATE_NAME"].Value.ToString();
  5031. soh.CreateDept = ultraGrid1.ActiveRow.Cells["CREATE_DEPT"].Value.ToString();
  5032. soh.CreateTime = ultraGrid1.ActiveRow.Cells["CREATE_TIME"].Value.ToString();
  5033. //合同年度ORDER_YEAR
  5034. soh.OrderYear = slmOrderHead.Rows[0]["ORDER_YEAR"].ToString();
  5035. //签订地点SIGN_ADDRESS
  5036. soh.SignAddress = slmOrderHead.Rows[0]["SIGN_ADDRESS"].ToString();
  5037. //付款方式MNY_ASK_TYP
  5038. soh.MnyAskTyp = slmOrderHead.Rows[0]["MNY_ASK_TYP"].ToString();
  5039. ////生效时间,EFFECT_TIME
  5040. soh.EffectMan = ultraGrid1.ActiveRow.Cells["EFFECT_MAN"].Value.ToString();
  5041. soh.EffectTime = ultraGrid1.ActiveRow.Cells["EFFECT_TIME"].Value.ToString();
  5042. //商务条款描述
  5043. soh.OrderModelDesc = slmOrderHead.Rows[0]["ORDER_MODEL_DESC"].ToString();
  5044. //打印价格 是否含税 优惠方案
  5045. soh.PrintPrice = slmOrderHead.Rows[0]["PRINT_PRICE"].ToString();
  5046. soh.PricePlan = slmOrderHead.Rows[0]["PRICE_PLAN"].ToString();
  5047. soh.ContainTax = slmOrderHead.Rows[0]["CONTAIN_TAX"].ToString();
  5048. //贸易类型 分类 业务分类
  5049. soh.TradeType = slmOrderHead.Rows[0]["TRADE_TYPE"].ToString();
  5050. soh.OrderClassify = slmOrderHead.Rows[0]["ORDER_CLASSIFY"].ToString();
  5051. soh.BusinessType = slmOrderHead.Rows[0]["BUSINESS_TYPE"].ToString();
  5052. //管理卡号
  5053. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5054. soh.OrdPk = ordPk;
  5055. soh.OrderChgeNo = ultraGrid1.ActiveRow.Cells["ORDER_CHGE_NO"].Value.ToString();
  5056. soh.PriceNo = ultraGrid1.ActiveRow.Cells["PRICE_NO"].Value.ToString();
  5057. soh.RevwRptNo = ultraGrid1.ActiveRow.Cells["REVW_RPT_NO"].Value.ToString();
  5058. soh.LocalLaw = slmOrderHead.Rows[0]["LOCAL_LAW"].ToString();
  5059. string chgeVal = "";
  5060. DataTable headDt = ServerHelper.GetData("com.steering.pss.sale.order.orderchange.CoreOrderChangeManage.getOrderHeadWithOrdPk", new object[] { ordPk }, this.ob);
  5061. if (headDt != null && headDt.Rows.Count > 0)
  5062. {
  5063. int num = 0;
  5064. DataRow dr = headDt.Rows[0];
  5065. soh.CreateName = soh.CreateName;
  5066. soh.CreateTime = soh.CreateTime;
  5067. if (dr["ORDER_NO"].ToString() != soh.OrderNo.ToString())
  5068. {
  5069. chgeVal = (num + 1).ToString() + ".合同号:" + dr["ORDER_NO"].ToString() + " 修改为 " + soh.OrderNo.ToString() + "\r\n";
  5070. num++;
  5071. }
  5072. if (dr["CUSTM_ORDER_NO"].ToString() != soh.CustmOrderNo.ToString())
  5073. {
  5074. chgeVal = chgeVal + (num + 1).ToString() + ".客户合同号:" + dr["CUSTM_ORDER_NO"].ToString() + " 修改为 " + soh.CustmOrderNo.ToString() + "\r\n";
  5075. num++;
  5076. }
  5077. if (dr["TRADE_TYPE"].ToString() != soh.TradeType.ToString())
  5078. {
  5079. chgeVal = chgeVal + (num + 1).ToString() + ".贸易类型:" + dr["TRADE_TYPE_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.CmbMYLX.Text.Trim() + "\r\n";
  5080. num++;
  5081. }
  5082. if (dr["ORDER_CLASSIFY"].ToString() != soh.OrderClassify.ToString())
  5083. {
  5084. chgeVal = chgeVal + (num + 1).ToString() + ".分类:" + dr["ORDER_CLASSIFY_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.CmbType.Text.Trim() + "\r\n";
  5085. num++;
  5086. }
  5087. if (dr["BUSINESS_TYPE"].ToString() != soh.BusinessType.ToString())
  5088. {
  5089. chgeVal = chgeVal + (num + 1).ToString() + ".业务分类:" + dr["BUSINESS_TYPE"].ToString() + " 修改为 " + soh.BusinessType.ToString() + "\r\n";
  5090. num++;
  5091. }
  5092. if (dr["ORDER_TYP"].ToString() != soh.OrderTyp.ToString())
  5093. {
  5094. chgeVal = chgeVal + (num + 1).ToString() + ".合同类型:" + dr["ORDER_TYP_DESC"].ToString() + " 修改为 " + soh.OrderTypDesc.ToString() + "\r\n";
  5095. num++;
  5096. }
  5097. if (dr["SALE_AREA_NO"].ToString() != soh.SaleAreaNo.ToString())
  5098. {
  5099. chgeVal = chgeVal + (num + 1).ToString() + ".销售片区:" + dr["SALE_AREA_DESC"].ToString() + " 修改为 " + soh.SaleAreaDesc.ToString() + "\r\n";
  5100. num++;
  5101. }
  5102. if (dr["ORDER_YEAR"].ToString() != soh.OrderYear.ToString())
  5103. {
  5104. chgeVal = chgeVal + (num + 1).ToString() + ".合同年度:" + dr["ORDER_YEAR"].ToString() + " 修改为 " + soh.OrderYear.ToString() + "\r\n";
  5105. num++;
  5106. }
  5107. if (dr["SIGN_DATE"].ToString() != soh.SignDate.ToString())
  5108. {
  5109. chgeVal = chgeVal + (num + 1).ToString() + ".签订日期:" + dr["SIGN_DATE"].ToString() + " 修改为 " + soh.SignDate.ToString() + "\r\n";
  5110. num++;
  5111. }
  5112. if (dr["SIGN_ADDRESS"].ToString() != soh.SignAddress.ToString())
  5113. {
  5114. chgeVal = chgeVal + (num + 1).ToString() + ".签订地点:" + dr["SIGN_ADDRESS"].ToString() + " 修改为 " + soh.SignAddress.ToString() + "\r\n";
  5115. num++;
  5116. }
  5117. if (dr["SUPPLY_UNIT"].ToString() != soh.SupplyUnit.ToString())
  5118. {
  5119. chgeVal = chgeVal + (num + 1).ToString() + ".制造商:" + dr["SUPPLY_UNIT_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.MakersCombo.Text.Trim() + "\r\n";
  5120. num++;
  5121. }
  5122. if (dr["FST_DRAWEE_UNIT"].ToString() != soh.FstDraweeUnit.ToString())
  5123. {
  5124. chgeVal = chgeVal + (num + 1).ToString() + ".首次受票单位:" + dr["FST_DRAWEE_UNIT_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.DraweeUintCombo.Text.Trim() + "\r\n";
  5125. num++;
  5126. }
  5127. if (dr["CUSTOMER_NO"].ToString() != soh.CustomerNo.ToString())
  5128. {
  5129. chgeVal = chgeVal + (num + 1).ToString() + ".订货单位:" + dr["CUSTOMER_NM"].ToString() + " 修改为 " + soh.CustomerNm.ToString() + "\r\n";
  5130. num++;
  5131. }
  5132. if (dr["STLMT_UNIT_NO"].ToString() != soh.StlmtUnitNo.ToString())
  5133. {
  5134. chgeVal = chgeVal + (num + 1).ToString() + ".结算单位:" + dr["STLMT_UNIT_NM"].ToString() + " 修改为 " + soh.StlmtUnitNm.ToString() + "\r\n";
  5135. num++;
  5136. }
  5137. if (dr["BANK"].ToString() != soh.Bank.ToString())
  5138. {
  5139. chgeVal = chgeVal + (num + 1).ToString() + ".开户行:" + dr["BANK"].ToString() + " 修改为 " + soh.Bank.ToString() + "\r\n";
  5140. num++;
  5141. }
  5142. if (dr["ACCOUNT"].ToString() != soh.Account.ToString())
  5143. {
  5144. chgeVal = chgeVal + (num + 1).ToString() + ".开户行账号:" + dr["ACCOUNT"].ToString() + " 修改为 " + soh.Account.ToString() + "\r\n";
  5145. num++;
  5146. }
  5147. if (dr["TAX_ID"].ToString() != soh.TaxId.ToString())
  5148. {
  5149. chgeVal = chgeVal + (num + 1).ToString() + ".税号:" + dr["TAX_ID"].ToString() + " 修改为 " + soh.TaxId.ToString() + "\r\n";
  5150. num++;
  5151. }
  5152. if (dr["PRICE_FL"].ToString() != soh.PriceFl.ToString())
  5153. {
  5154. chgeVal = chgeVal + (num + 1).ToString() + ".计价方式:" + dr["PRICE_FL_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraPricingCombo.Text.Trim() + "\r\n";
  5155. num++;
  5156. }
  5157. if (dr["PROTCL_NO"].ToString() != soh.ProtclNo.ToString())
  5158. {
  5159. chgeVal = chgeVal + (num + 1).ToString() + ".协议号:" + dr["PROTCL_NO"].ToString() + " 修改为 " + soh.ProtclNo.ToString() + "\r\n";
  5160. num++;
  5161. }
  5162. if (dr["PRINT_PRICE"].ToString() != soh.PrintPrice.ToString())
  5163. {
  5164. chgeVal = chgeVal + (num + 1).ToString() + ".打印价格:" + dr["PRINT_PRICE"].ToString() + " 修改为 " + soh.PrintPrice.ToString() + "\r\n";
  5165. num++;
  5166. }
  5167. if (dr["CONTAIN_TAX"].ToString() != soh.ContainTax.ToString())
  5168. {
  5169. chgeVal = chgeVal + (num + 1).ToString() + ".是否含税:" + (dr["CONTAIN_TAX"].ToString() == "1" ? " 是" : " 否") + " 修改为 " + (soh.ContainTax.ToString() == "1" ? "是" : "否") + "\r\n";
  5170. num++;
  5171. }
  5172. if (dr["PRICE_PLAN"].ToString() != soh.PricePlan.ToString())
  5173. {
  5174. chgeVal = chgeVal + (num + 1).ToString() + ".优惠方案:" + dr["PRICE_PLAN"].ToString() + " 修改为 " + soh.PricePlan.ToString() + "\r\n";
  5175. num++;
  5176. }
  5177. if (dr["CURRENCY"].ToString() != soh.Currency.ToString())
  5178. {
  5179. chgeVal = chgeVal + (num + 1).ToString() + ".币种:" + dr["CURRENCY_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraCurrencyCombo.Text.Trim() + "\r\n";
  5180. num++;
  5181. }
  5182. if (dr["MNY_ASK_TYP"].ToString() != soh.MnyAskTyp.ToString())
  5183. {
  5184. chgeVal = chgeVal + (num + 1).ToString() + ".付款方式:" + dr["MNY_ASK_TYP_DESC"].ToString() + " 修改为 " + ctrlOrderHead1.UltraPaymentMethodCombo.Text.Trim() + "\r\n";
  5185. num++;
  5186. }
  5187. if (dr["MNY_ASK_DESC"].ToString() != soh.MnyAskDesc.ToString())
  5188. {
  5189. chgeVal = chgeVal + (num + 1).ToString() + ".付款要求:" + dr["MNY_ASK_DESC"].ToString() + " 修改为 " + soh.MnyAskDesc.ToString() + "\r\n";
  5190. num++;
  5191. }
  5192. if (dr["ORDER_MODEL_DESC"].ToString().Trim() != soh.OrderModelDesc.ToString().Trim())
  5193. {
  5194. chgeVal = chgeVal + (num + 1).ToString() + ".合同条款:" + dr["ORDER_MODEL_DESC"].ToString().Trim() + " 修改为 " + soh.OrderModelDesc.ToString().Trim() + "\r\n";
  5195. num++;
  5196. }
  5197. if (dr["LOCAL_LAW"].ToString() != soh.LocalLaw)
  5198. {
  5199. chgeVal = chgeVal + (num + 1).ToString() + ".当地法律法规:" + dr["LOCAL_LAW"].ToString() + " 修改为 " + soh.LocalLaw + "\r\n";
  5200. num++;
  5201. }
  5202. if (dr["MEMO"].ToString() != soh.Memo.ToString())
  5203. {
  5204. chgeVal = chgeVal + (num + 1).ToString() + ".其他信息:" + dr["MEMO"].ToString() + " 修改为 " + soh.Memo.ToString() + "\r\n";
  5205. num++;
  5206. }
  5207. }
  5208. else
  5209. {
  5210. MessageUtil.ShowWarning("合同头信息异常!");
  5211. return;
  5212. }
  5213. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改合同号: " + soh.OrderNo.ToString() + "\r\n" + chgeVal) == DialogResult.No) return;
  5214. //MessageUtil.ShowWarning(chgeVal);
  5215. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  5216. csm.OrdPk = ordPk;
  5217. csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  5218. csm.ChgeRsn = "修改合同头";
  5219. csm.ChgeType = "合同头变更,修改";
  5220. csm.UnitCode = UserInfo.GetDeptid();
  5221. csm.UnitDesc = UserInfo.GetDepartment();
  5222. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  5223. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  5224. csm.Chger = UserInfo.GetUserName();
  5225. csm.ChgeVal = chgeVal;
  5226. csm.CreateName = UserInfo.GetUserName();
  5227. string json = JSONFormat.Format(csm);
  5228. CoreClientParam ccp = new CoreClientParam();
  5229. ccp.IfShowErrMsg = false;
  5230. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  5231. ccp.MethodName = "chgeOrderHeadUpdate";
  5232. ccp.ServerParams = new object[] { JSONFormat.Format(soh), json };
  5233. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  5234. if (ccp != null)
  5235. {
  5236. if (ccp.ReturnCode == -1)
  5237. {
  5238. MessageUtil.ShowWarning(ccp.ReturnInfo);
  5239. return;
  5240. }
  5241. }
  5242. else
  5243. return;
  5244. //清除之前的付款要求
  5245. deleteBalnceMny(ordPk);
  5246. //新增付款要求
  5247. addBalnceMny(ordPk, ds.Tables["SLM_ORDER_BALNCE_MNY"]);
  5248. MessageUtil.ShowTips("数据修改成功!");
  5249. //执行查询操作,刷新Table1
  5250. ChgeHeadQuery();
  5251. //聚焦新增行
  5252. foreach (UltraGridRow row in ultraGrid1.Rows)
  5253. {
  5254. if (ordPk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  5255. {
  5256. row.Activate();
  5257. break;
  5258. }
  5259. }
  5260. }
  5261. private void ultraGrid1_InitializeRow(object sender, InitializeRowEventArgs e)
  5262. {
  5263. if (this.CustomInfo == "3" || this.CustomInfo == "3-120504")
  5264. {
  5265. if (e.Row.Cells["ISLOCK"].Value.ToString() == "1")
  5266. {
  5267. e.Row.RowSelectorAppearance.BackColor = Color.Red;
  5268. }
  5269. else
  5270. {
  5271. e.Row.RowSelectorAppearance.BackColor = color;
  5272. }
  5273. }
  5274. }
  5275. private void ChgeHeadWatch()
  5276. {
  5277. ultraGrid1.UpdateData();
  5278. UltraGridRow ugr = ultraGrid1.ActiveRow;
  5279. if (ugr == null)
  5280. {
  5281. MessageUtil.ShowWarning("请选择您要查看的合同头!");
  5282. return;
  5283. }
  5284. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  5285. FrmChgeOrderHeadView cod = new FrmChgeOrderHeadView(this.ob, ordPk);
  5286. cod.ShowDialog();
  5287. }
  5288. /// <summary>
  5289. /// 切换激活行时 判断附加要求和产品技术要求 是否做出了修改 单未修改到合同行上。
  5290. /// </summary>
  5291. /// <param name="sender"></param>
  5292. /// <param name="e"></param>
  5293. private void ultraGrid2_BeforeRowDeactivate(object sender, CancelEventArgs e)
  5294. {
  5295. if (ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120102" || ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString() == "120105")
  5296. return;
  5297. string oldAddDesc = oldRow.Cells["ORDER_ADD_DESC"].Value.ToString();
  5298. string oldSpecialDesc = oldRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
  5299. string ctrlAddDesc = "";
  5300. string ctrlSpecialDesc = "";
  5301. if (lineNum == 2)
  5302. {
  5303. ctrlAddDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
  5304. ctrlSpecialDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  5305. }
  5306. else
  5307. {
  5308. ctrlAddDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_ADD_DESC"].ToString();
  5309. ctrlSpecialDesc = ctrlOrderLine1.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  5310. }
  5311. if (oldAddDesc != ctrlAddDesc || oldSpecialDesc != ctrlSpecialDesc)
  5312. {
  5313. if (MessageUtil.ShowYesNoAndQuestion("系统检测到合同附加要求或者产品技术要求做出了编辑,是否放弃修改?") == DialogResult.No)
  5314. e.Cancel = true;
  5315. else
  5316. oldRow = ultraGrid2.ActiveRow;
  5317. }
  5318. else
  5319. {
  5320. oldRow = ultraGrid2.ActiveRow;
  5321. }
  5322. }
  5323. private void ChgeHeadDelete()
  5324. {
  5325. ultraGrid1.UpdateData();
  5326. UltraGridRow ugr = ultraGrid1.ActiveRow;
  5327. if (ugr == null)
  5328. {
  5329. MessageUtil.ShowWarning("请选择需要作废的合同记录!");
  5330. return;
  5331. }
  5332. if (ugr.Cells["VALIDFLAG"].Value.ToString().ToUpper() == "FALSE")
  5333. {
  5334. MessageUtil.ShowWarning("合同头已经无效!");
  5335. return;
  5336. }
  5337. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  5338. if (MessageUtil.ShowYesNoAndQuestion("是否确认作废选择的合同?") == DialogResult.No) return;
  5339. //MessageUtil.ShowWarning(chgeVal);
  5340. ChgeSlmApplyMEntityCh csm = new ChgeSlmApplyMEntityCh();
  5341. csm.OrdPk = ordPk;
  5342. csm.OrderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  5343. csm.ChgeRsn = "注销合同";
  5344. csm.ChgeType = "合同头变更,作废";
  5345. csm.UnitCode = UserInfo.GetDeptid();
  5346. csm.UnitDesc = UserInfo.GetDepartment();
  5347. csm.DepartmentCode = ClsBaseInfo.GetDepartIdBySectionId(UserInfo.GetDeptid(), this.ob);
  5348. csm.DepartmentDesc = ClsBaseInfo.GetDepartBySectionId(UserInfo.GetDeptid(), this.ob);
  5349. csm.Chger = UserInfo.GetUserName();
  5350. csm.ChgeVal = "注销合同";
  5351. csm.CreateName = UserInfo.GetUserName();
  5352. string json = JSONFormat.Format(csm);
  5353. CoreClientParam ccp = new CoreClientParam();
  5354. ccp.IfShowErrMsg = false;
  5355. ccp.ServerName = "com.steering.pss.sale.order.orderchange.CoreOrderChangeManage";
  5356. ccp.MethodName = "chgeOrderHeadDelete";
  5357. ccp.ServerParams = new object[] { ordPk, json };
  5358. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  5359. if (ccp != null)
  5360. {
  5361. if (ccp.ReturnCode == -1)
  5362. {
  5363. MessageUtil.ShowWarning(ccp.ReturnInfo);
  5364. return;
  5365. }
  5366. MessageUtil.ShowWarning("操作完成,请处理变更单!");
  5367. ChgeHeadQuery();
  5368. }
  5369. }
  5370. private void UpdateOrderNo()
  5371. {
  5372. UltraGridRow ugr = ultraGrid1.ActiveRow;
  5373. if (!this.CustomInfo.Contains("120504"))
  5374. {
  5375. MessageUtil.ShowWarning("该功能已被禁用!");
  5376. return;
  5377. }
  5378. if (ugr == null)
  5379. {
  5380. MessageUtil.ShowWarning("请选择您要修改的合同!");
  5381. return;
  5382. }
  5383. if (!equalsName())
  5384. {
  5385. return;
  5386. }
  5387. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  5388. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderStatus", new object[] { ordPk }, this.ob);
  5389. if (dt != null && dt.Rows.Count > 0)
  5390. {
  5391. //查询到符合要求的数据 但不做处理 允许修改
  5392. }
  5393. else
  5394. {
  5395. MessageUtil.ShowWarning("只有未提报的合同才可以修改合同号!");
  5396. return;
  5397. }
  5398. string oldNo = ugr.Cells["ORDER_NO"].Value.ToString();
  5399. string newNo = ctrlOrderHead1.UltraOrderText.Text.Trim();
  5400. if (newNo.Equals(""))
  5401. {
  5402. MessageUtil.ShowWarning("请输入您要修改为的合同号!");
  5403. return;
  5404. }
  5405. DateTime createTime = Convert.ToDateTime(ugr.Cells["CREATE_TIME"].Value);
  5406. int year = createTime.Year;
  5407. int mon = createTime.Month;
  5408. int day = createTime.Day;
  5409. if (year > 2015 || (year == 2015 && mon == 12 && day > 30)) //2015-12-30之后的合同卡死13位
  5410. {
  5411. if (newNo.Length != 13)
  5412. {
  5413. MessageUtil.ShowWarning("合同号的长度必须为13位!");
  5414. return;
  5415. }
  5416. // 生成的天淮合同
  5417. if (oldNo.StartsWith("TH"))
  5418. {
  5419. _saleOrg = "200101";
  5420. }
  5421. if (this.UserInfo.GetUserName().Equals("admin"))
  5422. {
  5423. _saleOrg = ctrlOrderHead1.Saleorg;
  5424. }
  5425. ArrayList arrList = new ArrayList();
  5426. arrList.Add(_saleOrg);
  5427. arrList.Add(ugr.Cells["TRADE_TYPE_CODE"].Value.ToString());
  5428. arrList.Add(ugr.Cells["ORDER_CLASSIFY_CODE"].Value.ToString());
  5429. arrList.Add(ugr.Cells["ORDER_TYP"].Value.ToString());
  5430. string msg = GetOrderPrefix(arrList);
  5431. string prefix = "";
  5432. if (msg == "1")
  5433. {
  5434. MessageUtil.ShowWarning("网络错误,请检查网络是否连通!");
  5435. return;
  5436. }
  5437. else if (msg == "2")
  5438. {
  5439. MessageUtil.ShowWarning("合同号验证失败!");
  5440. return;
  5441. }
  5442. else if (msg.Length == 6)
  5443. {
  5444. prefix = msg;
  5445. }
  5446. else
  5447. {
  5448. MessageUtil.ShowWarning(msg);
  5449. return;
  5450. }
  5451. string sux = newNo.Substring(6, 7);
  5452. newNo = prefix + sux;
  5453. }
  5454. if (!newNo.Equals(oldNo))
  5455. {
  5456. if (!orderNoIsRepeat(newNo))
  5457. {
  5458. MessageBox.Show("合同号已存在,请重新输入。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  5459. return;
  5460. }
  5461. }
  5462. if (MessageUtil.ShowYesNoAndQuestion("是否将合同号:" + oldNo + " 修改为:" + newNo + " ?") == DialogResult.No) return;
  5463. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreOrderManager.updateOrderNo", new object[] { newNo, ordPk }, this.ob);
  5464. if (count > 0)
  5465. {
  5466. MessageUtil.ShowTips("合同号修改成功!");
  5467. doQuery();
  5468. foreach (UltraGridRow row in ultraGrid1.Rows)
  5469. {
  5470. if (ordPk.Equals(row.Cells["ORD_PK"].Value.ToString()))
  5471. {
  5472. row.Activate();
  5473. break;
  5474. }
  5475. }
  5476. }
  5477. }
  5478. //-------------------------------现货合同----------------------------
  5479. private void SetDlyTpe()
  5480. {
  5481. DataTable isx = ServerHelper.GetData("com.steering.pss.sale.base.CoreBuyerOrder.GetQueryBaseInfo", new Object[] { "1216" }, ob);
  5482. cmbDlyTpe.DataSource = isx;
  5483. cmbDlyTpe.DisplayMember = "BASENAME";
  5484. cmbDlyTpe.ValueMember = "BASECODE";
  5485. cmbDlyTpe.Text = "%";
  5486. cmbDlyTpe.Enabled = false;
  5487. ClsBaseInfo.SetComboItemHeight(cmbDlyTpe);
  5488. }
  5489. /// <summary>
  5490. /// 最终用户
  5491. /// </summary>
  5492. /// <param name="sender"></param>
  5493. /// <param name="e"></param>
  5494. private void txtFinaUser_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  5495. {
  5496. //100204 最终用户
  5497. string saleOrg = ClsBaseInfo.GetSaleOrg(UserInfo.GetDeptid());
  5498. FrmOrderBuyer buyer = new FrmOrderBuyer(this.ob, saleOrg, "100204");
  5499. buyer.FormFlag = "1";
  5500. buyer.ShowDialog();
  5501. UltraGridRow uRow = buyer.URow;
  5502. if (uRow != null)
  5503. {
  5504. txtFinaUser.Tag = uRow.Cells["CUSTOMER_NO"].Value.ToString();
  5505. txtFinaUser.Text = uRow.Cells["CUSTOMER_NM"].Value.ToString();
  5506. }
  5507. }
  5508. /// <summary>
  5509. /// 交货行信息维护
  5510. /// </summary>
  5511. /// <param name="sender"></param>
  5512. /// <param name="e"></param>
  5513. private void txtDlyInfo_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
  5514. {
  5515. ultraGrid2.UpdateData();
  5516. if (ultraGrid2.ActiveRow == null)
  5517. {
  5518. MessageUtil.ShowWarning("请先选择一行合同行,在维护交货行信息!");
  5519. return;
  5520. }
  5521. //if (ultraGrid2.ActiveRow.Cells["FINAL_USER"].Value.ToString() == "")
  5522. //{
  5523. // MessageUtil.ShowWarning("请先选择最终用户,在维护交货行信息!");
  5524. // return;
  5525. //}
  5526. if (e.Button.Key.Equals("normal"))
  5527. {
  5528. int iCount = ultraGrid2.Rows.Count;
  5529. if (iCount >= 1)
  5530. iCount = 0;
  5531. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5532. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5533. frmOrderDelivery delivery = new frmOrderDelivery(ob);
  5534. delivery.ManageNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5535. delivery.OrderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5536. delivery.OrderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  5537. delivery.SaleOrg = UserInfo.SaleOrg;
  5538. delivery.ShRow = ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value.ToString();
  5539. delivery.NumWt = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
  5540. delivery.DlyTime = ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value.ToString();
  5541. delivery.DlyAddress = dlyaddress;
  5542. delivery.LenUnit = "米";
  5543. //根据估算重量公式计算
  5544. //OrderFunction.GetPrdctWgt(ref weight, Convert.ToDouble(NumWt.Value), comboUNIT.Text.Trim(), pesc_code, this.ob);
  5545. delivery.NumTag = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
  5546. //单位
  5547. delivery.OrderUnit = ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Value.ToString();
  5548. //DataSet,也许有记录,也许为空。
  5549. delivery.OrderSet = null;
  5550. //产品规格代码 numTag
  5551. delivery.Spec_code = "";
  5552. //保总长
  5553. delivery.Order_line_lne = 0;
  5554. //合同类型
  5555. delivery.OrdType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
  5556. delivery.GetOrderDelivery += new frmOrderDelivery.GetOrderDeliveryHander(delivery_GetOrderDelivery);
  5557. delivery.ShowDialog();
  5558. doQuery();
  5559. foreach (UltraGridRow row in ultraGrid1.Rows)
  5560. {
  5561. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5562. {
  5563. row.Activate();
  5564. break;
  5565. }
  5566. }
  5567. foreach (UltraGridRow row in ultraGrid2.Rows)
  5568. {
  5569. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  5570. {
  5571. row.Activate();
  5572. break;
  5573. }
  5574. }
  5575. }
  5576. else if (e.Button.Key.Equals("abnormal"))
  5577. {
  5578. int iCount = Convert.ToInt16(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value);
  5579. if (iCount == 1)
  5580. iCount = 0;
  5581. else if (iCount >= 2)
  5582. iCount -= 2;
  5583. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5584. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5585. frmOrderDelivery delivery = new frmOrderDelivery(ob);
  5586. delivery.ManageNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5587. delivery.OrderNo = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5588. delivery.OrderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  5589. delivery.FromForm = "4";
  5590. delivery.SaleOrg = UserInfo.SaleOrg;
  5591. delivery.ShRow = ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["FINAL_USER_DESC"].Value.ToString();
  5592. delivery.NumWt = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
  5593. delivery.DlyTime = ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value == null ? "" : ultraGrid2.Rows[iCount].Cells["DELVRY_EDATE"].Value.ToString();
  5594. delivery.DlyAddress = dlyaddress;
  5595. delivery.LenUnit = "米";
  5596. //根据估算重量公式计算
  5597. //OrderFunction.GetPrdctWgt(ref weight, Convert.ToDouble(NumWt.Value), comboUNIT.Text.Trim(), pesc_code, this.ob);
  5598. delivery.NumTag = ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Value.ToString();
  5599. //单位
  5600. delivery.OrderUnit = ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Value.ToString();
  5601. //DataSet,也许有记录,也许为空。
  5602. delivery.OrderSet = null;
  5603. //产品规格代码 numTag
  5604. delivery.Spec_code = "";
  5605. //保总长
  5606. delivery.Order_line_lne = 0;
  5607. //合同类型
  5608. delivery.OrdType = ultraGrid1.ActiveRow.Cells["ORDER_TYP"].Value.ToString();
  5609. delivery.GetOrderDelivery += new frmOrderDelivery.GetOrderDeliveryHander(delivery_GetOrderDelivery);
  5610. delivery.ShowDialog();
  5611. doQuery();
  5612. foreach (UltraGridRow row in ultraGrid1.Rows)
  5613. {
  5614. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5615. {
  5616. row.Activate();
  5617. break;
  5618. }
  5619. }
  5620. foreach (UltraGridRow row in ultraGrid2.Rows)
  5621. {
  5622. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  5623. {
  5624. row.Activate();
  5625. break;
  5626. }
  5627. }
  5628. }
  5629. }
  5630. void delivery_GetOrderDelivery(DataSet ds)
  5631. {
  5632. DataSet orderDerlivery = new DataSet();
  5633. orderDerlivery = ds;
  5634. txtDlyInfo.Text = null;
  5635. for (int i = 0; i < orderDerlivery.Tables.Count; i++)
  5636. {
  5637. if (orderDerlivery.Tables[i].TableName.Equals("Main"))
  5638. {
  5639. for (int k = 0; k < orderDerlivery.Tables[i].Rows.Count; k++)
  5640. {
  5641. string ordLnDlyPk = orderDerlivery.Tables[i].Rows[k]["ORD_LN_DLY_PK"].ToString();
  5642. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderLine.getOrderDlyTransit", new object[] { ordLnDlyPk }, this.ob);
  5643. string trasLine = "";
  5644. for (int n = 0; n < dt.Rows.Count; n++)
  5645. {
  5646. string agency = dt.Rows[n]["AGENCY_FL"].ToString();
  5647. if (agency == "0" || agency == "2") //买方线路
  5648. {
  5649. if (agency == "0")
  5650. trasLine += " 买方线路:";
  5651. else
  5652. {
  5653. trasLine += " 买方线路(买方代办):";
  5654. }
  5655. if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "")
  5656. trasLine = trasLine + "运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString();
  5657. if (dt.Rows[n]["DESTINATION"].ToString() != "")
  5658. trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString();
  5659. if (dt.Rows[n]["STATION_NO"].ToString() != "")
  5660. trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString();
  5661. if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "")
  5662. trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString();
  5663. if (dt.Rows[n]["PORT_NO"].ToString() != "")
  5664. trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString();
  5665. if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "")
  5666. trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString();
  5667. if (dt.Rows[n]["RECEIVOR"].ToString() != "")
  5668. trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString();
  5669. }
  5670. else
  5671. {
  5672. trasLine += " TPCO代办线路:";
  5673. if (dt.Rows[n]["TRANSIT_TYP"].ToString() != "")
  5674. trasLine = trasLine + " 运输方式:" + dt.Rows[n]["TRANSIT_TYP"].ToString();
  5675. if (dt.Rows[n]["DESTINATION"].ToString() != "")
  5676. trasLine = trasLine + " 目的地:" + dt.Rows[n]["DESTINATION"].ToString();
  5677. if (dt.Rows[n]["STATION_NO"].ToString() != "")
  5678. trasLine = trasLine + " 到站名称:" + dt.Rows[n]["STATION_NM"].ToString();
  5679. if (dt.Rows[n]["SPCL_LN_NO"].ToString() != "")
  5680. trasLine = trasLine + " 专用线名称:" + dt.Rows[n]["SPCL_LN_NM"].ToString();
  5681. if (dt.Rows[n]["PORT_NO"].ToString() != "")
  5682. trasLine = trasLine + " 港口/码头:" + dt.Rows[n]["PORT_DESC"].ToString();
  5683. if (dt.Rows[n]["CARRIER_UNIT"].ToString() != "")
  5684. trasLine = trasLine + " 承运单位:" + dt.Rows[n]["CARRIER_UNIT"].ToString();
  5685. if (dt.Rows[n]["RECEIVOR"].ToString() != "")
  5686. trasLine = trasLine + " 接货人:" + dt.Rows[n]["RECEIVOR"].ToString();
  5687. }
  5688. trasLine = trasLine + ";";
  5689. }
  5690. txtDlyInfo.Text += "交货量:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_QTY"].ToString() + ";交货日期:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_EDATE"].ToString() + ";收货单位:" + orderDerlivery.Tables[i].Rows[k]["RECEIV_NM"].ToString() + ";交货地点:" + orderDerlivery.Tables[i].Rows[k]["DELVRY_ADDR"].ToString() + trasLine + "\r\n";//;运输方案:" + orderDerlivery.Tables[i].Rows[k]["TRANSIT_PLAN"].ToString() + "\r\n";
  5691. }
  5692. }
  5693. }
  5694. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5695. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateOrderLineDesc", new object[] { ordLnPk, txtDlyInfo.Text }, this.ob);
  5696. if (count <= 0)
  5697. {
  5698. MessageUtil.ShowWarning("确认失败,请尝试重新确认!");
  5699. return;
  5700. }
  5701. }
  5702. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  5703. {
  5704. switch (e.Tool.Key)
  5705. {
  5706. case "QueryMat":
  5707. QueryMat();
  5708. break;
  5709. case "Update":
  5710. if (!equalsName())
  5711. {
  5712. break;
  5713. }
  5714. UpdateSpotOrderLine();
  5715. break;
  5716. }
  5717. }
  5718. /// <summary>
  5719. /// 查询现货合同的库存
  5720. /// </summary>
  5721. private void QueryMat()
  5722. {
  5723. UltraGridRow ugr = ultraGrid1.ActiveRow;
  5724. if (ugr == null)
  5725. {
  5726. MessageUtil.ShowWarning("请选择现货合同头");
  5727. return;
  5728. }
  5729. if (ugr.Cells["ORDER_TYP"].Value.ToString() == "120102")
  5730. {
  5731. string ordPk = ugr.Cells["ORD_PK"].Value.ToString();
  5732. string createDept = ugr.Cells["CREATE_DEPT"].Value.ToString();
  5733. string createName = ugr.Cells["CREATE_NAME"].Value.ToString();
  5734. FrmMatInfo fmi = new FrmMatInfo(this.ob);
  5735. fmi.StartPosition = FormStartPosition.CenterScreen;
  5736. fmi.WindowState = FormWindowState.Maximized;
  5737. fmi.OrdPk = ordPk;
  5738. fmi.Saleorg = ctrlOrderHead1.Saleorg;
  5739. fmi.OrderNo = ugr.Cells["ORDER_NO"].Value.ToString();
  5740. fmi.SuppUnit = ugr.Cells["SUPPLY_UNIT"].Value.ToString();
  5741. fmi.CreateDept = createDept;
  5742. fmi.CreateName = createName;
  5743. fmi.ShowDialog();
  5744. if (fmi.CloseEvent.Equals("Add"))
  5745. {
  5746. this.doQuery();
  5747. foreach (UltraGridRow row in ultraGrid1.Rows)
  5748. {
  5749. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5750. {
  5751. row.Activate();
  5752. break;
  5753. }
  5754. }
  5755. }
  5756. }
  5757. }
  5758. /// <summary>
  5759. /// 修改现货合同
  5760. /// </summary>
  5761. private void UpdateSpotOrderLine()
  5762. {
  5763. ultraGrid2.UpdateData();
  5764. UltraGridRow ugr1 = ultraGrid1.ActiveRow;
  5765. if (ugr1 == null)
  5766. {
  5767. return;
  5768. }
  5769. UltraGridRow ugr = ultraGrid2.ActiveRow;
  5770. if (ugr == null)
  5771. {
  5772. MessageUtil.ShowWarning("请选择一行现货合同行进行修改!");
  5773. return;
  5774. }
  5775. /* if (txtQty.Text.Trim() == "")
  5776. {
  5777. MessageUtil.ShowWarning("请输入选择量!");
  5778. return;
  5779. }
  5780. else
  5781. {
  5782. if (!StringUtil.Is_Below_zero(txtQty.Text.Trim()))
  5783. {
  5784. MessageUtil.ShowWarning("选择量请输入非负的数字!");
  5785. return;
  5786. }
  5787. }*/
  5788. if (numMin.Text.Trim() == "")
  5789. {
  5790. MessageUtil.ShowWarning("请输入交货量差下限!");
  5791. return;
  5792. }
  5793. if (numMax.Text.Trim() == "")
  5794. {
  5795. MessageUtil.ShowWarning("请输入交货量差上限!");
  5796. return;
  5797. }
  5798. if (cmbDlyTpe.SelectedItem == null)
  5799. {
  5800. MessageUtil.ShowWarning("请选择交货量差方式!");
  5801. return;
  5802. }
  5803. //if (txtFinaUser.Text.Trim() == "" || txtFinaUser.Text.Trim() == "N/A")
  5804. //{
  5805. // MessageUtil.ShowWarning("请选择最终用户!");
  5806. // return;
  5807. //}
  5808. string ordPk = ugr1.Cells["ORD_PK"].Value.ToString();
  5809. string ordLnPk = ugr.Cells["ORD_LN_PK"].Value.ToString();
  5810. ArrayList parm = new ArrayList();
  5811. ArrayList list = new ArrayList();
  5812. parm.Add(numMin.Text.Trim());
  5813. parm.Add(numMax.Text.Trim());
  5814. parm.Add(cmbDlyTpe.Text);
  5815. parm.Add(txtFinaUser.Tag);
  5816. parm.Add(txtFinaUser.Text);
  5817. parm.Add(cmbOutboundCalculate.Value.ToString());
  5818. //parm.Add(txtQty.Text.Trim());
  5819. //parm.Add(txtQty.Text.Trim());
  5820. parm.Add(ordLnPk);
  5821. list.Add(txtFinaUser.Tag);
  5822. list.Add(txtFinaUser.Text);
  5823. list.Add(ordPk);
  5824. if (MessageUtil.ShowYesNoAndQuestion("是否修改选择的现货合同行?") == DialogResult.No) return;
  5825. int count = ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateSpotOrderLine", new object[] { parm }, this.ob);
  5826. if (count > 0)
  5827. {
  5828. //这一行修改成功以后 将该合同下所有最终用户为空的修改为当前的最终用户
  5829. ServerHelper.SetData("com.steering.pss.sale.order.CoreMatInfo.updateSpotLineFinaUser", new object[] { list }, this.ob);
  5830. MessageUtil.ShowTips("现货合同行修改成功!");
  5831. doQuery();
  5832. foreach (UltraGridRow row in ultraGrid1.Rows)
  5833. {
  5834. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5835. {
  5836. row.Activate();
  5837. break;
  5838. }
  5839. }
  5840. foreach (UltraGridRow row in ultraGrid2.Rows)
  5841. {
  5842. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  5843. {
  5844. row.Activate();
  5845. break;
  5846. }
  5847. }
  5848. }
  5849. }
  5850. //----------------------------------------------------采购期货(加工/不加工)处理逻辑--------------------------------------------------
  5851. /// <summary>
  5852. /// 采购期货(不加工)新增合同行
  5853. /// </summary>
  5854. private void DoAddPurchaseLine()
  5855. {
  5856. if (ultraGrid1.ActiveRow == null)
  5857. {
  5858. MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
  5859. return;
  5860. }
  5861. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5862. SlmOrderLineNewEntity sol = ctrlLinePurchase1.GetControlValue();
  5863. sol.OrdPk = ordPk;
  5864. sol.PrdctWgt = OrderFunction.GetPrdctWgtNew(Convert.ToDecimal(sol.OrderQty), sol.OrderUnit, sol.SpecCode, ob);
  5865. sol.CreateName = UserInfo.GetUserName();
  5866. sol.OrderLnStatus = "12020101";
  5867. if (MessageUtil.ShowYesNoAndQuestion("是否确认新增合同行?") == DialogResult.No) return;
  5868. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  5869. dept = dept + "-" + UserInfo.GetDepartment();
  5870. CoreClientParam ccp = new CoreClientParam();
  5871. ccp.IfShowErrMsg = false;
  5872. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  5873. ccp.MethodName = "addPurchaseLine";
  5874. ccp.ServerParams = new object[] { JSONFormat.Format(sol), dept, _saleOrg };
  5875. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  5876. if (ccp != null)
  5877. {
  5878. if (ccp.ReturnCode == -1)
  5879. {
  5880. MessageUtil.ShowWarning(ccp.ReturnInfo);
  5881. return;
  5882. }
  5883. MessageUtil.ShowTips("合同行新增成功!");
  5884. doQuery();
  5885. foreach (UltraGridRow row in ultraGrid1.Rows)
  5886. {
  5887. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5888. {
  5889. row.Activate();
  5890. break;
  5891. }
  5892. }
  5893. }
  5894. }
  5895. /// <summary>
  5896. /// 采购期货(不加工)修改合同行
  5897. /// </summary>
  5898. private void DoUpdatePurchaseLine()
  5899. {
  5900. if (ultraGrid1.ActiveRow == null)
  5901. {
  5902. MessageUtil.ShowTips("请选择合同头,然后进行修改操作!");
  5903. return;
  5904. }
  5905. if (ultraGrid2.ActiveRow == null)
  5906. {
  5907. MessageUtil.ShowTips("请选择您要修改的合同行!");
  5908. return;
  5909. }
  5910. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  5911. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  5912. SlmOrderLineNewEntity sol = ctrlLinePurchase1.GetControlValue();
  5913. sol.OrdPk = ordPk;
  5914. sol.OrdLnPk = ordLnPk;
  5915. sol.PrdctWgt = OrderFunction.GetPrdctWgtNew(Convert.ToDecimal(sol.OrderQty), sol.OrderUnit, sol.SpecCode, ob);
  5916. sol.UpdateName = UserInfo.GetUserName();
  5917. sol.OrderLnStatus = "12020101";
  5918. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改选择的合同行?") == DialogResult.No) return;
  5919. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  5920. dept = dept + "-" + UserInfo.GetDepartment();
  5921. CoreClientParam ccp = new CoreClientParam();
  5922. ccp.IfShowErrMsg = false;
  5923. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  5924. ccp.MethodName = "updatePurchaseLine";
  5925. ccp.ServerParams = new object[] { JSONFormat.Format(sol), dept, _saleOrg };
  5926. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  5927. if (ccp != null)
  5928. {
  5929. if (ccp.ReturnCode == -1)
  5930. {
  5931. MessageUtil.ShowWarning(ccp.ReturnInfo);
  5932. return;
  5933. }
  5934. MessageUtil.ShowTips("合同行修改成功!");
  5935. doQuery();
  5936. foreach (UltraGridRow row in ultraGrid1.Rows)
  5937. {
  5938. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5939. {
  5940. row.Activate();
  5941. break;
  5942. }
  5943. }
  5944. foreach (UltraGridRow row in ultraGrid2.Rows)
  5945. {
  5946. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  5947. {
  5948. row.Activate();
  5949. break;
  5950. }
  5951. }
  5952. }
  5953. }
  5954. /// <summary>
  5955. /// 刷新界面
  5956. /// </summary>
  5957. private void ctrlLinePurchase1_OnMyRefresh()
  5958. {
  5959. UltraGridRow uRow = ultraGrid2.ActiveRow;
  5960. string ordPk = "";
  5961. string ordLnPk = "";
  5962. if (uRow != null)
  5963. {
  5964. ordPk = uRow.Cells["ORD_PK"].Value.ToString();
  5965. ordLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
  5966. }
  5967. this.doQuery();
  5968. if (uRow != null)
  5969. {
  5970. foreach (UltraGridRow row in ultraGrid1.Rows)
  5971. {
  5972. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  5973. {
  5974. row.Activate();
  5975. break;
  5976. }
  5977. }
  5978. foreach (UltraGridRow row in ultraGrid2.Rows)
  5979. {
  5980. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  5981. {
  5982. row.Activate();
  5983. break;
  5984. }
  5985. }
  5986. }
  5987. }
  5988. /// <summary>
  5989. /// 根据激活的合同行等到合同行对象
  5990. /// </summary>
  5991. /// <param name="uRow"></param>
  5992. /// <returns></returns>
  5993. private SlmOrderLineNewEntity GetOrderLineNewEntity(UltraGridRow uRow)
  5994. {
  5995. SlmOrderLineNewEntity sol = new SlmOrderLineNewEntity();
  5996. sol.OrdPk = uRow.Cells["ORD_PK"].Value.ToString();
  5997. sol.OrdLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
  5998. sol.Produccode = uRow.Cells["PRODUCCODE"].Value.ToString();
  5999. sol.Producname = uRow.Cells["PRODUCNAME"].Value.ToString();
  6000. sol.StdCode = uRow.Cells["STD_CODE"].Value.ToString();
  6001. sol.StdName = uRow.Cells["STD_NAME"].Value.ToString();
  6002. sol.StdStyle = uRow.Cells["STD_STYLE"].Value.ToString();
  6003. sol.StdStyleDesc = uRow.Cells["STD_STYLE_DESC"].Value.ToString();
  6004. sol.Steelcode = uRow.Cells["STEELCODE"].Value.ToString();
  6005. sol.Steelname = uRow.Cells["STEELNAME"].Value.ToString();
  6006. sol.ModelCode = uRow.Cells["MODEL_CODE"].Value.ToString();
  6007. sol.ModelDesc = uRow.Cells["MODEL_DESC"].Value.ToString();
  6008. sol.SpecCode = uRow.Cells["SPEC_CODE"].Value.ToString();
  6009. sol.SpecName = uRow.Cells["SPEC_NAME"].Value.ToString();
  6010. //---------------------------长度信息----------------------------------------
  6011. sol.LenNo = uRow.Cells["LEN_NO"].Value.ToString();
  6012. sol.LenDesc = uRow.Cells["LEN_DESC"].Value.ToString();
  6013. sol.LenUnit = uRow.Cells["LEN_UNIT"].Value.ToString();
  6014. sol.LenMin = Convert.ToDecimal(uRow.Cells["LEN_MIN"].Value);
  6015. sol.LenMax = Convert.ToDecimal(uRow.Cells["LEN_MAX"].Value);
  6016. if (uRow.Cells["SHRT_LEN_RATO"].Value.ToString() != "")
  6017. {
  6018. sol.ShrtLenRato = Convert.ToDecimal(uRow.Cells["SHRT_LEN_RATO"].Value.ToString());
  6019. }
  6020. else
  6021. {
  6022. sol.ShrtLenRato = null;
  6023. }
  6024. if (uRow.Cells["SHORTEST"].Value.ToString() != "")
  6025. {
  6026. sol.Shortest = Convert.ToDecimal(uRow.Cells["SHORTEST"].Value.ToString());
  6027. }
  6028. else
  6029. {
  6030. sol.Shortest = null;
  6031. }
  6032. if (uRow.Cells["LONG_LEN_RATO"].Value.ToString() != "")
  6033. {
  6034. sol.LongLenRato = Convert.ToDecimal(uRow.Cells["LONG_LEN_RATO"].Value.ToString());
  6035. }
  6036. else
  6037. {
  6038. sol.LongLenRato = null;
  6039. }
  6040. if (uRow.Cells["LONGEST"].Value.ToString() != "")
  6041. {
  6042. sol.Longest = Convert.ToDecimal(uRow.Cells["LONGEST"].Value.ToString());
  6043. }
  6044. else
  6045. {
  6046. sol.Longest = null;
  6047. }
  6048. sol.ShrtStove = uRow.Cells["SHRT_STOVE"].Value.ToString();
  6049. if (uRow.Cells["AVG_LEN_MIN"].Value.ToString() != "")
  6050. {
  6051. sol.AvgLenMin = Convert.ToDecimal(uRow.Cells["AVG_LEN_MIN"].Value.ToString());
  6052. }
  6053. else
  6054. {
  6055. sol.AvgLenMin = null;
  6056. }
  6057. if (uRow.Cells["DIFRNC_LEN_MAX"].Value.ToString() != "")
  6058. {
  6059. sol.DifrncLenMax = Convert.ToDecimal(uRow.Cells["DIFRNC_LEN_MAX"].Value.ToString());
  6060. }
  6061. else
  6062. {
  6063. sol.DifrncLenMax = null;
  6064. }
  6065. if (uRow.Cells["ENDLEN_SPECSTD"].Value.ToString() != "")
  6066. {
  6067. sol.EndlenSpecstd = Convert.ToDecimal(uRow.Cells["ENDLEN_SPECSTD"].Value.ToString());
  6068. }
  6069. else
  6070. {
  6071. sol.EndlenSpecstd = null;
  6072. }
  6073. if (uRow.Cells["SIGL_LEN"].Value.ToString() != "")
  6074. {
  6075. sol.SiglLen = Convert.ToDecimal(uRow.Cells["SIGL_LEN"].Value.ToString());
  6076. }
  6077. else
  6078. {
  6079. sol.SiglLen = null;
  6080. }
  6081. //---------------------------长度信息-----------------------------------------
  6082. sol.OrderQty = Convert.ToDecimal(uRow.Cells["ORDER_QTY"].Value);
  6083. sol.OrderUnit = uRow.Cells["ORDER_UNIT"].Value.ToString();
  6084. sol.DelvryRangeTpe = uRow.Cells["DELVRY_RANGE_TPE"].Value.ToString();
  6085. sol.DelvryRangeMin = Convert.ToDecimal(uRow.Cells["DELVRY_RANGE_MIN"].Value);
  6086. sol.DelvryRangeMax = Convert.ToDecimal(uRow.Cells["DELVRY_RANGE_MAX"].Value);
  6087. sol.FinalUser = uRow.Cells["FINAL_USER"].Value.ToString();
  6088. sol.FinalUserDesc = uRow.Cells["FINAL_USER_DESC"].Value.ToString();
  6089. sol.DelvryDesc = uRow.Cells["DELVRY_DESC"].Value.ToString();
  6090. sol.OrderSeq = uRow.Cells["ORDER_SEQ"].Value.ToString();
  6091. return sol;
  6092. }
  6093. private void ultraTabControl3_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e)
  6094. {
  6095. if (e.Tab == null)
  6096. return;
  6097. if (e.Tab.Key.Equals("purLine")) // 采购清单
  6098. {
  6099. if (purchaseNoFlag1 == false)
  6100. {
  6101. ctrlLinePurchase2.Init(this.ob, _saleOrg);
  6102. ctrlLinePurchase2.LabDlyInfo.Text = "加工备注";
  6103. ctrlLinePurchase2.TxtDlyInfo.ButtonsRight[0].Visible = false;
  6104. ctrlLinePurchase2.TxtDlyInfo.ButtonsRight[1].Visible = true;
  6105. ctrlLinePurchase2.TxtDlyInfo.ReadOnly = false;
  6106. ctrlOrderLine2.loadFun(this.ob, _saleOrg);
  6107. purchaseNoFlag1 = true;
  6108. }
  6109. }
  6110. }
  6111. /// <summary>
  6112. /// 采购期货加工 新增合同行和采购清单
  6113. /// </summary>
  6114. private void DoAddOrdPurLine()
  6115. {
  6116. if (ultraGrid1.ActiveRow == null)
  6117. {
  6118. MessageUtil.ShowTips("请选择合同头,然后进行新增操作!");
  6119. return;
  6120. }
  6121. //合同行新增
  6122. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  6123. SlmOrderLineNewEntity sol = ctrlLinePurchase2.GetControlValue();
  6124. if (sol == null)
  6125. {
  6126. return;
  6127. }
  6128. sol.OrdPk = ordPk;
  6129. DataSet ds = ctrlOrderLine2.CtrlLineValue;
  6130. if (ds == null)
  6131. {
  6132. return;
  6133. }
  6134. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  6135. //判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
  6136. string psc = slmOrderLine.Rows[0]["PSC"].ToString();
  6137. string orderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
  6138. string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
  6139. string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
  6140. string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  6141. string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  6142. string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  6143. if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
  6144. {
  6145. MessageUtil.ShowWarning("合同订货量须大于0");
  6146. return;
  6147. }
  6148. string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
  6149. if (msg != "")
  6150. {
  6151. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
  6152. return;
  6153. }
  6154. string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, "");
  6155. if (errMsg != "")
  6156. {
  6157. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
  6158. return;
  6159. }
  6160. if (!isRepeatOrderLines(ordPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
  6161. {
  6162. MessageBox.Show("合同行订货产品,订货规格,扣型,长度,最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6163. return;
  6164. }
  6165. string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  6166. SlmOrderLineEntityCh soe = GetOrderLineEntityCh(slmOrderLine);
  6167. soe.OrdPk = ordPk;
  6168. soe.CustAlphaNo = custAlphaNo;
  6169. soe.Psc = psc;
  6170. soe.ModelCode = modelCode;
  6171. soe.LenNo = lenNo;
  6172. //采购清单采用的字段和合同行一样
  6173. if (MessageUtil.ShowYesNoAndQuestion("是否新增自产+外加工合同行?") == DialogResult.No) return;
  6174. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  6175. dept = dept + "-" + UserInfo.GetDepartment();
  6176. CoreClientParam ccp = new CoreClientParam();
  6177. ccp.IfShowErrMsg = false;
  6178. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  6179. ccp.MethodName = "addOrdPurLine";
  6180. ccp.ServerParams = new object[] { JSONFormat.Format(soe), JSONFormat.Format(sol), dept, _saleOrg };
  6181. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  6182. if (ccp != null)
  6183. {
  6184. if (ccp.ReturnCode == -1)
  6185. {
  6186. MessageUtil.ShowWarning(ccp.ReturnInfo);
  6187. return;
  6188. }
  6189. MessageUtil.ShowTips("合同行新增成功!");
  6190. doQuery();
  6191. foreach (UltraGridRow row in ultraGrid1.Rows)
  6192. {
  6193. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  6194. {
  6195. row.Activate();
  6196. break;
  6197. }
  6198. }
  6199. }
  6200. }
  6201. /// <summary>
  6202. /// 根据CrtlOrderLine控件获取合同行对象
  6203. /// </summary>
  6204. /// <param name="slmOrderLine">CrtlOrderLine控件返回的DataTable</param>
  6205. /// <returns></returns>
  6206. private SlmOrderLineEntityCh GetOrderLineEntityCh(DataTable slmOrderLine)
  6207. {
  6208. SlmOrderLineEntityCh soe = new SlmOrderLineEntityCh();
  6209. soe.PscDesc = slmOrderLine.Rows[0]["PSC_DESC"].ToString();
  6210. soe.PrdCls = slmOrderLine.Rows[0]["PRD_CLS"].ToString();
  6211. soe.Produccode = slmOrderLine.Rows[0]["PRODUCCODE"].ToString();
  6212. soe.Producname = slmOrderLine.Rows[0]["PRODUCNAME"].ToString();
  6213. soe.StdCode = slmOrderLine.Rows[0]["STD_CODE"].ToString();
  6214. soe.StdName = slmOrderLine.Rows[0]["STD_NAME"].ToString();
  6215. soe.Steelcode = slmOrderLine.Rows[0]["STEELCODE"].ToString();
  6216. soe.Steelname = slmOrderLine.Rows[0]["STEELNAME"].ToString();
  6217. soe.OrderSpecCode = slmOrderLine.Rows[0]["ORDER_SPEC_CODE"].ToString();
  6218. soe.OrderSpecDesc = slmOrderLine.Rows[0]["ORDER_SPEC_DESC"].ToString();
  6219. soe.SpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  6220. soe.SpecName = slmOrderLine.Rows[0]["SPEC_NAME"].ToString();
  6221. soe.Dimater = slmOrderLine.Rows[0]["DIMATER"].ToString();
  6222. soe.Height = slmOrderLine.Rows[0]["HEIGHT"].ToString();
  6223. soe.ModelDesc = slmOrderLine.Rows[0]["MODEL_DESC"].ToString();
  6224. soe.LenDesc = slmOrderLine.Rows[0]["LEN_DESC"].ToString();
  6225. soe.LenUnit = slmOrderLine.Rows[0]["LEN_UNIT"].ToString();
  6226. soe.LenMin = slmOrderLine.Rows[0]["LEN_MIN"].ToString();
  6227. soe.LenMax = slmOrderLine.Rows[0]["LEN_MAX"].ToString();
  6228. soe.ShrtLenRato = slmOrderLine.Rows[0]["SHRT_LEN_RATO"].ToString();
  6229. soe.Shortest = slmOrderLine.Rows[0]["SHORTEST"].ToString();
  6230. soe.LongLenRato = slmOrderLine.Rows[0]["LONG_LEN_RATO"].ToString();
  6231. soe.Longest = slmOrderLine.Rows[0]["LONGEST"].ToString();
  6232. soe.ShrtStove = slmOrderLine.Rows[0]["SHRT_STOVE"].ToString();
  6233. soe.AvgLenMin = slmOrderLine.Rows[0]["AVG_LEN_MIN"].ToString();
  6234. soe.DifrncLenMax = slmOrderLine.Rows[0]["DIFRNC_LEN_MAX"].ToString();
  6235. soe.SiglLen = slmOrderLine.Rows[0]["SIGL_LEN"].ToString();
  6236. soe.OrderUnit = slmOrderLine.Rows[0]["ORDER_UNIT"].ToString();
  6237. soe.OrderQty = slmOrderLine.Rows[0]["ORDER_QTY"].ToString();
  6238. soe.OrdEnsuTotlLen = slmOrderLine.Rows[0]["ORD_ENSU_TOTL_LEN"].ToString();
  6239. soe.PrdctWgt = slmOrderLine.Rows[0]["PRDCT_WGT"].ToString();
  6240. soe.DelvryRangeTpe = slmOrderLine.Rows[0]["DELVRY_RANGE_TPE"].ToString();
  6241. soe.DelvryRangeMin = slmOrderLine.Rows[0]["DELVRY_RANGE_MIN"].ToString();
  6242. soe.DelvryRangeMax = slmOrderLine.Rows[0]["DELVRY_RANGE_MAX"].ToString();
  6243. soe.FinalUser = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  6244. soe.FinalUserDesc = slmOrderLine.Rows[0]["FINAL_USER_DESC"].ToString();
  6245. soe.OutsBilletFl = slmOrderLine.Rows[0]["OUTS_BILLET_FL"].ToString();
  6246. soe.OutsStlPipeFl = slmOrderLine.Rows[0]["OUTS_STL_PIPE_FL"].ToString();
  6247. soe.AsselFl = slmOrderLine.Rows[0]["ASSEL_FL"].ToString();
  6248. soe.DelvryBdate = "";
  6249. soe.DelvryEdate = "";
  6250. soe.DelvryDesc = "N/A";
  6251. soe.TransDesc = "N/A";
  6252. soe.AddAskNo = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  6253. soe.OrderSpecialDesc = slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  6254. soe.OrderAddDesc = slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString();
  6255. soe.OrderPrice = slmOrderLine.Rows[0]["ORDER_PRICE"].ToString().Trim();
  6256. soe.TransPrice = slmOrderLine.Rows[0]["TRANS_PRICE"].ToString();
  6257. soe.TestId = "1";
  6258. soe.TestPrice = slmOrderLine.Rows[0]["TEST_PRICE"].ToString();
  6259. soe.OutPrice = slmOrderLine.Rows[0]["OUT_PRICE"].ToString();
  6260. soe.BalncePrice = slmOrderLine.Rows[0]["BALNCE_PRICE"].ToString();
  6261. soe.OrderLnStatus = "12020101";
  6262. soe.Memo = slmOrderLine.Rows[0]["MEMO"].ToString();
  6263. soe.CreateName = UserInfo.GetUserName();
  6264. soe.Msc = slmOrderLine.Rows[0]["MSC"].ToString();
  6265. soe.MscDesc = slmOrderLine.Rows[0]["MSC_DESC"].ToString();
  6266. soe.ProducerFl = slmOrderLine.Rows[0]["PRODUCER_FL"].ToString();
  6267. soe.MpsFl = slmOrderLine.Rows[0]["MPS_FL"].ToString();
  6268. soe.StdStyle = slmOrderLine.Rows[0]["STD_STYLE"].ToString();
  6269. soe.StdStyleDesc = slmOrderLine.Rows[0]["STD_STYLE_DESC"].ToString();
  6270. soe.MscStyle = slmOrderLine.Rows[0]["MSC_STYLE"].ToString();
  6271. soe.UseCode = slmOrderLine.Rows[0]["USE_CODE"].ToString();
  6272. soe.UseDesc = slmOrderLine.Rows[0]["USE_DESC"].ToString();
  6273. soe.EndlenSpecstd = slmOrderLine.Rows[0]["ENDLEN_SPECSTD"].ToString();
  6274. soe.Aw = slmOrderLine.Rows[0]["AW"].ToString();
  6275. soe.ManInspection = slmOrderLine.Rows[0]["MAN_INSPECTION"].ToString();
  6276. soe.QualityUser = slmOrderLine.Rows[0]["QUALITY_USER"].ToString();
  6277. soe.QualityUserDesc = slmOrderLine.Rows[0]["QUALITY_USER_DESC"].ToString();
  6278. soe.OutputStdNo = slmOrderLine.Rows[0]["OUTPUT_STD_NO"].ToString();
  6279. soe.ProjectNo = slmOrderLine.Rows[0]["PROJECT_NO"].ToString();
  6280. return soe;
  6281. }
  6282. private void DoUpdateOrdPurchaseLine()
  6283. {
  6284. if (ultraGrid1.ActiveRow == null)
  6285. {
  6286. MessageUtil.ShowTips("请选择合同头,然后进行修改操作!");
  6287. return;
  6288. }
  6289. if (ultraGrid2.ActiveRow == null)
  6290. {
  6291. MessageUtil.ShowTips("请选择您要修改的合同行!");
  6292. return;
  6293. }
  6294. string ordPk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  6295. string ordLnPk = ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString();
  6296. SlmOrderLineNewEntity sol = ctrlLinePurchase2.GetControlValue();
  6297. if (sol == null)
  6298. {
  6299. return;
  6300. }
  6301. sol.OrdPk = ordPk;
  6302. sol.OrdLnPk = ordLnPk;
  6303. sol.UpdateName = UserInfo.GetUserName();
  6304. sol.OrderLnStatus = "12020101";
  6305. bool booltrfa = ctrlOrderLine2.deliveryWTQty();
  6306. if (!booltrfa)
  6307. {
  6308. return;
  6309. }
  6310. DataSet ds = ctrlOrderLine2.CtrlLineValue;
  6311. if (ds == null)
  6312. {
  6313. return;
  6314. }
  6315. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  6316. if (slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals("0") || slmOrderLine.Rows[0]["ORDER_QTY"].ToString().Equals(""))
  6317. {
  6318. MessageUtil.ShowWarning("合同订货量须大于0");
  6319. return;
  6320. }
  6321. string errMsg = OrderFunction.IsSameAddAsk(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString(), slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString(), this.ob, ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
  6322. if (errMsg != "")
  6323. {
  6324. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + errMsg);
  6325. return;
  6326. }
  6327. string msg = OrderFunction.IsValidSpecialCode(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString(), ob);
  6328. if (msg != "")
  6329. {
  6330. MessageUtil.ShowWarning(ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "行:" + msg);
  6331. return;
  6332. }
  6333. string runtre = orderLineRowUp(ultraGrid2.ActiveRow, slmOrderLine);
  6334. string yesNoName = MessageBox.Show("是否确认修改该合同,合同号: " + ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString() + " ,合同行号:" + ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString() + "。" + "\r\n" + runtre, "合同行修改",
  6335. MessageBoxButtons.YesNo,
  6336. MessageBoxIcon.Question, MessageBoxDefaultButton.Button2).ToString();
  6337. if (yesNoName.Equals("No"))
  6338. {
  6339. return;
  6340. }
  6341. //判断订货产品,订货规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,要求是否已存在。
  6342. string psc = slmOrderLine.Rows[0]["PSC"].ToString();
  6343. string orderSpecCode = slmOrderLine.Rows[0]["SPEC_CODE"].ToString();
  6344. string modelCode = slmOrderLine.Rows[0]["MODEL_CODE"].ToString();
  6345. string lenNo = slmOrderLine.Rows[0]["LEN_NO"].ToString();
  6346. string pscJ = ultraGrid2.ActiveRow.Cells["PSC"].Value.ToString();
  6347. string orderSpecCodeJ = ultraGrid2.ActiveRow.Cells["ORDER_SPEC_CODE"].Value.ToString();
  6348. string modelCodeJ = ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Value.ToString();
  6349. string lenNoJ = ultraGrid2.ActiveRow.Cells["LEN_NO"].Value.ToString();
  6350. string managNo = ultraGrid1.ActiveRow.Cells["MANAG_NO"].Value.ToString();
  6351. string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  6352. string ordpk = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  6353. string order_ln_status = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Value.ToString();
  6354. string userName = slmOrderLine.Rows[0]["FINAL_USER"].ToString();
  6355. string userAsk = slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString();
  6356. string orderspecial = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  6357. if (!isRepeatOrderLine(ordpk, ordLnPk, psc, slmOrderLine.Rows[0]["SPEC_CODE"].ToString(), modelCode, lenNo, userName, userAsk, orderspecial))
  6358. {
  6359. MessageBox.Show("合同行订货产品,产品规格,扣型,长度 最终用户,合同附加要求,技术特殊要求,已存在相同记录,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6360. return;
  6361. }
  6362. bool isAlter = false; //技术项是否修改,包括附加要求和产品特殊要求。
  6363. if (orderpsc == psc && spec == orderSpecCode && model == modelCode && len == lenNo
  6364. && user == userName && mps == slmOrderLine.Rows[0]["PRODUCER_FL"].ToString() &&
  6365. userAsk == addtional && orderspecial == special)
  6366. {
  6367. //都没有修改
  6368. isAlter = false;
  6369. }
  6370. else
  6371. {
  6372. isAlter = true;
  6373. }
  6374. bool isClear = false;
  6375. string oldSpecialDesc = ultraGrid2.ActiveRow.Cells["ORDER_SPECIAL_DESC"].Value.ToString();
  6376. string ctrlSpecialDesc = ctrlOrderLine2.CtrlLineValue.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_SPECIAL_DESC"].ToString();
  6377. if (oldSpecialDesc != ctrlSpecialDesc)
  6378. {
  6379. isClear = true;
  6380. }
  6381. string reviewMemo = "";
  6382. DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new object[] { ordLnPk }, this.ob);
  6383. if (dt != null && dt.Rows.Count > 0)
  6384. {
  6385. string lnStatus = dt.Rows[0]["ORDER_LN_STATUS"].ToString();
  6386. if (lnStatus == "12020203") //技术评审失败
  6387. {
  6388. dlgReviewMemo dlg = new dlgReviewMemo();
  6389. dlg.ReviewFlag = 2;
  6390. dlg.ReviewSatus = "修改内容或重新提报原因";
  6391. dlg.ShowDialog();
  6392. if (dlg.DialogResult != DialogResult.OK)
  6393. return;
  6394. reviewMemo = dlg.ReviewMemo;
  6395. }
  6396. }
  6397. string custAlphaNo = slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString();
  6398. SlmOrderLineEntityCh soe = GetOrderLineEntityCh(slmOrderLine);
  6399. soe.OrdPk = ordPk;
  6400. soe.OrdLnPk = ordLnPk;
  6401. soe.CustAlphaNo = custAlphaNo;
  6402. soe.Psc = psc;
  6403. soe.ModelCode = modelCode;
  6404. soe.LenNo = lenNo;
  6405. if (MessageUtil.ShowYesNoAndQuestion("是否确认修改选择的合同行?") == DialogResult.No) return;
  6406. string dept = ClsBaseInfo.GetDepartBySectionIdChangeSale(UserInfo.GetDeptid(), this.ob);
  6407. dept = dept + "-" + UserInfo.GetDepartment();
  6408. CoreClientParam ccp = new CoreClientParam();
  6409. ccp.IfShowErrMsg = false;
  6410. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderInfoUpdate";
  6411. ccp.MethodName = "updateOrdPurchaseLine";
  6412. ccp.ServerParams = new object[] { JSONFormat.Format(soe), JSONFormat.Format(sol), dept, _saleOrg, isAlter, reviewMemo, isClear };
  6413. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  6414. if (ccp != null)
  6415. {
  6416. if (ccp.ReturnCode == -1)
  6417. {
  6418. MessageUtil.ShowWarning(ccp.ReturnInfo);
  6419. return;
  6420. }
  6421. MessageUtil.ShowTips("自产+外加工合同行修改成功!");
  6422. doQuery();
  6423. foreach (UltraGridRow row in ultraGrid1.Rows)
  6424. {
  6425. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  6426. {
  6427. row.Activate();
  6428. break;
  6429. }
  6430. }
  6431. foreach (UltraGridRow row in ultraGrid2.Rows)
  6432. {
  6433. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  6434. {
  6435. row.Activate();
  6436. break;
  6437. }
  6438. }
  6439. }
  6440. }
  6441. private bool ctrlOrderLine2_CommitOrderLineRow(DataSet orderLine, string CommandType)
  6442. {
  6443. try
  6444. {
  6445. if (orderLine == null)
  6446. {
  6447. if (this.ultraGrid2.Rows.Count == 0)
  6448. {
  6449. MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6450. return false;
  6451. }
  6452. return true;
  6453. }
  6454. else
  6455. {
  6456. if (this.ultraGrid2.Rows.Count == 0)
  6457. {
  6458. MessageBox.Show("请先新增一条合同行,然后继续操作《交货发运要求》!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6459. return false;
  6460. }
  6461. if (ultraGrid2.ActiveRow == null)
  6462. {
  6463. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6464. ultraTabControl1.Tabs[0].Selected = true;
  6465. return false;
  6466. }
  6467. //用传入的合同行(控件)与合同行Grid的选择行的值进行比较,是否有差异,如果有则返回false,给出提示。
  6468. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC"].Equals(ultraGrid2.ActiveRow.Cells["PSC"].Text))
  6469. {
  6470. MessageBox.Show("数据检测合同行订货产品已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["PSC_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["PSC_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6471. return false;
  6472. }
  6473. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_CODE"].Equals(ultraGrid2.ActiveRow.Cells["SPEC_CODE"].Text))
  6474. {
  6475. MessageBox.Show("数据检测合同行产品规格已变更,请先修改。" + ultraGrid2.ActiveRow.Cells["SPEC_NAME"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["SPEC_NAME"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6476. return false;
  6477. }
  6478. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_CODE"].Equals(ultraGrid2.ActiveRow.Cells["MODEL_CODE"].Text))
  6479. {
  6480. MessageBox.Show("数据检测合同行扣型已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["MODEL_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["MODEL_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6481. return false;
  6482. }
  6483. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_NO"].Equals(ultraGrid2.ActiveRow.Cells["LEN_NO"].Text))
  6484. {
  6485. MessageBox.Show("数据检测合同行长度已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["LEN_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["LEN_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6486. return false;
  6487. }
  6488. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text))
  6489. {
  6490. MessageBox.Show("数据检测合同行订货量已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_QTY"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_QTY"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6491. return false;
  6492. }
  6493. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_UNIT"].Equals(ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text))
  6494. {
  6495. MessageBox.Show("数据检测合同行订货单位已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_UNIT"].Text + " 改 " + orderLine.Tables["ORDER_UNIT"].Rows[0]["PSC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6496. return false;
  6497. }
  6498. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text))
  6499. {
  6500. MessageBox.Show("数据检测合同行交货量差上限已变更,请先修改。提示" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MAX"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MAX"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6501. return false;
  6502. }
  6503. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"] != System.DBNull.Value && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text))
  6504. {
  6505. MessageBox.Show("数据检测合同行交货量差下限已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_MIN"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_MIN"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6506. return false;
  6507. }
  6508. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].Equals(ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text))
  6509. {
  6510. MessageBox.Show("数据检测合同行交货量差方式已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["DELVRY_RANGE_TPE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["DELVRY_RANGE_TPE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6511. return false;
  6512. }
  6513. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"] != System.DBNull.Value && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString() != "" && orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString2() != "" && Convert.ToDouble(orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString()) != Convert.ToDouble(ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text))
  6514. {
  6515. MessageBox.Show("数据检测合同行单价已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["ORDER_PRICE"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["ORDER_PRICE"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6516. return false;
  6517. }
  6518. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER"].Equals(ultraGrid2.ActiveRow.Cells["FINAL_USER"].Text))
  6519. {
  6520. MessageBox.Show("数据检测最终用户已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["FINAL_USER_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["FINAL_USER_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6521. return false;
  6522. }
  6523. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_BILLET_FL_ID"].Text))
  6524. {
  6525. MessageBox.Show("数据检测外购坯已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_BILLET_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_BILLET_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6526. return false;
  6527. }
  6528. if (orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"] != System.DBNull.Value && !orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_FL_ID"].Equals(ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_FL_ID"].Text))
  6529. {
  6530. MessageBox.Show("数据检测外购管已变更,请先修改。提示:" + ultraGrid2.ActiveRow.Cells["OUTS_STL_PIPE_DESC"].Text + " 改 " + orderLine.Tables["SLM_ORDER_LINE"].Rows[0]["OUTS_STL_PIPE_DESC"].ToString(), "合同行维护", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6531. return false;
  6532. }
  6533. }
  6534. }
  6535. catch (System.Exception ex)
  6536. {
  6537. //throw ex;
  6538. }
  6539. return true;
  6540. }
  6541. private void ctrlOrderLine2_UpdateOrderDeliveryDesc(DataSet orderLine)
  6542. {
  6543. if (ultraGrid2.ActiveRow == null)
  6544. {
  6545. MessageBox.Show("请先选择合同行信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6546. ultraTabControl1.Tabs[0].Selected = true;
  6547. return;
  6548. }
  6549. //合同行修改
  6550. string lnStatus = ultraGrid2.ActiveRow.Cells["ORDER_LN_STATUS"].Text;
  6551. string ordpk = "";
  6552. //查询合同行状态
  6553. DataTable rowStas = ServerHelper.GetData("com.steering.pss.sale.order.CoreOrderManager.getOrderLineStatus", new Object[] { ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Text }, this.ob);
  6554. if (rowStas.Rows.Count > 0)
  6555. {
  6556. if (!rowStas.Rows[0][0].ToString().Equals(lnStatus))
  6557. {
  6558. lnStatus = rowStas.Rows[0][0].ToString();
  6559. }
  6560. ordpk = rowStas.Rows[0][1].ToString();
  6561. }
  6562. else
  6563. {
  6564. MessageBox.Show("合同行不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  6565. return;
  6566. }
  6567. DataSet ds = ctrlOrderLine2.CtrlLineValue;
  6568. if (ds == null)
  6569. {
  6570. return;
  6571. }
  6572. DataTable slmOrderLine = ds.Tables["SLM_ORDER_LINE"];
  6573. DataTable slmOrderDelivery = ds.Tables["Main"];
  6574. ArrayList parms = new ArrayList();
  6575. ////技术特殊要求编码
  6576. //parms.Add(slmOrderLine.Rows[0]["CUST_ALPHA_NO"].ToString());
  6577. ////附加要求编码
  6578. //parms.Add(slmOrderLine.Rows[0]["ADD_ASK_NO"].ToString());
  6579. ////附加要求描述
  6580. //parms.Add(slmOrderLine.Rows[0]["ORDER_ADD_DESC"].ToString());
  6581. ////技术特殊要求描述
  6582. //parms.Add(slmOrderLine.Rows[0]["ORDER_SPECIAL_DESC"].ToString());
  6583. if (slmOrderDelivery != null && slmOrderDelivery.Rows.Count > 0)
  6584. {
  6585. //交货结束日期DELVRY_EDATE
  6586. parms.Add(slmOrderDelivery.Rows[0]["DELVRY_EDATE"].ToString());
  6587. }
  6588. else
  6589. {
  6590. parms.Add("");
  6591. }
  6592. //交货信息描述,DELVRY_DESC
  6593. parms.Add(slmOrderLine.Rows[0]["DELVRY_DESC"].ToString());
  6594. //运输信息描述TRANS_DESC
  6595. parms.Add(slmOrderLine.Rows[0]["TRANS_DESC"].ToString());
  6596. //创建人CREATE_NAME
  6597. parms.Add(UserInfo.GetUserName());
  6598. //创建时间,CREATE_TIME
  6599. //内部合同号
  6600. string managNo = ultraGrid1.ActiveRow.Cells["ORD_PK"].Value.ToString();
  6601. //内部合同行
  6602. parms.Add(ultraGrid2.ActiveRow.Cells["ORD_LN_PK"].Value.ToString());
  6603. ////合同号ORDER_NO
  6604. string orderNo = ultraGrid1.ActiveRow.Cells["ORDER_NO"].Value.ToString();
  6605. //parms.Add(orderNo);
  6606. ////合同行号ORDER_SEQ
  6607. string orderSeq = ultraGrid2.ActiveRow.Cells["ORDER_SEQ"].Value.ToString();
  6608. //parms.Add(orderSeq);
  6609. string orderlnsta = lnStatus;
  6610. CoreClientParam ccp = new CoreClientParam();
  6611. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  6612. ccp.MethodName = "UpdateOrderDeliveryDesc";
  6613. ccp.ServerParams = new object[] { parms };
  6614. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  6615. if (ccp.ReturnCode == -1) { return; }
  6616. else
  6617. {
  6618. if (orderlnsta.Equals("12020204"))
  6619. {
  6620. ArrayList parmsHead = new ArrayList();
  6621. parmsHead.Add("12020202");
  6622. parmsHead.Add("技术评审通过");
  6623. parmsHead.Add(orderlnsta);
  6624. parmsHead.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
  6625. parmsHead.Add(managNo);
  6626. parms = new ArrayList();
  6627. parms.Add("12020202");
  6628. parms.Add(orderlnsta);
  6629. parms.Add("合同销售管理(frmOrderManager.cs),交货期评审通过修改合同行运输内容。");
  6630. parms.Add(managNo);
  6631. ccp = new CoreClientParam();
  6632. ccp.ServerName = "com.steering.pss.sale.order.CoreOrderManager";
  6633. ccp.MethodName = "upOrderHeadLineDelivery";
  6634. ccp.ServerParams = new object[] { parms, parmsHead };
  6635. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  6636. if (ccp.ReturnCode == -1)
  6637. {
  6638. return;
  6639. }
  6640. }
  6641. }
  6642. string valid = "";
  6643. if (chkValid.Checked)
  6644. {
  6645. valid = "0";
  6646. }
  6647. else
  6648. {
  6649. valid = "1";
  6650. }
  6651. //展示合同行数据
  6652. GetOrderLineDt(managNo, valid);
  6653. //聚焦当前修改行
  6654. foreach (UltraGridRow row in ultraGrid2.Rows)
  6655. {
  6656. if (row != null)
  6657. {
  6658. if (orderSeq.Equals(row.Cells["ORDER_SEQ"].Value.ToString()))
  6659. {
  6660. row.Activate();
  6661. break;
  6662. }
  6663. }
  6664. }
  6665. }
  6666. private void ctrlLinePurchase2_OnMyRefresh()
  6667. {
  6668. UltraGridRow uRow = ultraGrid2.ActiveRow;
  6669. string ordPk = "";
  6670. string ordLnPk = "";
  6671. if (uRow != null)
  6672. {
  6673. ordPk = uRow.Cells["ORD_PK"].Value.ToString();
  6674. ordLnPk = uRow.Cells["ORD_LN_PK"].Value.ToString();
  6675. }
  6676. this.doQuery();
  6677. if (uRow != null)
  6678. {
  6679. foreach (UltraGridRow row in ultraGrid1.Rows)
  6680. {
  6681. if (row.Cells["ORD_PK"].Value.ToString() == ordPk)
  6682. {
  6683. row.Activate();
  6684. break;
  6685. }
  6686. }
  6687. foreach (UltraGridRow row in ultraGrid2.Rows)
  6688. {
  6689. if (row.Cells["ORD_LN_PK"].Value.ToString() == ordLnPk)
  6690. {
  6691. row.Activate();
  6692. break;
  6693. }
  6694. }
  6695. }
  6696. }
  6697. /// <summary>
  6698. /// 冻结变更
  6699. /// </summary>
  6700. /// <param name="sender"></param>
  6701. /// <param name="e"></param>
  6702. private void chkFreeze_CheckedChanged(object sender, EventArgs e)
  6703. {
  6704. if (chkFreeze.Checked)
  6705. {
  6706. freezeFlag = true;
  6707. ctrlOrderLine1.LockControl();
  6708. SetButtonVisible(false);
  6709. labTips.Visible = true;
  6710. this.ChgeQuery();
  6711. }
  6712. else
  6713. {
  6714. freezeFlag = false;
  6715. ctrlOrderLine1.UnLockControl();
  6716. labTips.Visible = false;
  6717. SetButtonVisible(true);
  6718. this.ChgeQuery();
  6719. }
  6720. }
  6721. /// <summary>
  6722. /// 鼠标移动到chkFreeze 显示提示信息
  6723. /// </summary>
  6724. /// <param name="sender"></param>
  6725. /// <param name="e"></param>
  6726. private void chkFreeze_MouseHover(object sender, EventArgs e)
  6727. {
  6728. toolTips.SetToolTip(chkFreeze, "勾选时,只能变更‘提报完毕’状态的合同的附加要求");
  6729. toolTips.ToolTipTitle = "提示";
  6730. toolTips.ShowAlways = true;
  6731. }
  6732. /// <summary>
  6733. /// 设置系统按钮的可见性
  6734. /// </summary>
  6735. /// <param name="isVisible">是否可见</param>
  6736. private void SetButtonVisible(bool isVisible)
  6737. {
  6738. if (isVisible)
  6739. {
  6740. if (toolMenu.Toolbars[0].Tools.Exists("ChgeAdd"))
  6741. toolMenu.Toolbars[0].Tools["ChgeAdd"].SharedProps.Visible = true;
  6742. if (toolMenu.Toolbars[0].Tools.Exists("ChgeDelete"))
  6743. toolMenu.Toolbars[0].Tools["ChgeDelete"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
  6744. if (toolMenu.Toolbars[0].Tools.Exists("ChgeConfirm"))
  6745. toolMenu.Toolbars[0].Tools["ChgeConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.True;
  6746. }
  6747. else
  6748. {
  6749. if (toolMenu.Toolbars[0].Tools.Exists("ChgeAdd"))
  6750. toolMenu.Toolbars[0].Tools["ChgeAdd"].SharedProps.Visible = false;
  6751. if (toolMenu.Toolbars[0].Tools.Exists("ChgeDelete"))
  6752. toolMenu.Toolbars[0].Tools["ChgeDelete"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  6753. if (toolMenu.Toolbars[0].Tools.Exists("ChgeConfirm"))
  6754. toolMenu.Toolbars[0].Tools["ChgeConfirm"].InstanceProps.Visible = Infragistics.Win.DefaultableBoolean.False;
  6755. }
  6756. }
  6757. /// <summary>
  6758. /// 获取生成合同号的前缀
  6759. /// </summary>
  6760. /// <param name="parm"></param>
  6761. /// <returns></returns>
  6762. private string GetOrderPrefix(ArrayList parm)
  6763. {
  6764. CoreClientParam ccp = new CoreClientParam();
  6765. ccp.IfShowErrMsg = false;
  6766. ccp.ServerName = "com.steering.pss.sale.order.CoreGenerateOrderNo";
  6767. ccp.MethodName = "getOrderNoPrefix";
  6768. ccp.ServerParams = new object[] { parm };
  6769. ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  6770. if (ccp != null)
  6771. {
  6772. if (ccp.ReturnCode != 0)
  6773. {
  6774. return ccp.ReturnInfo;
  6775. }
  6776. string no = ccp.ReturnObject.ToString2();
  6777. if (no != "" && no.Length == 6)
  6778. {
  6779. return no;
  6780. }
  6781. else
  6782. {
  6783. return "2";
  6784. }
  6785. }
  6786. else
  6787. {
  6788. return "1";
  6789. }
  6790. }
  6791. public string GetComputerInfo()
  6792. {
  6793. return "计算机名:" + Environment.GetEnvironmentVariable("COMPUTERNAME") + " IP:" +
  6794. System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList[0].ToString2() +
  6795. " Mac地址:" + GetLocalMac();
  6796. }
  6797. /// <summary>
  6798. /// 获取本机的MAC地址
  6799. /// </summary>
  6800. /// <returns></returns>
  6801. public static string GetLocalMac()
  6802. {
  6803. try
  6804. {
  6805. string mac = null;
  6806. ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
  6807. ManagementObjectCollection queryCollection = query.Get();
  6808. foreach (ManagementObject mo in queryCollection)
  6809. {
  6810. if (mo["IPEnabled"].ToString() == "True")
  6811. mac = mo["MacAddress"].ToString();
  6812. }
  6813. return (mac);
  6814. }
  6815. catch (Exception)
  6816. {
  6817. return "";
  6818. }
  6819. }
  6820. }
  6821. }