SystemModuleLogic.cs 290 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:SystemModuleLogic.cs
  5. * 2.功能描述:系统管理数据查询处理
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 张国印 2014/09/12 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Data;
  12. using System.Linq;
  13. using System.Text;
  14. using Dongke.IBOSS.PRD.Basics.BaseResources;
  15. using Dongke.IBOSS.PRD.Basics.DataAccess;
  16. using Dongke.IBOSS.PRD.Service.DataModels;
  17. using Dongke.IBOSS.PRD.WCF.DataModels;
  18. using Oracle.ManagedDataAccess.Client;
  19. using System.Collections.Generic;
  20. using Dongke.IBOSS.PRD.Service.BarcodePrintService;
  21. using Curtain.Net.Sockets.PLC;
  22. using Curtain.Net.Sockets.PLC.Model.Siemens;
  23. using static Dongke.IBOSS.PRD.Basics.BaseResources.Constant;
  24. using Newtonsoft.Json;
  25. namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
  26. {
  27. /// <summary>
  28. /// 系统管理数据查询处理
  29. /// </summary>
  30. public partial class SystemModuleLogic
  31. {
  32. #region 用户管理
  33. /// <summary>
  34. /// 用户登录
  35. /// </summary>
  36. /// <param name="requestEntity">用户请示对象</param>
  37. /// <param name="actionType">0:PC端;2:移动端</param>
  38. /// <returns>DataSet</returns>
  39. public static DataSet DoLoginRefresh(LoginRequestEntity requestEntity, string actionType)
  40. {
  41. LoginResultEntity resultEntity = new LoginResultEntity();
  42. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  43. try
  44. {
  45. // 读取License文件数据
  46. DataSet customer = new DataSet();
  47. //int readLock = LockLicenseHandle.ReadLisenceFile(requestEntity.LisenceFilePath, ref customer);
  48. #region 形成需要执行的SQL语句
  49. requestEntity.SessionKey = Guid.NewGuid().ToString().ToUpper();
  50. string strSql = "PRO_SYS_DoLogin";
  51. OracleParameter[] paras = new OracleParameter[]
  52. {
  53. new OracleParameter("in_AccountCode",requestEntity.AccountCode),
  54. new OracleParameter("in_UserCode",requestEntity.UserCode),
  55. new OracleParameter("in_UserPassword",requestEntity.Password),
  56. new OracleParameter("in_MAC",requestEntity.MACAddress),
  57. new OracleParameter("in_SessionKey",requestEntity.SessionKey),
  58. new OracleParameter("in_ComputerName",requestEntity.ComputerName),
  59. new OracleParameter("in_IP",requestEntity.IPAddress),
  60. new OracleParameter("in_LoginType",actionType),
  61. new OracleParameter("out_LoginStatus",OracleDbType.Int16, ParameterDirection.Output),
  62. new OracleParameter("out_UserOrganization",OracleDbType.RefCursor, ParameterDirection.Output),
  63. new OracleParameter("out_Navigation",OracleDbType.RefCursor, ParameterDirection.Output), //用户导航菜单
  64. new OracleParameter("out_UserRightData",OracleDbType.RefCursor, ParameterDirection.Output), //用户功能权限
  65. new OracleParameter("out_UserRangeRightData",OracleDbType.RefCursor, ParameterDirection.Output), //用户范围权限
  66. new OracleParameter("out_Function",OracleDbType.RefCursor, ParameterDirection.Output) //系统功能菜单
  67. };
  68. #endregion
  69. oracleConn.Open();
  70. //int loginStatus = 0;
  71. DataSet returnDataSet = oracleConn.ExecStoredProcedure(strSql, paras);
  72. oracleConn.Close();
  73. return returnDataSet;
  74. }
  75. finally
  76. {
  77. if (oracleConn.ConnState == ConnectionState.Open)
  78. {
  79. oracleConn.Close();
  80. }
  81. }
  82. }
  83. /// <summary>
  84. /// 获取用户列表
  85. /// </summary>
  86. /// <param name="requestEntity">用户实体</param>
  87. /// <param name="sUserInfo">用户基本信息</param>
  88. /// <returns>DataSet数据集</returns>
  89. public static DataSet SearchUserData(SUserEntity requestEntity, SUserInfo sUserInfo)
  90. {
  91. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  92. try
  93. {
  94. con.Open();
  95. OracleParameter[] paras = new OracleParameter[]{
  96. new OracleParameter("in_accountID",sUserInfo.AccountID),
  97. new OracleParameter("in_userID",sUserInfo.UserID),
  98. new OracleParameter("in_userCode",requestEntity.UserCode),
  99. new OracleParameter("in_userName",requestEntity.UserName),
  100. new OracleParameter("in_organizationID",requestEntity.OrganizationID),
  101. new OracleParameter("in_remarks",requestEntity.Remarks),
  102. new OracleParameter("in_limitMAC",requestEntity.LimitMAC),
  103. new OracleParameter("in_isWorker",requestEntity.IsWorker),
  104. new OracleParameter("rs_result",OracleDbType.RefCursor),
  105. new OracleParameter("in_ValueFlag",requestEntity.IsValueFlag),
  106. new OracleParameter("in_IsLocked",requestEntity.IsLocked),
  107. };
  108. paras[8].Direction = ParameterDirection.Output;
  109. DataSet ds = con.ExecStoredProcedure("PRO_MST_SearchUser", paras);
  110. return ds;
  111. }
  112. catch (Exception ex)
  113. {
  114. throw ex;
  115. }
  116. finally
  117. {
  118. if (con.ConnState == ConnectionState.Open)
  119. {
  120. con.Close();
  121. }
  122. }
  123. }
  124. /// <summary>
  125. /// 是否存在重复用户编码
  126. /// </summary>
  127. /// <param name="UserCode">用户编码</param>
  128. /// <param name="sUserInfo">用户基本信息</param>
  129. /// <returns>DataSet</returns>
  130. public static DataSet IsExistsUserCode(string UserCode, SUserInfo sUserInfo)
  131. {
  132. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  133. try
  134. {
  135. con.Open();
  136. OracleParameter[] paras = new OracleParameter[]{
  137. new OracleParameter("in_accountID",sUserInfo.AccountID),
  138. new OracleParameter("in_userID",sUserInfo.UserID),
  139. new OracleParameter("in_userCode",UserCode),
  140. new OracleParameter("rs_result",OracleDbType.RefCursor),
  141. };
  142. paras[3].Direction = ParameterDirection.Output;
  143. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetUserCode", paras);
  144. return ds;
  145. }
  146. catch (Exception ex)
  147. {
  148. throw ex;
  149. }
  150. finally
  151. {
  152. if (con.ConnState == ConnectionState.Open)
  153. {
  154. con.Close();
  155. }
  156. }
  157. }
  158. /// <summary>
  159. /// 是否存在重复生产编码
  160. /// </summary>
  161. /// <param name="ProductionWorkCode">生产编码</param>
  162. /// <param name="sUserInfo">用户基本信息</param>
  163. /// <returns>DataSet</returns>
  164. public static DataSet IsExistWorkCode(string ProductionWorkCode, SUserInfo sUserInfo)
  165. {
  166. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  167. try
  168. {
  169. con.Open();
  170. OracleParameter[] paras = new OracleParameter[]{
  171. new OracleParameter("in_accountID",sUserInfo.AccountID),
  172. new OracleParameter("in_userID",sUserInfo.UserID),
  173. new OracleParameter("in_workrCode",ProductionWorkCode),
  174. new OracleParameter("rs_result",OracleDbType.RefCursor),
  175. };
  176. paras[3].Direction = ParameterDirection.Output;
  177. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetWorkCode", paras);
  178. return ds;
  179. }
  180. catch (Exception ex)
  181. {
  182. throw ex;
  183. }
  184. finally
  185. {
  186. if (con.ConnState == ConnectionState.Open)
  187. {
  188. con.Close();
  189. }
  190. }
  191. }
  192. /// <summary>
  193. /// 获取用户信息
  194. /// </summary>
  195. /// <param name="UserID">用户ID</param>
  196. /// <returns>DataSet用户信息集合</returns>
  197. public static DataSet GetUserRowData(int UserID)
  198. {
  199. using (OracleConnection oracleConnection = new OracleConnection(DataManager.ConnectionString))
  200. {
  201. // 打开数据库连接
  202. oracleConnection.Open();
  203. // 为执行命令对象赋值
  204. OracleCommand oracleCommand = new OracleCommand();
  205. oracleCommand.Connection = oracleConnection;
  206. try
  207. {
  208. oracleCommand.CommandType = CommandType.StoredProcedure;
  209. oracleCommand.CommandText = "PRO_MST_GetUserRowData";
  210. IDataParameter[] dd = new OracleParameter[]{
  211. new OracleParameter("in_userID",UserID),
  212. new OracleParameter("rs_result",OracleDbType.RefCursor),
  213. };
  214. oracleCommand.Parameters.AddRange(dd);
  215. oracleCommand.Parameters[1].Direction = System.Data.ParameterDirection.Output;
  216. OracleDataAdapter da = new OracleDataAdapter(oracleCommand);
  217. DataSet ds = new DataSet();
  218. da.Fill(ds);
  219. // 清除sql执行对象的属性值
  220. oracleCommand.Parameters.Clear();
  221. oracleCommand.Dispose();
  222. //获取工号工种关联
  223. OracleCommand oracleCommandJobs = new OracleCommand();
  224. oracleCommandJobs.CommandType = CommandType.Text;
  225. oracleCommandJobs.CommandText = @" Select uj.*,j.JobsName,j.JobsCode,j.Remarks from TP_MST_UserJobs uj
  226. Inner join TP_MST_Jobs j On uj.JobsID = j.JobsID where uj.UserID=" + UserID;
  227. oracleCommandJobs.Connection = oracleConnection;
  228. OracleDataAdapter daJobs = new OracleDataAdapter(oracleCommandJobs);
  229. DataSet dsJobs = new DataSet();
  230. daJobs.Fill(dsJobs);
  231. // 清除sql执行对象的属性值
  232. oracleCommandJobs.Dispose();
  233. if (dsJobs.Tables.Count != 0)
  234. {
  235. DataTable dtJobs = dsJobs.Tables[0].Copy();
  236. dtJobs.TableName = "dtJobs";
  237. ds.Tables.Add(dtJobs);
  238. }
  239. return ds;
  240. }
  241. catch (Exception ex)
  242. {
  243. throw ex;
  244. }
  245. finally
  246. {
  247. // 释放资源
  248. if (oracleConnection.State != ConnectionState.Closed && oracleConnection != null)
  249. {
  250. oracleConnection.Close();
  251. }
  252. }
  253. }
  254. }
  255. /// <summary>
  256. /// 根据工号ID获取该工号的工种关联
  257. /// </summary>
  258. /// <param name="UserId">用户ID</param>
  259. /// <returns>DataSet</returns>
  260. public static DataSet GetJobByUserId(int UserId)
  261. {
  262. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  263. try
  264. {
  265. oracleConn.Open();
  266. StringBuilder sbSql = new StringBuilder();
  267. sbSql.Append(@"Select JobsID as UserJobsID,JobsCode as UserJobsCode,JobsName as UserJobsName
  268. from TP_MST_Jobs where JobsID in
  269. (Select JobsID From TP_MST_UserJobs where UserID=:UserID) ");
  270. OracleParameter[] paras = new OracleParameter[]{
  271. new OracleParameter(":UserID",UserId)
  272. };
  273. DataSet dsStaff = oracleConn.GetSqlResultToDs(sbSql.ToString(), paras);
  274. return dsStaff;
  275. }
  276. catch (Exception ex)
  277. {
  278. if (oracleConn.ConnState == ConnectionState.Open)
  279. {
  280. oracleConn.Close();
  281. }
  282. throw ex;
  283. }
  284. finally
  285. {
  286. if (oracleConn.ConnState == ConnectionState.Open)
  287. {
  288. oracleConn.Close();
  289. }
  290. }
  291. }
  292. /// <summary>
  293. /// 根据工号ID获取相关的员工及对应工号工种信息
  294. /// </summary>
  295. /// <param name="UserId">用户ID</param>
  296. /// <returns>DataSet</returns>
  297. public static DataSet GetUserStaffByUserId(int UserId)
  298. {
  299. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  300. try
  301. {
  302. oracleConn.Open();
  303. StringBuilder sbSql = new StringBuilder();
  304. sbSql.Append("SELECT USF.USERSTAFFID AS INFOID,\n" +
  305. " USF.USERID,\n" +
  306. " USF.UJOBSID AS USERJOBSID,\n" +
  307. " USF.STAFFID,\n" +
  308. " USF.OPTIMESTAMP,\n" +
  309. " J.JOBSNAME AS USERJOBSNAME,\n" +
  310. " J.JOBSCODE AS USERJOBSCODE,\n" +
  311. " S.STAFFCODE,\n" +
  312. " S.STAFFNAME,\n" +
  313. " SJ.JOBSNAME,\n" +
  314. " SS.STAFFSTATUSNAME\n" +
  315. " FROM TP_MST_USERSTAFF USF\n" +
  316. " INNER JOIN TP_MST_JOBS J\n" +
  317. " ON USF.UJOBSID = J.JOBSID\n" +
  318. " INNER JOIN TP_HR_STAFF S\n" +
  319. " ON USF.STAFFID = S.STAFFID\n" +
  320. " INNER JOIN TP_MST_JOBS SJ\n" +
  321. " ON S.JOBS = SJ.JOBSID\n" +
  322. " INNER JOIN TP_SYS_STAFFSTATUS SS\n" +
  323. " ON S.STAFFSTATUS = SS.STAFFSTATUSID\n" +
  324. " WHERE USERID = :USERID");
  325. OracleParameter[] paras = new OracleParameter[]{
  326. new OracleParameter(":USERID",UserId)
  327. };
  328. DataSet dsStaff = oracleConn.GetSqlResultToDs(sbSql.ToString(), paras);
  329. return dsStaff;
  330. }
  331. catch (Exception ex)
  332. {
  333. throw ex;
  334. }
  335. finally
  336. {
  337. if (oracleConn.ConnState == ConnectionState.Open)
  338. {
  339. oracleConn.Close();
  340. }
  341. }
  342. }
  343. /// <summary>
  344. /// 根据工号ID获取员工
  345. /// </summary>
  346. /// <param name="UserId">用户ID</param>
  347. /// <returns>DataSet</returns>
  348. public static DataSet GetStaffByUserId(int UserId)
  349. {
  350. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  351. try
  352. {
  353. oracleConn.Open();
  354. StringBuilder sbSql = new StringBuilder();
  355. sbSql.Append(@"Select * from TP_HR_Staff where StaffID in
  356. (Select StaffID From TP_MST_UserStaff where UserID=:UserID)
  357. And ValueFlag = 1 And (StaffStatus = 1 or StaffStatus = 2) ");
  358. OracleParameter[] paras = new OracleParameter[]{
  359. new OracleParameter(":UserID",UserId)
  360. };
  361. DataSet dsStaff = oracleConn.GetSqlResultToDs(sbSql.ToString(), paras);
  362. return dsStaff;
  363. }
  364. catch (Exception ex)
  365. {
  366. if (oracleConn.ConnState == ConnectionState.Open)
  367. {
  368. oracleConn.Close();
  369. }
  370. throw ex;
  371. }
  372. finally
  373. {
  374. if (oracleConn.ConnState == ConnectionState.Open)
  375. {
  376. oracleConn.Close();
  377. }
  378. }
  379. }
  380. /// <summary>
  381. /// 获取帐套信息
  382. /// </summary>
  383. /// <param name="pValue">是否停用</param>
  384. /// <returns>DataSet帐套信息</returns>
  385. public static DataSet GetAccountInfo(bool pValue)
  386. {
  387. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  388. try
  389. {
  390. string strValueFlag = "1";
  391. if (pValue)
  392. {
  393. strValueFlag = "0";
  394. }
  395. #region 对应要执行的SQL语句
  396. string strSql = "Select * From TP_MST_Account Where valueflag = :valueflag ORDER BY ValueFlag DESC,AccountCode";
  397. Oracle.ManagedDataAccess.Client.OracleParameter[] paras1 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  398. {
  399. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",strValueFlag)
  400. };
  401. #endregion
  402. oracleConn.Open();
  403. DataSet result = oracleConn.GetSqlResultToDs(strSql, paras1);
  404. oracleConn.Close();
  405. return result;
  406. }
  407. catch (Exception ex)
  408. {
  409. if (oracleConn.ConnState == ConnectionState.Open)
  410. {
  411. oracleConn.Close();
  412. }
  413. throw ex;
  414. }
  415. }
  416. /// <summary>
  417. /// 获取全部帐套信息
  418. /// </summary>
  419. /// <returns>DataSet帐套信息</returns>
  420. public static DataSet GetAllAccountInfo()
  421. {
  422. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  423. try
  424. {
  425. string strSql = "Select * From TP_MST_Account ORDER BY ValueFlag DESC,AccountCode";
  426. oracleConn.Open();
  427. DataSet result = oracleConn.GetSqlResultToDs(strSql, null);
  428. oracleConn.Close();
  429. return result;
  430. }
  431. catch (Exception ex)
  432. {
  433. if (oracleConn.ConnState == ConnectionState.Open)
  434. {
  435. oracleConn.Close();
  436. }
  437. throw ex;
  438. }
  439. }
  440. /// <summary>
  441. /// 根据UserCode判断是否存在生产用户
  442. /// </summary>
  443. /// <param name="requestEntity">用户实体</param>
  444. /// <param name="sUserInfo">用户基本信息</param>
  445. /// <returns>DataSet数据集</returns>
  446. public static DataSet GetUserIsWorker(SUserEntity requestEntity, SUserInfo sUserInfo)
  447. {
  448. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  449. try
  450. {
  451. con.Open();
  452. string sqlString = "select * from tp_mst_user where AccountID=:AccountID and UserCode=:UserCode and IsWorker=1";
  453. OracleParameter[] paras = new OracleParameter[]{
  454. new OracleParameter(":AccountID",sUserInfo.AccountID),
  455. new OracleParameter(":UserCode",requestEntity.UserCode),
  456. };
  457. DataSet dsUserIsWorker = con.GetSqlResultToDs(sqlString, paras);
  458. return dsUserIsWorker;
  459. }
  460. catch (Exception ex)
  461. {
  462. throw ex;
  463. }
  464. finally
  465. {
  466. if (con.ConnState == ConnectionState.Open)
  467. {
  468. con.Close();
  469. }
  470. }
  471. }
  472. /// <summary>
  473. /// 获取用户范围权限
  474. /// </summary>
  475. /// <param name="PurviewType">权限类别</param>
  476. /// <param name="UserID">用户ID</param>
  477. /// <returns>DataSet</returns>
  478. public static DataSet GetUserPurview(int PurviewType, int UserID)
  479. {
  480. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  481. try
  482. {
  483. con.Open();
  484. string sqlString = "Select PurviewID from TP_MST_UserPurview where PurviewType= :PurviewType and UserID = :UserID";
  485. OracleParameter[] paras = new OracleParameter[]{
  486. new OracleParameter(":PurviewType",PurviewType),
  487. new OracleParameter(":UserID",UserID),
  488. };
  489. DataSet dsUserPurview = con.GetSqlResultToDs(sqlString, paras);
  490. return dsUserPurview;
  491. }
  492. catch (Exception ex)
  493. {
  494. throw ex;
  495. }
  496. finally
  497. {
  498. if (con.ConnState == ConnectionState.Open)
  499. {
  500. con.Close();
  501. }
  502. }
  503. }
  504. /// <summary>
  505. /// 获取工号下的所有工种信息
  506. /// </summary>
  507. /// <param name="UserID">工号ID</param>
  508. /// <param name="sUserInfo">用户基本信息</param>
  509. /// <returns>DataSet数据集</returns>
  510. public static DataSet GetAllJobsByUserID(int UserID, SUserInfo sUserInfo)
  511. {
  512. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  513. try
  514. {
  515. con.Open();
  516. string sqlString = @"select
  517. TP_MST_UserJobs.Userid,
  518. TP_MST_Jobs.JobsID as Jobs,
  519. TP_MST_Jobs.JobsName,
  520. TP_MST_Jobs.JobsCode
  521. from TP_MST_UserJobs
  522. left join TP_MST_Jobs
  523. on TP_MST_UserJobs.JobsID=TP_MST_Jobs.JobsID
  524. where TP_MST_UserJobs.Userid=:UserId and TP_MST_Jobs.Accountid=:Accountid
  525. ";
  526. OracleParameter[] paras = new OracleParameter[]{
  527. new OracleParameter(":Accountid",sUserInfo.AccountID),
  528. new OracleParameter(":UserId",UserID),
  529. };
  530. DataSet dsUserIsWorker = con.GetSqlResultToDs(sqlString, paras);
  531. return dsUserIsWorker;
  532. }
  533. catch (Exception ex)
  534. {
  535. throw ex;
  536. }
  537. finally
  538. {
  539. if (con.ConnState == ConnectionState.Open)
  540. {
  541. con.Close();
  542. }
  543. }
  544. }
  545. #endregion
  546. #region 获得组织机构记录
  547. /// <summary>
  548. /// 获得组织机构记录
  549. /// </summary>
  550. /// <param name="sUserInfo">用户基本信息</param>
  551. /// <param name="valueFlag">停用标识</param>
  552. /// <param name="leafFlag">只显示叶子节点标识0:全显示;1:显示叶子节点</param>
  553. /// <returns>DataTable</returns>
  554. /// <remarks>
  555. /// 陈冰 2014.09.01 新建
  556. /// </remarks>
  557. public static DataTable GetOrganization(SUserInfo sUserInfo, int valueFlag, int leafFlag)
  558. {
  559. using (OracleConnection oracleConnection = new OracleConnection(DataManager.ConnectionString))
  560. {
  561. // 打开数据库连接
  562. oracleConnection.Open();
  563. // 为执行命令对象赋值
  564. OracleCommand oracleCommand = new OracleCommand();
  565. oracleCommand.Connection = oracleConnection;
  566. try
  567. {
  568. oracleCommand.CommandType = CommandType.StoredProcedure;
  569. oracleCommand.CommandText = "PRO_MST_GetOrganization";
  570. IDataParameter[] dd = new OracleParameter[]{
  571. new OracleParameter("accountID",sUserInfo.AccountID),
  572. new OracleParameter("valueFlag",valueFlag),
  573. new OracleParameter("leafFlag",leafFlag),
  574. new OracleParameter("rs_result",OracleDbType.RefCursor),
  575. };
  576. oracleCommand.Parameters.AddRange(dd);
  577. oracleCommand.Parameters[3].Direction = System.Data.ParameterDirection.Output;
  578. OracleDataAdapter da = new OracleDataAdapter(oracleCommand);
  579. DataSet ds = new DataSet();
  580. da.Fill(ds);
  581. // 清除sql执行对象的属性值
  582. oracleCommand.Parameters.Clear();
  583. oracleCommand.Dispose();
  584. return ds.Tables[0];
  585. }
  586. catch (Exception ex)
  587. {
  588. throw ex;
  589. }
  590. finally
  591. {
  592. // 释放资源
  593. if (oracleConnection.State != ConnectionState.Closed && oracleConnection != null)
  594. {
  595. oracleConnection.Close();
  596. }
  597. }
  598. }
  599. }
  600. /// <summary>
  601. /// 查询组织机构一览
  602. /// </summary>
  603. /// <param name="requestEntity">组织机构实体类</param>
  604. /// <returns>DataSet</returns>
  605. public DataSet SearchOrganizationData(OrganizationEntity requestEntity)
  606. {
  607. using (OracleConnection oracleConnection = new OracleConnection(DataManager.ConnectionString))
  608. {
  609. // 打开数据库连接
  610. oracleConnection.Open();
  611. // 为执行命令对象赋值
  612. OracleCommand oracleCommand = new OracleCommand();
  613. oracleCommand.Connection = oracleConnection;
  614. try
  615. {
  616. oracleCommand.CommandType = CommandType.StoredProcedure;
  617. oracleCommand.CommandText = "PRO_MST_SearchOrganization";
  618. string sqlStringValueFlags = "";
  619. // 正常标识
  620. if (requestEntity.ValueFlags != null
  621. && requestEntity.ValueFlags.Length == 1)
  622. {
  623. for (int i = 0; i < requestEntity.ValueFlags.Length; i++)
  624. {
  625. if (i == Constant.INT_IS_ZERO)
  626. {
  627. sqlStringValueFlags += requestEntity.ValueFlags[i].ToString();
  628. }
  629. else
  630. {
  631. sqlStringValueFlags += requestEntity.ValueFlags[i].ToString();
  632. }
  633. }
  634. }
  635. IDataParameter[] dd = new OracleParameter[]{
  636. new OracleParameter("in_accountID",requestEntity.in_AccountID),
  637. new OracleParameter("in_userID",requestEntity.in_UserID),
  638. new OracleParameter("in_operateOrganization",requestEntity.OperateOrganization?1:0),
  639. new OracleParameter("in_isLimitAccountOrganization",requestEntity.IsLimitAccountOrganization?1:0),
  640. new OracleParameter("in_isOnlyDisplayEnd",requestEntity.IsOnlyDisplayEnd?1:0),
  641. new OracleParameter("in_organizationID",requestEntity.OrganizationID),
  642. new OracleParameter("in_organizationCode",requestEntity.OrganizationCode),
  643. new OracleParameter("in_organizationName",requestEntity.OrganizationName),
  644. new OracleParameter("in_leader",requestEntity.Leader),
  645. new OracleParameter("in_letterMarket",requestEntity.LetterMarket),
  646. new OracleParameter("in_telephone",requestEntity.Telephone),
  647. new OracleParameter("in_address",requestEntity.Address),
  648. new OracleParameter("in_remarks",requestEntity.Remarks),
  649. new OracleParameter("in_valueFlags",sqlStringValueFlags),
  650. new OracleParameter("rs_result",OracleDbType.RefCursor),
  651. };
  652. oracleCommand.Parameters.AddRange(dd);
  653. oracleCommand.Parameters[14].Direction = System.Data.ParameterDirection.Output;
  654. OracleDataAdapter da = new OracleDataAdapter(oracleCommand);
  655. DataSet ds = new DataSet();
  656. da.Fill(ds);
  657. // 清除sql执行对象的属性值
  658. oracleCommand.Parameters.Clear();
  659. oracleCommand.Dispose();
  660. return ds;
  661. }
  662. catch (Exception ex)
  663. {
  664. throw ex;
  665. }
  666. finally
  667. {
  668. // 释放资源
  669. if (oracleConnection.State != ConnectionState.Closed && oracleConnection != null)
  670. {
  671. oracleConnection.Close();
  672. }
  673. }
  674. }
  675. }
  676. /// <summary>
  677. /// 获取组织机构行数据
  678. /// </summary>
  679. /// <param name="OrganizationID">组织机构ID</param>
  680. /// <returns>DataSet</returns>
  681. public DataSet GetOrganizationRowData(int OrganizationID)
  682. {
  683. using (OracleConnection oracleConnection = new OracleConnection(DataManager.ConnectionString))
  684. {
  685. // 打开数据库连接
  686. oracleConnection.Open();
  687. // 为执行命令对象赋值
  688. OracleCommand oracleCommand = new OracleCommand();
  689. oracleCommand.Connection = oracleConnection;
  690. try
  691. {
  692. oracleCommand.CommandType = CommandType.StoredProcedure;
  693. oracleCommand.CommandText = "PRO_MST_GetOrganizationRowData";
  694. IDataParameter[] dd = new OracleParameter[]{
  695. new OracleParameter("in_organizationID",OrganizationID),
  696. new OracleParameter("rs_result",OracleDbType.RefCursor),
  697. };
  698. oracleCommand.Parameters.AddRange(dd);
  699. oracleCommand.Parameters[1].Direction = System.Data.ParameterDirection.Output;
  700. OracleDataAdapter da = new OracleDataAdapter(oracleCommand);
  701. DataSet ds = new DataSet();
  702. da.Fill(ds);
  703. // 清除sql执行对象的属性值
  704. oracleCommand.Parameters.Clear();
  705. oracleCommand.Dispose();
  706. return ds;
  707. }
  708. catch (Exception ex)
  709. {
  710. throw ex;
  711. }
  712. finally
  713. {
  714. // 释放资源
  715. if (oracleConnection.State != ConnectionState.Closed && oracleConnection != null)
  716. {
  717. oracleConnection.Close();
  718. }
  719. }
  720. }
  721. }
  722. #endregion
  723. #region 获得工序模型类别
  724. /// <summary>
  725. /// 获得工序模型类别
  726. /// </summary>
  727. /// <returns>DataTable</returns>
  728. /// <remarks>
  729. /// 陈冰 2014.09.01 新建
  730. /// </remarks>
  731. public DataTable GetSYSProcessModelType()
  732. {
  733. using (OracleConnection oracleConnection = new OracleConnection(DataManager.ConnectionString))
  734. {
  735. // 打开数据库连接
  736. oracleConnection.Open();
  737. // 为执行命令对象赋值
  738. OracleCommand oracleCommand = new OracleCommand();
  739. oracleCommand.Connection = oracleConnection;
  740. try
  741. {
  742. oracleCommand.CommandType = CommandType.StoredProcedure;
  743. oracleCommand.CommandText = "PRO_SYS_GetProcessModelType";
  744. IDataParameter[] paras = new OracleParameter[]{
  745. new OracleParameter("rs_result",OracleDbType.RefCursor),
  746. };
  747. oracleCommand.Parameters.AddRange(paras);
  748. oracleCommand.Parameters[0].Direction = System.Data.ParameterDirection.Output;
  749. OracleDataAdapter da = new OracleDataAdapter(oracleCommand);
  750. DataSet ds = new DataSet();
  751. da.Fill(ds);
  752. // 清除sql执行对象的属性值
  753. oracleCommand.Parameters.Clear();
  754. oracleCommand.Dispose();
  755. return ds.Tables[0];
  756. }
  757. catch (Exception ex)
  758. {
  759. throw ex;
  760. }
  761. finally
  762. {
  763. // 释放资源
  764. if (oracleConnection.State != ConnectionState.Closed && oracleConnection != null)
  765. {
  766. oracleConnection.Close();
  767. }
  768. }
  769. }
  770. }
  771. #endregion
  772. #region 数据字典和基础数据相关
  773. #region SearchBox控件数据源
  774. /// <summary>
  775. /// 获取产品档案的数据
  776. /// </summary>
  777. /// <param name="cre"></param>
  778. /// <param name="sUserInfo"></param>
  779. /// <returns></returns>
  780. public static ServiceResultEntity GetGoods(ClientRequestEntity cre, SUserInfo sUserInfo)
  781. {
  782. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  783. try
  784. {
  785. ServiceResultEntity sre = new ServiceResultEntity();
  786. string goodsCode = cre.Properties["GoodsCode"] + "";
  787. string goodsName = cre.Properties["GoodsName"] + "";
  788. string sqlString = " SELECT 0 AS SEL, GOODSID, GOODSCODE, GOODSNAME, GOODSSPECIFICATION\n" +
  789. " FROM TP_MST_GOODS\n" +
  790. " WHERE VALUEFLAG = '1'\n" +
  791. " AND CEASEFLAG = '1'\n" +
  792. " AND ACCOUNTID = :accountID\n";
  793. List<OracleParameter> parameters = new List<OracleParameter>();
  794. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  795. // 产品编码
  796. if (!string.IsNullOrEmpty(goodsCode))
  797. {
  798. sqlString += " AND GOODSCODE LIKE :goodsCode\n";
  799. parameters.Add(new OracleParameter(":goodsCode", OracleDbType.Varchar2, "%" + goodsCode + "%", ParameterDirection.Input));
  800. }
  801. // 产品名称
  802. if (!string.IsNullOrEmpty(goodsName))
  803. {
  804. sqlString += " AND GOODSNAME LIKE :goodsName\n";
  805. parameters.Add(new OracleParameter(":goodsName", OracleDbType.Varchar2, "%" + goodsName + "%", ParameterDirection.Input));
  806. }
  807. sqlString += " ORDER BY GOODSCODE";
  808. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  809. return sre;
  810. }
  811. catch (Exception ex)
  812. {
  813. throw ex;
  814. }
  815. finally
  816. {
  817. if (con.ConnState == ConnectionState.Open)
  818. {
  819. con.Close();
  820. }
  821. }
  822. }
  823. /// <summary>
  824. /// 获取产品类别的数据
  825. /// </summary>
  826. /// <param name="cre"></param>
  827. /// <param name="sUserInfo"></param>
  828. /// <returns></returns>
  829. public static ServiceResultEntity GetGoodsType(ClientRequestEntity cre, SUserInfo sUserInfo)
  830. {
  831. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  832. try
  833. {
  834. ServiceResultEntity sre = new ServiceResultEntity();
  835. string goodsTypeCode = cre.Properties["GoodsTypeCode"] + "";
  836. string goodsTypeName = cre.Properties["GoodsTypeName"] + "";
  837. string IsLeafNode = cre.Properties["IsLeafNode"] + "";
  838. string sqlString = "SELECT 0 AS SEL,\n" +
  839. " GOODSTYPEID,\n" +
  840. " GOODSTYPECODE,\n" +
  841. " GOODSTYPENAME,\n" +
  842. " GOODSTYPEFULLNAME\n" +
  843. " FROM TP_MST_GOODSTYPE\n" +
  844. " WHERE VALUEFLAG = 1\n" +
  845. " AND ACCOUNTID = :accountID\n";
  846. List<OracleParameter> parameters = new List<OracleParameter>();
  847. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  848. // 是否只查询子节点
  849. if ("1".Equals(IsLeafNode))
  850. {
  851. sqlString += " AND ISLEAFNODE = 1\n";
  852. }
  853. // 产品类别编码
  854. if (!string.IsNullOrEmpty(goodsTypeCode))
  855. {
  856. sqlString += " AND GOODSTYPECODE LIKE :goodsTypeCode\n";
  857. parameters.Add(new OracleParameter(":goodsTypeCode", OracleDbType.Varchar2, "%" + goodsTypeCode + "%", ParameterDirection.Input));
  858. }
  859. // 产品类别名称
  860. if (!string.IsNullOrEmpty(goodsTypeName))
  861. {
  862. sqlString += " AND GOODSTYPENAME LIKE :goodsTypeName\n";
  863. parameters.Add(new OracleParameter(":goodsTypeName", OracleDbType.Varchar2, "%" + goodsTypeName + "%", ParameterDirection.Input));
  864. }
  865. sqlString += " ORDER BY GOODSTYPECODE";
  866. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  867. return sre;
  868. }
  869. catch (Exception ex)
  870. {
  871. throw ex;
  872. }
  873. finally
  874. {
  875. if (con.ConnState == ConnectionState.Open)
  876. {
  877. con.Close();
  878. }
  879. }
  880. }
  881. /// <summary>
  882. /// 获取组织机构的数据
  883. /// </summary>
  884. /// <param name="cre"></param>
  885. /// <param name="sUserInfo"></param>
  886. /// <returns></returns>
  887. public static ServiceResultEntity GetOrganization(ClientRequestEntity cre, SUserInfo sUserInfo)
  888. {
  889. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  890. try
  891. {
  892. ServiceResultEntity sre = new ServiceResultEntity();
  893. string organizationCode = cre.Properties["OrganizationCode"] + "";
  894. string organizationName = cre.Properties["OrganizationName"] + "";
  895. string isLeafNode = cre.Properties["IsLeafNode"] + "";
  896. string sqlString = "SELECT 0 AS SEL,\n" +
  897. " ORGANIZATIONID,\n" +
  898. " ORGANIZATIONCODE,\n" +
  899. " ORGANIZATIONNAME,\n" +
  900. " ORGANIZATIONFULLNAME\n" +
  901. " FROM TP_MST_ORGANIZATION\n" +
  902. " WHERE VALUEFLAG = 1\n" +
  903. " AND ACCOUNTID = :accountID\n";
  904. List<OracleParameter> parameters = new List<OracleParameter>();
  905. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  906. // 是否只查询子节点
  907. if ("1".Equals(isLeafNode))
  908. {
  909. sqlString += " AND ISLEAFNODE = 1\n";
  910. }
  911. // 组织机构编码
  912. if (!string.IsNullOrEmpty(organizationCode))
  913. {
  914. sqlString += " AND ORGANIZATIONCODE LIKE :OrganizationCode\n";
  915. parameters.Add(new OracleParameter(":OrganizationCode", OracleDbType.Varchar2, "%" + organizationCode + "%", ParameterDirection.Input));
  916. }
  917. // 组织机构名称
  918. if (!string.IsNullOrEmpty(organizationName))
  919. {
  920. sqlString += " AND ORGANIZATIONNAME LIKE :OrganizationName\n";
  921. parameters.Add(new OracleParameter(":OrganizationName", OracleDbType.Varchar2, "%" + organizationName + "%", ParameterDirection.Input));
  922. }
  923. sqlString += " ORDER BY ORGANIZATIONCODE";
  924. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  925. return sre;
  926. }
  927. catch (Exception ex)
  928. {
  929. throw ex;
  930. }
  931. finally
  932. {
  933. if (con.ConnState == ConnectionState.Open)
  934. {
  935. con.Close();
  936. }
  937. }
  938. }
  939. /// <summary>
  940. /// 获取工号的数据
  941. /// </summary>
  942. /// <param name="cre"></param>
  943. /// <param name="sUserInfo"></param>
  944. /// <returns></returns>
  945. public static ServiceResultEntity GetUser(ClientRequestEntity cre, SUserInfo sUserInfo)
  946. {
  947. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  948. try
  949. {
  950. ServiceResultEntity sre = new ServiceResultEntity();
  951. string UserCode = cre.Properties["UserCode"] + "";
  952. string UserName = cre.Properties["UserName"] + "";
  953. string IsWorker = cre.Properties["IsWorker"] + "";
  954. string sqlString = "SELECT 0 AS SEL, U.USERID, U.USERCODE, U.USERNAME, U.USERNAME||'['|| U.USERCODE||']' USERNAMECode, '['|| U.USERCODE||']'||U.USERNAME USERCodeNAME \n" +
  955. " FROM TP_MST_USER U\n" +
  956. " WHERE U.ACCOUNTID = :accountID\n" +
  957. " AND U.VALUEFLAG = 1\n" +
  958. " AND LOWER(U.USERCODE) <> 'system'\n" +
  959. " AND LOWER(U.USERCODE) <> 'admin'";
  960. List<OracleParameter> parameters = new List<OracleParameter>();
  961. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  962. // 是否只查询子节点
  963. if ("1".Equals(IsWorker))
  964. {
  965. sqlString += " AND U.ISWORKER = 1\n";
  966. }
  967. // 组织机构编码
  968. if (!string.IsNullOrEmpty(UserCode))
  969. {
  970. sqlString += " AND U.USERCODE LIKE :UserCode\n";
  971. parameters.Add(new OracleParameter(":UserCode", OracleDbType.Varchar2, "%" + UserCode + "%", ParameterDirection.Input));
  972. }
  973. // 组织机构名称
  974. if (!string.IsNullOrEmpty(UserName))
  975. {
  976. sqlString += " AND U.USERNAME LIKE :UserName\n";
  977. parameters.Add(new OracleParameter(":UserName", OracleDbType.Varchar2, "%" + UserName + "%", ParameterDirection.Input));
  978. }
  979. sqlString += " ORDER BY USERCODE";
  980. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  981. return sre;
  982. }
  983. catch (Exception ex)
  984. {
  985. throw ex;
  986. }
  987. finally
  988. {
  989. if (con.ConnState == ConnectionState.Open)
  990. {
  991. con.Close();
  992. }
  993. }
  994. }
  995. /// <summary>
  996. /// 获取成型线类型数据
  997. /// </summary>
  998. /// <param name="cre"></param>
  999. /// <param name="sUserInfo"></param>
  1000. /// <returns></returns>
  1001. public static ServiceResultEntity GetGMouldType(ClientRequestEntity cre, SUserInfo sUserInfo)
  1002. {
  1003. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1004. try
  1005. {
  1006. ServiceResultEntity sre = new ServiceResultEntity();
  1007. string gMouldTypeCode = cre.Properties["GMouldTypeCode"] + "";
  1008. string gMouldTypeName = cre.Properties["GMouldTypeName"] + "";
  1009. string canManyTimes = cre.Properties["CanManyTimes"] + "";
  1010. string sqlString = " SELECT 0 AS SEL, GMOULDTYPEID, GMOULDTYPECODE, GMOULDTYPENAME, CANMANYTIMES\n" +
  1011. " FROM TP_MST_GMOULDTYPE\n" +
  1012. " WHERE VALUEFLAG = 1\n" +
  1013. " AND ACCOUNTID = :accountID";
  1014. List<OracleParameter> parameters = new List<OracleParameter>();
  1015. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  1016. // 是否多次注浆
  1017. if ("1".Equals(canManyTimes))
  1018. {
  1019. sqlString += " AND CANMANYTIMES = 1\n";
  1020. }
  1021. // 成型线类型编码
  1022. if (!string.IsNullOrEmpty(gMouldTypeCode))
  1023. {
  1024. sqlString += " AND GMOULDTYPECODE LIKE :GMouldTypeCode\n";
  1025. parameters.Add(new OracleParameter(":GMouldTypeCode", OracleDbType.Varchar2, "%" + gMouldTypeCode + "%", ParameterDirection.Input));
  1026. }
  1027. // 成型线类型名称
  1028. if (!string.IsNullOrEmpty(gMouldTypeName))
  1029. {
  1030. sqlString += " AND GMOULDTYPENAME LIKE :GMouldTypeName\n";
  1031. parameters.Add(new OracleParameter(":GMouldTypeName", OracleDbType.Varchar2, "%" + gMouldTypeName + "%", ParameterDirection.Input));
  1032. }
  1033. sqlString += " ORDER BY GMOULDTYPECODE";
  1034. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  1035. return sre;
  1036. }
  1037. catch (Exception ex)
  1038. {
  1039. throw ex;
  1040. }
  1041. finally
  1042. {
  1043. if (con.ConnState == ConnectionState.Open)
  1044. {
  1045. con.Close();
  1046. }
  1047. }
  1048. }
  1049. /// <summary>
  1050. /// 获取成型线数据
  1051. /// </summary>
  1052. /// <param name="cre"></param>
  1053. /// <param name="sUserInfo"></param>
  1054. /// <returns></returns>
  1055. public static ServiceResultEntity GetGroutingLine(ClientRequestEntity cre, SUserInfo sUserInfo)
  1056. {
  1057. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1058. try
  1059. {
  1060. ServiceResultEntity sre = new ServiceResultEntity();
  1061. string GroutingLineCode = cre.Properties["GroutingLineCode"] + "";
  1062. string GroutingLineName = cre.Properties["GroutingLineName"] + "";
  1063. string UserCode = cre.Properties["UserCode"] + "";
  1064. string sqlString = "SELECT 0 AS SEL,\n" +
  1065. " GROUT.GROUTINGLINEID,\n" +
  1066. " GROUT.GROUTINGLINECODE,\n" +
  1067. " GROUT.GROUTINGLINENAME,\n" +
  1068. " GUSER.USERCODE,\n" +
  1069. " STATUS.GMOULDSTATUSNAME,\n" +
  1070. " GROUT.CREATETIME\n" +
  1071. " FROM TP_PC_GROUTINGLINE GROUT\n" +
  1072. " LEFT JOIN TP_MST_USER GUSER\n" +
  1073. " ON GROUT.USERID = GUSER.USERID\n" +
  1074. " LEFT JOIN TP_SYS_GMOULDSTATUS STATUS\n" +
  1075. " ON GROUT.GMOULDSTATUS = STATUS.GMOULDSTATUSID\n" +
  1076. " WHERE GROUT.VALUEFLAG = 1\n" +
  1077. " AND GROUT.ACCOUNTID = :accountID\n";
  1078. List<OracleParameter> parameters = new List<OracleParameter>();
  1079. parameters.Add(new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  1080. // 成型线编码
  1081. if (!string.IsNullOrEmpty(GroutingLineCode))
  1082. {
  1083. sqlString += " AND GROUT.GroutingLineCode LIKE :GroutingLineCode\n";
  1084. parameters.Add(new OracleParameter(":GroutingLineCode", OracleDbType.Varchar2, "%" + GroutingLineCode + "%", ParameterDirection.Input));
  1085. }
  1086. // 成型线名称
  1087. if (!string.IsNullOrEmpty(GroutingLineName))
  1088. {
  1089. sqlString += " AND GROUT.GroutingLineName LIKE :GroutingLineName\n";
  1090. parameters.Add(new OracleParameter(":GroutingLineName", OracleDbType.Varchar2, "%" + GroutingLineName + "%", ParameterDirection.Input));
  1091. }
  1092. // 成型工号
  1093. if (!string.IsNullOrEmpty(UserCode))
  1094. {
  1095. sqlString += " AND GUSER.UserCode LIKE :UserCode\n";
  1096. parameters.Add(new OracleParameter(":UserCode", OracleDbType.Varchar2, "%" + UserCode + "%", ParameterDirection.Input));
  1097. }
  1098. sqlString += " ORDER BY GROUT.GROUTINGLINECODE";
  1099. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  1100. return sre;
  1101. }
  1102. catch (Exception ex)
  1103. {
  1104. throw ex;
  1105. }
  1106. finally
  1107. {
  1108. if (con.ConnState == ConnectionState.Open)
  1109. {
  1110. con.Close();
  1111. }
  1112. }
  1113. }
  1114. /// <summary>
  1115. /// 获取产品类别的数据
  1116. /// </summary>
  1117. /// <param name="cre"></param>
  1118. /// <param name="sUserInfo"></param>
  1119. /// <returns></returns>
  1120. public static ServiceResultEntity GetSAPCode(ClientRequestEntity cre, SUserInfo sUserInfo)
  1121. {
  1122. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1123. try
  1124. {
  1125. ServiceResultEntity sre = new ServiceResultEntity();
  1126. string goodscode = cre.Properties["goodscode"] + "";
  1127. string matnr = cre.Properties["matnr"] + "";
  1128. string logoname = cre.Properties["logoname"] + "";
  1129. string sqlString =
  1130. "SELECT 0 AS sel\n" +
  1131. " ,pb.matnr as materialcode\n" +
  1132. " ,pb.name as materialname\n" +
  1133. " ,g.goodscode\n" +
  1134. " ,l.logoname\n" +
  1135. " ,pb.packingbomid\n" +
  1136. " FROM tp_mst_packingbom pb\n" +
  1137. " LEFT JOIN tp_mst_goods g\n" +
  1138. " ON g.goodsid = pb.goodsid\n" +
  1139. " LEFT JOIN tp_mst_logo l\n" +
  1140. " ON l.logoid = pb.logoid\n" +
  1141. " WHERE pb.valueflag = '1'\n" +
  1142. " AND pb.accountid = :accountid";
  1143. List<OracleParameter> parameters = new List<OracleParameter>();
  1144. parameters.Add(new OracleParameter(":accountid", sUserInfo.AccountID));
  1145. // 产品类别编码
  1146. if (!string.IsNullOrEmpty(goodscode))
  1147. {
  1148. sqlString += " AND g.goodscode LIKE :goodsCode\n";
  1149. parameters.Add(new OracleParameter(":goodsCode", OracleDbType.Varchar2, "%" + goodscode + "%", ParameterDirection.Input));
  1150. }
  1151. // 产品类别名称
  1152. if (!string.IsNullOrEmpty(matnr))
  1153. {
  1154. sqlString += " AND pb.matnr LIKE :matnr\n";
  1155. parameters.Add(new OracleParameter(":matnr", OracleDbType.Varchar2, "%" + matnr + "%", ParameterDirection.Input));
  1156. }
  1157. // 产品类别名称
  1158. if (!string.IsNullOrEmpty(logoname))
  1159. {
  1160. sqlString += " AND l.logoname LIKE :logoname\n";
  1161. parameters.Add(new OracleParameter(":logoname", OracleDbType.Varchar2, "%" + logoname + "%", ParameterDirection.Input));
  1162. }
  1163. sqlString += " ORDER BY g.goodscode, l.logoname";
  1164. sre.Data = con.GetSqlResultToDs(sqlString, parameters.ToArray());
  1165. return sre;
  1166. }
  1167. catch (Exception ex)
  1168. {
  1169. throw ex;
  1170. }
  1171. finally
  1172. {
  1173. if (con.ConnState == ConnectionState.Open)
  1174. {
  1175. con.Close();
  1176. }
  1177. }
  1178. }
  1179. #endregion
  1180. /// <summary>
  1181. /// 生产线集合
  1182. /// </summary>
  1183. /// <param name="ProductionLineEntity">生产线实体类</param>
  1184. /// <param name="sUserInfo">用户基本信息</param>
  1185. /// <returns>DataSet</returns>
  1186. /// <remarks>
  1187. /// 宋扬 2014.11.19 新建
  1188. /// </remarks>
  1189. public static DataSet GetProductionLine(SearchProductionLineEntity productionLineEntity, SUserInfo sUserInfo)
  1190. {
  1191. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1192. try
  1193. {
  1194. con.Open();
  1195. OracleParameter[] paras = new OracleParameter[]{
  1196. new OracleParameter("in_productionLineCode",OracleDbType.Varchar2,productionLineEntity.ProductionLineCode,ParameterDirection.Input),
  1197. new OracleParameter("in_productionLineName",OracleDbType.Varchar2,productionLineEntity.ProductionLineName,ParameterDirection.Input),
  1198. new OracleParameter("in_productionLineIDS",OracleDbType.Varchar2,productionLineEntity.ProcuteLineIDS,ParameterDirection.Input),
  1199. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  1200. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  1201. };
  1202. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PC_GetProductionLin", paras);
  1203. return dsSearchReport;
  1204. }
  1205. catch (Exception ex)
  1206. {
  1207. throw ex;
  1208. }
  1209. finally
  1210. {
  1211. if (con.ConnState == ConnectionState.Open)
  1212. {
  1213. con.Close();
  1214. }
  1215. }
  1216. }
  1217. /// <summary>
  1218. /// 获得产品类别
  1219. /// </summary>
  1220. /// <param name="sUserInfo">用户基本信息</param>
  1221. /// <param name="valueFlag">停用标记</param>
  1222. /// <param name="leafFlag">是否只查询叶子节点 0:否;1:是</param>
  1223. /// <returns>DataTable</returns>
  1224. /// <remarks>
  1225. /// 陈冰 2014.09.02 新建
  1226. /// </remarks>
  1227. public static DataTable GetGoodsType(SUserInfo sUserInfo, int valueFlag, int leafFlag)
  1228. {
  1229. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1230. try
  1231. {
  1232. con.Open();
  1233. OracleParameter[] paras = new OracleParameter[]{
  1234. new OracleParameter("in_accountID",sUserInfo.AccountID),
  1235. new OracleParameter("in_valueFlag",valueFlag),
  1236. new OracleParameter("in_leafFlag",leafFlag),
  1237. new OracleParameter("out_result",OracleDbType.RefCursor),
  1238. };
  1239. paras[3].Direction = ParameterDirection.Output;
  1240. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetGoodsType", paras);
  1241. return ds.Tables[0];
  1242. }
  1243. catch (Exception ex)
  1244. {
  1245. throw ex;
  1246. }
  1247. finally
  1248. {
  1249. if (con.ConnState == ConnectionState.Open)
  1250. {
  1251. con.Close();
  1252. }
  1253. }
  1254. }
  1255. /// <summary>
  1256. /// 获取新增组织机构OrganizationCode
  1257. /// </summary>
  1258. /// <param name="v_parentOrganizationCode">上级组织机构编码</param>
  1259. /// <param name="sUserInfo">用户基本信息</param>
  1260. /// <returns>string</returns>
  1261. /// <remarks>
  1262. /// 2014.12.04 任海 新建
  1263. /// </remarks>
  1264. public static string GetOrganizationCode(string v_parentOrganizationCode, SUserInfo sUserInfo)
  1265. {
  1266. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1267. try
  1268. {
  1269. oracleConn.Open();
  1270. string sqlString = "select Max(OrganizationCode) from TP_MST_Organization "
  1271. + " where OrganizationCode like '" + v_parentOrganizationCode + "%'"
  1272. + "and length(OrganizationCode) = length('" + v_parentOrganizationCode + "')+3"
  1273. + "and AccountID = " + sUserInfo.AccountID;
  1274. DataSet returnDatasetHuoQu2 = oracleConn.GetSqlResultToDs(sqlString);
  1275. oracleConn.Close();
  1276. string v_MaxOrganizationCode = "";
  1277. if (returnDatasetHuoQu2 != null && returnDatasetHuoQu2.Tables[0].Rows.Count > 0)
  1278. {
  1279. v_MaxOrganizationCode = returnDatasetHuoQu2.Tables[0].Rows[0][0].ToString();
  1280. }
  1281. if (v_MaxOrganizationCode == "")
  1282. {
  1283. v_MaxOrganizationCode = v_MaxOrganizationCode + v_parentOrganizationCode + "001";
  1284. }
  1285. else
  1286. {
  1287. string v_tempCode = "";
  1288. v_tempCode = Convert.ToString(Convert.ToInt32(v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3)) + 1);
  1289. v_MaxOrganizationCode = "000" + v_tempCode;
  1290. v_MaxOrganizationCode = v_parentOrganizationCode + v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3);
  1291. }
  1292. return v_MaxOrganizationCode;
  1293. }
  1294. catch (Exception ex)
  1295. {
  1296. if (oracleConn.ConnState == ConnectionState.Open)
  1297. {
  1298. oracleConn.Close();
  1299. }
  1300. throw ex;
  1301. }
  1302. }
  1303. /// <summary>
  1304. /// 获取窑炉管理的数据
  1305. /// </summary>
  1306. /// <param name="SUserInfo">用户基本信息</param>
  1307. /// <param name="pValue">显示停用标识</param>
  1308. /// <returns>DataSet</returns>
  1309. /// <remarks>
  1310. /// 2014.09.01 任海 新建
  1311. /// </remarks>
  1312. public static DataSet GetKilnData(SUserInfo sUserInfo, byte pValue)
  1313. {
  1314. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1315. try
  1316. {
  1317. string sqlString = string.Empty;
  1318. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  1319. //根据帐套查询数据
  1320. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  1321. {
  1322. sqlString = "Select 0 as Sel, KilnID,KilnCode,KilnName,KilnType,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1323. + "from TP_MST_Kiln where AccountID = :AccountID";
  1324. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1325. {
  1326. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1327. };
  1328. }
  1329. //根据帐套,标识查询数据
  1330. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  1331. {
  1332. sqlString = "Select KilnID,KilnCode,KilnName,KilnType,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1333. + "from TP_MST_Kiln where valueflag = :valueflag and AccountID = :AccountID";
  1334. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1335. {
  1336. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  1337. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1338. };
  1339. }
  1340. oracleConn.Open();
  1341. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1342. oracleConn.Close();
  1343. return result;
  1344. }
  1345. catch (Exception ex)
  1346. {
  1347. if (oracleConn.ConnState == ConnectionState.Open)
  1348. {
  1349. oracleConn.Close();
  1350. }
  1351. throw ex;
  1352. }
  1353. }
  1354. /// <summary>
  1355. /// 获取窑炉管理的全部数据
  1356. /// </summary>
  1357. /// <param name="sUserInfo">用户基本信息</param>
  1358. /// <returns>DataSet</returns>
  1359. /// <remarks>
  1360. /// 2014.10.31 任海 新建
  1361. /// </remarks>
  1362. public static DataSet GetAllKilntInfo(SUserInfo sUserInfo)
  1363. {
  1364. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1365. try
  1366. {
  1367. //获取窑炉管理数据
  1368. string sqlString = "Select KilnID,KilnCode,KilnName,KilnType,INOUTMINTIMEIINTERVAL,OUTMINTIMEIINTERVAL,TurnoverInterval," +
  1369. "Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp,SK_Date,SK_BatchNo " +
  1370. "from TP_MST_Kiln where AccountID = :AccountID";
  1371. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1372. {
  1373. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1374. };
  1375. oracleConn.Open();
  1376. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1377. oracleConn.Close();
  1378. return result;
  1379. }
  1380. catch (Exception ex)
  1381. {
  1382. if (oracleConn.ConnState == ConnectionState.Open)
  1383. {
  1384. oracleConn.Close();
  1385. }
  1386. throw ex;
  1387. }
  1388. }
  1389. /// <summary>
  1390. /// 获取窑车管理的数据
  1391. /// </summary>
  1392. /// <param name="sUserInfo">用户基本信息</param>
  1393. /// <param name="pValue">显示停用标识</param>
  1394. /// <param name="kilnID">窑炉ID</param>
  1395. /// <returns>DataSet</returns>
  1396. /// <remarks>
  1397. /// 2014.09.08 任海 新建
  1398. /// </remarks>
  1399. public static DataSet GetKilnCarData(SUserInfo sUserInfo, byte pValue, string kilnID)
  1400. {
  1401. try
  1402. {
  1403. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1404. try
  1405. {
  1406. string sqlString = string.Empty;
  1407. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  1408. //根据帐套查询数据
  1409. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  1410. {
  1411. sqlString = "Select KilnCarID,KilnID,KilnCarCode,KilnCarName,MaxGoodsNum,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1412. + "from TP_MST_KilnCar where KilnID = :KilnID and AccountID = :AccountID";
  1413. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1414. {
  1415. new Oracle.ManagedDataAccess.Client.OracleParameter(":KilnID",kilnID),
  1416. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1417. };
  1418. }
  1419. //根据帐套,标识查询数据
  1420. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  1421. {
  1422. sqlString = "Select KilnCarID,KilnID,KilnCarCode,KilnCarName,MaxGoodsNum,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1423. + "from TP_MST_KilnCar where valueflag = :valueflag and KilnID = :KilnID and AccountID = :AccountID";
  1424. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1425. {
  1426. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  1427. new Oracle.ManagedDataAccess.Client.OracleParameter(":KilnID",kilnID),
  1428. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1429. };
  1430. }
  1431. oracleConn.Open();
  1432. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1433. oracleConn.Close();
  1434. return result;
  1435. }
  1436. catch (Exception ex)
  1437. {
  1438. if (oracleConn.ConnState == ConnectionState.Open)
  1439. {
  1440. oracleConn.Close();
  1441. }
  1442. throw ex;
  1443. }
  1444. }
  1445. catch (Exception ex)
  1446. {
  1447. throw ex;
  1448. }
  1449. }
  1450. /// <summary>
  1451. /// 获取窑车管理的全部数据
  1452. /// </summary>
  1453. /// <param name="sUserInfo">用户基本信息</param>
  1454. /// <returns>DataSet</returns>
  1455. /// <remarks>
  1456. /// 2014.10.31 任海 新建
  1457. /// </remarks>
  1458. public static DataSet GetAllKilnCarInfo(SUserInfo sUserInfo)
  1459. {
  1460. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1461. try
  1462. {
  1463. //获取窑车管理的数据
  1464. string sqlString = "Select KilnCarID,KilnID,KilnCarCode,KilnCarName,MaxGoodsNum,KilnCarNum,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1465. + "from TP_MST_KilnCar where AccountID = :AccountID "
  1466. + " order by KilnCarNum, KilnCarCode";
  1467. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1468. {
  1469. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1470. };
  1471. oracleConn.Open();
  1472. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1473. oracleConn.Close();
  1474. return result;
  1475. }
  1476. catch (Exception ex)
  1477. {
  1478. if (oracleConn.ConnState == ConnectionState.Open)
  1479. {
  1480. oracleConn.Close();
  1481. }
  1482. throw ex;
  1483. }
  1484. }
  1485. /// <summary>
  1486. /// 获取产品分级的数据
  1487. /// </summary>
  1488. /// <param name="sUserInfo">用户基本信息</param>
  1489. /// <param name="pValue">显示停用标识</param>
  1490. /// <returns>DataSet</returns>
  1491. /// <remarks>
  1492. /// 2014.10.22 任海 新建
  1493. /// </remarks>
  1494. public static DataSet GetGoodsLevelData(SUserInfo sUserInfo, byte pValue)
  1495. {
  1496. try
  1497. {
  1498. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1499. try
  1500. {
  1501. //获取产品分级的数据
  1502. string sqlString = "select tp_mst_goodslevel.goodslevelid,"
  1503. + "tp_mst_goodslevel.goodslevelname,"
  1504. + "tp_sys_goodsleveltype.goodsleveltypename,"
  1505. + "tp_mst_goodslevel.goodsleveltypeid,"
  1506. + "tp_mst_goodslevel.issemifinishedex,"
  1507. + "tp_mst_goodslevel.sfedisplayno,"
  1508. + "tp_mst_goodslevel.isfinishedex,"
  1509. + "tp_mst_goodslevel.fedisplayno,"
  1510. + "tp_mst_goodslevel.isfinished,"
  1511. + "tp_mst_goodslevel.isscrapped,"
  1512. + "tp_mst_goodslevel.candisable,"
  1513. + "tp_mst_goodslevel.remarks,"
  1514. + "tp_mst_goodslevel.accountid,"
  1515. + "tp_mst_goodslevel.valueflag,"
  1516. + "tp_mst_goodslevel.createtime,"
  1517. + "tp_mst_goodslevel.createuserid,"
  1518. + "tp_mst_goodslevel.updatetime,"
  1519. + "tp_mst_goodslevel.updateuserid,"
  1520. + "tp_mst_goodslevel.optimestamp"
  1521. + " from tp_mst_goodslevel"
  1522. + " left join tp_sys_goodsleveltype"
  1523. + " on tp_mst_goodslevel.goodsleveltypeid ="
  1524. + " tp_sys_goodsleveltype.goodsleveltypeid"
  1525. + " where "
  1526. + " AccountID = :AccountID";
  1527. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1528. {
  1529. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  1530. };
  1531. oracleConn.Open();
  1532. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1533. oracleConn.Close();
  1534. return result;
  1535. }
  1536. catch (Exception ex)
  1537. {
  1538. if (oracleConn.ConnState == ConnectionState.Open)
  1539. {
  1540. oracleConn.Close();
  1541. }
  1542. throw ex;
  1543. }
  1544. }
  1545. catch (Exception ex)
  1546. {
  1547. throw ex;
  1548. }
  1549. }
  1550. /// <summary>
  1551. /// 获取产品分级的数据(根据ID)
  1552. /// </summary>
  1553. /// <param name="GoodsLevelTypeID">分类类别ID</param>
  1554. /// <param name="GoodsLevelID">分类ID</param>
  1555. /// <param name="sUserInfo">用户基本信息</param>
  1556. /// <returns>DataSet</returns>
  1557. /// <remarks>
  1558. /// 2014.10.22 庄天威 新建
  1559. /// </remarks>
  1560. public static DataSet GetGoodsLevelDataById(int? GoodsLevelTypeID, int? GoodsLevelID, SUserInfo sUserInfo)
  1561. {
  1562. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1563. try
  1564. {
  1565. oracleConn.Open();
  1566. StringBuilder sbSql = new StringBuilder();
  1567. sbSql.Append(@"select GoodsLevelID,GoodsLevelName from TP_MST_GoodsLevel
  1568. where ValueFlag=1 and AccountID=" + sUserInfo.AccountID);
  1569. if (GoodsLevelTypeID != null)
  1570. {
  1571. sbSql.Append(" and GoodsLevelTypeID=" + GoodsLevelTypeID);
  1572. }
  1573. if (GoodsLevelID != null)
  1574. {
  1575. sbSql.Append(" and GoodsLevelID=" + GoodsLevelID);
  1576. }
  1577. DataSet results = oracleConn.GetSqlResultToDs(sbSql.ToString());
  1578. oracleConn.Close();
  1579. return results;
  1580. }
  1581. catch (Exception ex)
  1582. {
  1583. if (oracleConn.ConnState == ConnectionState.Open)
  1584. {
  1585. oracleConn.Close();
  1586. }
  1587. throw ex;
  1588. }
  1589. }
  1590. /// <summary>
  1591. /// 获取数据字典管理的数据
  1592. /// </summary>
  1593. /// <param name="Pvalue">显示停用标识</param>
  1594. /// <param name="dictionaryType">字典类别</param>
  1595. /// <param name="sUserInfo">用户基本信息</param>
  1596. /// <returns>DataSet</returns>
  1597. /// <remarks>
  1598. /// 2014.09.08 任海 新建
  1599. /// </remarks>
  1600. public static DataSet GetDictionaryData(byte Pvalue, string dictionaryType, SUserInfo sUserInfo)
  1601. {
  1602. try
  1603. {
  1604. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1605. try
  1606. {
  1607. string sqlString = String.Empty;
  1608. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  1609. //根据帐套获得数据字典管理的数据
  1610. if (Pvalue.ToString() == Constant.INT_IS_ONE.ToString())
  1611. {
  1612. sqlString = "Select DictionaryID,DictionaryType,DictionaryValue,DisplayNo,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  1613. + "UpdateUserID,OPTimeStamp,PARENTVALUE,ISLEAF from TP_MST_DataDictionary where DictionaryType = :DictionaryType and AccountID = :AccountID";
  1614. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1615. {
  1616. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  1617. new Oracle.ManagedDataAccess.Client.OracleParameter(":DictionaryType",dictionaryType)
  1618. };
  1619. }
  1620. //根据帐套,标识获得数据字典管理的数据
  1621. else if (Pvalue.ToString() == Constant.INT_IS_ZERO.ToString())
  1622. {
  1623. sqlString = "Select DictionaryID,DictionaryType,DictionaryValue,DisplayNo,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  1624. + "UpdateUserID,OPTimeStamp,PARENTVALUE,ISLEAF from TP_MST_DataDictionary where valueflag = :valueflag and DictionaryType = :DictionaryType and AccountID = :AccountID";
  1625. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1626. {
  1627. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  1628. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  1629. new Oracle.ManagedDataAccess.Client.OracleParameter(":DictionaryType",dictionaryType)
  1630. };
  1631. }
  1632. oracleConn.Open();
  1633. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1634. oracleConn.Close();
  1635. return result;
  1636. }
  1637. catch (Exception ex)
  1638. {
  1639. if (oracleConn.ConnState == ConnectionState.Open)
  1640. {
  1641. oracleConn.Close();
  1642. }
  1643. throw ex;
  1644. }
  1645. }
  1646. catch (Exception ex)
  1647. {
  1648. throw ex;
  1649. }
  1650. }
  1651. /// <summary>
  1652. /// 获取数据字典管理的全部数据
  1653. /// </summary>
  1654. /// <param name="sUserInfo">用户基本信息</param>
  1655. /// <returns>DataSet</returns>
  1656. /// <remarks>
  1657. /// 2014.10.31 任海 新建
  1658. /// </remarks>
  1659. public static DataSet GetAllDataDictionaryInfo(SUserInfo sUserInfo)
  1660. {
  1661. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1662. try
  1663. {
  1664. //获取数据字典管理的全部数据
  1665. string sqlString = "Select DictionaryID,DictionaryType,DictionaryValue,DisplayNo,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  1666. + "UpdateUserID,OPTimeStamp,PARENTVALUE,ISLEAF from TP_MST_DataDictionary where AccountID = :AccountID order by DictionaryType,DisplayNo";
  1667. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1668. {
  1669. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1670. };
  1671. oracleConn.Open();
  1672. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1673. oracleConn.Close();
  1674. return result;
  1675. }
  1676. catch (Exception ex)
  1677. {
  1678. if (oracleConn.ConnState == ConnectionState.Open)
  1679. {
  1680. oracleConn.Close();
  1681. }
  1682. throw ex;
  1683. }
  1684. }
  1685. /// <summary>
  1686. /// 获取数据字典左侧树的数据
  1687. /// </summary>
  1688. /// <returns>DataSet</returns>
  1689. /// <remarks>
  1690. /// 2014.09.15 任海 新建
  1691. /// </remarks>
  1692. public static DataSet GetDataDictionaryTreeData()
  1693. {
  1694. DataSet dSetResult = new DataSet();
  1695. try
  1696. {
  1697. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1698. try
  1699. {
  1700. //获取数据字典分类
  1701. string sqlString = "Select DataDictionaryClass,DataDictionaryClassName,DisplayNo from TP_SYS_DataDictionaryClass where PROGRAMTYPE = '1' Order By DisplayNo";
  1702. oracleConn.Open();
  1703. DataTable result = oracleConn.GetSqlResultToDt(sqlString);
  1704. result.TableName = "TP_SYS_DataDictionaryClass";
  1705. dSetResult.Tables.Add(result);
  1706. //获取数据字典类别
  1707. string sqlStrings = "select DataDictionaryType,DataDictionaryTypeName,DataDictionaryClass,DisplayNo from TP_SYS_DataDictionaryType Order By DisplayNo";
  1708. DataTable results = oracleConn.GetSqlResultToDt(sqlStrings);
  1709. results.TableName = "TP_SYS_DataDictionaryType";
  1710. dSetResult.Tables.Add(results);
  1711. oracleConn.Close();
  1712. return dSetResult;
  1713. }
  1714. catch (Exception ex)
  1715. {
  1716. if (oracleConn.ConnState == ConnectionState.Open)
  1717. {
  1718. oracleConn.Close();
  1719. }
  1720. throw ex;
  1721. }
  1722. }
  1723. catch (Exception ex)
  1724. {
  1725. throw ex;
  1726. }
  1727. }
  1728. /// <summary>
  1729. /// 获取系统参数管理的数据
  1730. /// </summary>
  1731. /// <param name="sUserInfo">用户基本信息</param>
  1732. /// <returns>DataSet</returns>
  1733. /// <remarks>
  1734. /// 2014.09.15 任海 新建
  1735. /// </remarks>
  1736. public static DataSet GetSystemData(SUserInfo sUserInfo)
  1737. {
  1738. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1739. try
  1740. {
  1741. //获取系统参数管理的数据
  1742. string sqlString = "Select SettingCode,SettingName,CategoryName,SettingValue,SettingDefaultValues,AccountID,Remarks,Tooltip,EditFlag,UpdateTime,"
  1743. + "UpdateUserID,OPTimeStamp from TP_MST_SystemSetting where AccountID = :AccountID";
  1744. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1745. {
  1746. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1747. };
  1748. oracleConn.Open();
  1749. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1750. oracleConn.Close();
  1751. return result;
  1752. }
  1753. catch (Exception ex)
  1754. {
  1755. if (oracleConn.ConnState == ConnectionState.Open)
  1756. {
  1757. oracleConn.Close();
  1758. }
  1759. throw ex;
  1760. }
  1761. }
  1762. /// <summary>
  1763. /// 通过SettingCode获取系统参数管理的数据
  1764. /// </summary>
  1765. /// <param name="sUserInfo">用户基本信息</param>
  1766. /// <returns>DataSet</returns>
  1767. /// <remarks>
  1768. /// 2016.10.10 王鑫 新建
  1769. /// </remarks>
  1770. public static DataSet GetSystemSettingDataByCode(string settingcode, SUserInfo sUserInfo)
  1771. {
  1772. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1773. try
  1774. {
  1775. //获取系统参数管理的数据
  1776. string sqlString = "Select SettingCode,SettingName,CategoryName,SettingValue,SettingDefaultValues,AccountID,Remarks,Tooltip,EditFlag,UpdateTime,"
  1777. + "UpdateUserID,OPTimeStamp from TP_MST_SystemSetting where AccountID = :AccountID and SettingCode=:SettingCode";
  1778. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1779. {
  1780. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  1781. new Oracle.ManagedDataAccess.Client.OracleParameter(":SettingCode",settingcode)
  1782. };
  1783. oracleConn.Open();
  1784. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1785. oracleConn.Close();
  1786. return result;
  1787. }
  1788. catch (Exception ex)
  1789. {
  1790. if (oracleConn.ConnState == ConnectionState.Open)
  1791. {
  1792. oracleConn.Close();
  1793. }
  1794. throw ex;
  1795. }
  1796. }
  1797. /// <summary>
  1798. /// 由系统参数类型settingType获取系统参数类别和名称
  1799. /// </summary>
  1800. /// <param name="settingType">系统参数类型</param>
  1801. /// <param name="sUserInfo">用户基本信息</param>
  1802. /// <param name="functionName">系统参数类别</param>
  1803. /// <param name="parameterName">系统参数名称</param>
  1804. /// <returns>DataSet</returns>
  1805. /// <remarks>
  1806. /// 2014.09.18 任海 新建
  1807. /// </remarks>
  1808. private static void GetParameterBySystemType(string settingType, SUserInfo sUserInfo,
  1809. ref string functionName, ref string parameterName)
  1810. {
  1811. if (string.IsNullOrEmpty(settingType))
  1812. {
  1813. return;
  1814. }
  1815. switch (settingType)
  1816. {
  1817. #region 系统登录
  1818. case "S_LGN_0001":
  1819. functionName = "系统登录";
  1820. parameterName = "错误密码尝试登录次数";
  1821. break;
  1822. case "S_LGN_0002":
  1823. functionName = "系统登录";
  1824. parameterName = "用户锁定时长";
  1825. break;
  1826. case "S_LGN_0003":
  1827. functionName = "系统登录";
  1828. parameterName = "启用MAC地址认证";
  1829. break;
  1830. case "S_LGN_0004":
  1831. functionName = "系统登录";
  1832. parameterName = "启用登录时段限制";
  1833. break;
  1834. case "SS_LGN_05":
  1835. functionName = "系统登录";
  1836. parameterName = "启用即时通讯";
  1837. break;
  1838. #endregion
  1839. #region 共通设置
  1840. case "SS_CMN_01":
  1841. functionName = "共通设置";
  1842. parameterName = "金额小数位数";
  1843. break;
  1844. case "S_CMN_0003":
  1845. functionName = "共通设置";
  1846. parameterName = "结算账务日期";
  1847. break;
  1848. case "S_CMN_0001":
  1849. functionName = "共通设置";
  1850. parameterName = "默认用户密码";
  1851. break;
  1852. case "SS_CMN_04":
  1853. functionName = "共通设置";
  1854. parameterName = "重量小数位数";
  1855. break;
  1856. case "S_CMN_0004":
  1857. functionName = "共通设置";
  1858. parameterName = "账务时间";
  1859. break;
  1860. case "S_CMN_0002":
  1861. functionName = "共通设置";
  1862. parameterName = "年度开始月份";
  1863. break;
  1864. case "SS_CMN_07":
  1865. functionName = "共通设置";
  1866. parameterName = "每页显示数量";
  1867. break;
  1868. #endregion
  1869. default:
  1870. break;
  1871. }
  1872. }
  1873. /// <summary>
  1874. /// 获取工种管理的数据
  1875. /// </summary>
  1876. /// <param name="pValue">显示停用标识</param>
  1877. /// <param name="sUserInfo">用户基本信息</param>
  1878. /// <returns>DataSet</returns>
  1879. /// <remarks>
  1880. /// 2014.09.04 任海 新建
  1881. /// </remarks>
  1882. public static DataSet GetJobsData(byte pValue, SUserInfo sUserInfo)
  1883. {
  1884. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1885. try
  1886. {
  1887. string sqlString = string.Empty;
  1888. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  1889. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  1890. {
  1891. // 0 as Sel, 陈冰添加根据帐套查询数据
  1892. sqlString = "Select 0 as Sel,JobsID,JobsCode,JobsName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1893. + "from TP_MST_Jobs where AccountID = :AccountID";
  1894. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1895. {
  1896. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1897. };
  1898. }
  1899. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  1900. {
  1901. // 0 as Sel, 陈冰添加根据账套帐标识符查询数据
  1902. sqlString = "Select 0 as Sel,JobsID,JobsCode,JobsName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1903. + "from TP_MST_Jobs where valueflag = :valueflag and AccountID = :AccountID";
  1904. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1905. {
  1906. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  1907. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1908. };
  1909. }
  1910. oracleConn.Open();
  1911. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1912. oracleConn.Close();
  1913. return result;
  1914. }
  1915. catch (Exception ex)
  1916. {
  1917. if (oracleConn.ConnState == ConnectionState.Open)
  1918. {
  1919. oracleConn.Close();
  1920. }
  1921. throw ex;
  1922. }
  1923. }
  1924. /// <summary>
  1925. /// 获取工种管理的全部数据
  1926. /// </summary>
  1927. /// <param name="sUserInfo">用户基本信息</param>
  1928. /// <returns></returns>
  1929. /// <remarks>
  1930. /// 2014.10.31 任海 新建
  1931. /// </remarks>
  1932. public static DataSet GetAllJobsInfo(SUserInfo sUserInfo)
  1933. {
  1934. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1935. try
  1936. {
  1937. string sqlString = "Select JobsID,JobsCode,JobsName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1938. + "from TP_MST_Jobs where AccountID = :AccountID";
  1939. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1940. {
  1941. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1942. };
  1943. oracleConn.Open();
  1944. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1945. oracleConn.Close();
  1946. return result;
  1947. }
  1948. catch (Exception ex)
  1949. {
  1950. if (oracleConn.ConnState == ConnectionState.Open)
  1951. {
  1952. oracleConn.Close();
  1953. }
  1954. throw ex;
  1955. }
  1956. }
  1957. /// <summary>
  1958. /// 获取职务管理的数据
  1959. /// </summary>
  1960. /// <param name="pValue">显示停用标识</param>
  1961. /// <param name="sUserInfo">用户基本信息</param>
  1962. /// <returns>DataSet</returns>
  1963. /// <remarks>
  1964. /// 2014.09.10 任海 新建
  1965. /// </remarks>
  1966. public static DataSet GetPostData(byte pValue, SUserInfo sUserInfo)
  1967. {
  1968. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1969. try
  1970. {
  1971. string sqlString = string.Empty;
  1972. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  1973. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  1974. {
  1975. //根据帐套查询数据
  1976. sqlString = "Select PostID,PostCode,PostName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1977. + "from TP_MST_Post where AccountID = :AccountID";
  1978. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1979. {
  1980. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1981. };
  1982. }
  1983. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  1984. {
  1985. //根据帐套,标识符查询数据
  1986. sqlString = "Select PostID,PostCode,PostName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  1987. + "from TP_MST_Post where valueflag = :valueflag and AccountID = :AccountID";
  1988. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  1989. {
  1990. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  1991. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  1992. };
  1993. }
  1994. oracleConn.Open();
  1995. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  1996. oracleConn.Close();
  1997. return result;
  1998. }
  1999. catch (Exception ex)
  2000. {
  2001. if (oracleConn.ConnState == ConnectionState.Open)
  2002. {
  2003. oracleConn.Close();
  2004. }
  2005. throw ex;
  2006. }
  2007. }
  2008. /// <summary>
  2009. /// 获取职务管理的全部数据
  2010. /// </summary>
  2011. /// <param name="sUserInfo">用户信息</param>
  2012. /// <returns>DataSet</returns>
  2013. /// <remarks>
  2014. /// 2014.10.31 任海 新建
  2015. /// </remarks>
  2016. public static DataSet GetAllPostInfo(SUserInfo sUserInfo)
  2017. {
  2018. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2019. try
  2020. {
  2021. string sqlString = "Select PostID,PostCode,PostName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  2022. + "from TP_MST_Post where AccountID = :AccountID";
  2023. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2024. {
  2025. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2026. };
  2027. oracleConn.Open();
  2028. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2029. oracleConn.Close();
  2030. return result;
  2031. }
  2032. catch (Exception ex)
  2033. {
  2034. if (oracleConn.ConnState == ConnectionState.Open)
  2035. {
  2036. oracleConn.Close();
  2037. }
  2038. throw ex;
  2039. }
  2040. }
  2041. /// <summary>
  2042. /// 获取产品缺陷管理的数据
  2043. /// </summary>
  2044. /// <param name="pValue">显示停用标识</param>
  2045. /// <param name="sUserInfo">用户基本信息</param>
  2046. /// <returns>DataSet</returns>
  2047. /// <remarks>
  2048. /// 2014.09.10 任海 新建
  2049. /// </remarks>
  2050. public static DataSet GetDefectData(byte pValue, SUserInfo sUserInfo)
  2051. {
  2052. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2053. try
  2054. {
  2055. string sqlString = string.Empty;
  2056. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  2057. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  2058. {
  2059. // 0 as Sel, 陈冰添加根据帐套查询数据
  2060. sqlString = "Select 0 as Sel,TP_MST_Defect.DefectID,TP_MST_Defect.DefectCode,TP_MST_Defect.DefectName,TP_MST_Defect.Remarks,TP_MST_Defect.AccountID,TP_MST_Defect.ValueFlag,TP_MST_Defect.CreateTime,TP_MST_Defect.CreateUserID,TP_MST_Defect.UpdateTime,TP_MST_Defect.UpdateUserID,TP_MST_Defect.OPTimeStamp,TP_MST_Defect.DEFECTTYPEID,TP_MST_DEFECTTYPE.DEFECTTYPENAME "
  2061. + "from TP_MST_Defect left join TP_MST_DEFECTTYPE on TP_MST_Defect.DEFECTTYPEID=TP_MST_DEFECTTYPE.DEFECTTYPEID where TP_MST_Defect.AccountID = :AccountID";
  2062. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2063. {
  2064. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2065. };
  2066. }
  2067. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  2068. {
  2069. //根据帐套,标识符查询数据
  2070. sqlString = "Select 0 as Sel,TP_MST_Defect.DefectID,TP_MST_Defect.DefectCode,TP_MST_Defect.DefectName,TP_MST_Defect.Remarks,TP_MST_Defect.AccountID,TP_MST_Defect.ValueFlag,TP_MST_Defect.CreateTime,TP_MST_Defect.CreateUserID,TP_MST_Defect.UpdateTime,TP_MST_Defect.UpdateUserID,TP_MST_Defect.OPTimeStamp,TP_MST_Defect.DEFECTTYPEID,TP_MST_DEFECTTYPE.DEFECTTYPENAME "
  2071. + "from TP_MST_Defect left join TP_MST_DEFECTTYPE on TP_MST_Defect.DEFECTTYPEID=TP_MST_DEFECTTYPE.DEFECTTYPEID where TP_MST_Defect.valueflag = :valueflag and TP_MST_Defect.AccountID = :AccountID";
  2072. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2073. {
  2074. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  2075. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2076. };
  2077. }
  2078. oracleConn.Open();
  2079. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2080. oracleConn.Close();
  2081. return result;
  2082. }
  2083. catch (Exception ex)
  2084. {
  2085. if (oracleConn.ConnState == ConnectionState.Open)
  2086. {
  2087. oracleConn.Close();
  2088. }
  2089. throw ex;
  2090. }
  2091. }
  2092. /// <summary>
  2093. /// 获取产品缺陷管理的全部数据
  2094. /// </summary>
  2095. /// <param name="sUserInfo">用户基本信息</param>
  2096. /// <returns>DataSet</returns>
  2097. /// <remarks>
  2098. /// 2014.10.30 任海 新建
  2099. /// </remarks>
  2100. public static DataSet GetAllDefectInfo(SUserInfo sUserInfo)
  2101. {
  2102. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2103. try
  2104. {
  2105. string sqlString = "Select DefectID,DefectCode,DefectName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp,DefectTypeID "
  2106. + " ,displayno,S_NAME from TP_MST_Defect where AccountID = :AccountID";
  2107. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2108. {
  2109. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2110. };
  2111. oracleConn.Open();
  2112. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2113. oracleConn.Close();
  2114. return result;
  2115. }
  2116. catch (Exception ex)
  2117. {
  2118. if (oracleConn.ConnState == ConnectionState.Open)
  2119. {
  2120. oracleConn.Close();
  2121. }
  2122. throw ex;
  2123. }
  2124. }
  2125. /// <summary>
  2126. /// 获取成型线类型管理的数据
  2127. /// </summary>
  2128. /// <param name="pValue">显示停用标识</param>
  2129. /// <param name="sUserInfo">用户基本信息</param>
  2130. /// <returns>DataSet</returns>
  2131. /// <remarks>
  2132. /// 2014.09.11 任海 新建
  2133. /// </remarks>
  2134. public static DataSet GetGMouldTypeData(byte pValue, SUserInfo sUserInfo)
  2135. {
  2136. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2137. try
  2138. {
  2139. string sqlString = string.Empty;
  2140. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  2141. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  2142. {
  2143. //根据帐套查询数据
  2144. sqlString = "Select GMouldTypeID,GMouldTypeCode,GMouldTypeName,CanManyTimes,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  2145. + "UpdateUserID,OPTimeStamp from TP_MST_GMouldType where AccountID = :AccountID";
  2146. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2147. {
  2148. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2149. };
  2150. }
  2151. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  2152. {
  2153. //根据帐套,标识符查询数据
  2154. sqlString = "Select GMouldTypeID,GMouldTypeCode,GMouldTypeName,CanManyTimes,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  2155. + "UpdateUserID,OPTimeStamp from TP_MST_GMouldType where valueflag = :valueflag and AccountID = :AccountID";
  2156. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2157. {
  2158. new Oracle.ManagedDataAccess.Client.OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  2159. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2160. };
  2161. }
  2162. oracleConn.Open();
  2163. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2164. oracleConn.Close();
  2165. return result;
  2166. }
  2167. catch (Exception ex)
  2168. {
  2169. if (oracleConn.ConnState == ConnectionState.Open)
  2170. {
  2171. oracleConn.Close();
  2172. }
  2173. throw ex;
  2174. }
  2175. }
  2176. /// <summary>
  2177. /// 获取成型线类型管理的全部数据
  2178. /// </summary>
  2179. /// <param name="sUserInfo">用户基本信息</param>
  2180. /// <returns>DataSet</returns>
  2181. /// <remarks>
  2182. /// 2014.10.31 任海 新建
  2183. /// </remarks>
  2184. public static DataSet GetAllGMouldTypeInfo(SUserInfo sUserInfo)
  2185. {
  2186. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2187. try
  2188. {
  2189. string sqlString = "Select GMouldTypeID,GMouldTypeCode,GMouldTypeName,CanManyTimes,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,"
  2190. + "UpdateUserID,OPTimeStamp from TP_MST_GMouldType where AccountID = :AccountID";
  2191. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2192. {
  2193. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2194. };
  2195. oracleConn.Open();
  2196. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2197. oracleConn.Close();
  2198. return result;
  2199. }
  2200. catch (Exception ex)
  2201. {
  2202. if (oracleConn.ConnState == ConnectionState.Open)
  2203. {
  2204. oracleConn.Close();
  2205. }
  2206. throw ex;
  2207. }
  2208. }
  2209. /// <summary>
  2210. /// 查询温湿计信息
  2211. /// </summary>
  2212. /// <param name="sUserInfo">用户基本信息</param>
  2213. /// <param name="thermometerEntity">温湿计信息实体</param>
  2214. /// <returns>DataSet</returns>
  2215. /// <remarks>
  2216. /// 2014.12.24 任海 新建
  2217. /// </remarks>
  2218. public static DataSet GetThermometer(ThermometerEntity thermometerEntity, SUserInfo userInfo)
  2219. {
  2220. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2221. try
  2222. {
  2223. StringBuilder sbSql = new StringBuilder();
  2224. // sbSql.Append(@"Select ThermometerID,BuildingNo,FloorNo,LocationCode,ThermometerCode,ManagerName,Remarks,AccountID,ValueFlag,CreateTime,
  2225. // CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp from TP_MST_Thermometer
  2226. // where (:ThermometerID is null or ThermometerID = :ThermometerID)
  2227. // and (:AccountID is null or AccountID = :AccountID)
  2228. // and (:ValueFlag is null or ValueFlag = :ValueFlag or 2 = :ValueFlag)
  2229. // and (:BuildingNo is null or BuildingNo = :BuildingNo)
  2230. // and (:FloorNo is null or FloorNo = :FloorNo)
  2231. // and (:LocationCode is null or LocationCode = :LocationCode)
  2232. // and (:ThermometerCode is null or ThermometerCode = :ThermometerCode)
  2233. // and (:ManagerName is null or ManagerName = :ManagerName)
  2234. // and (:Remarks is null or Remarks = :Remarks )
  2235. // and (:SelectUserId is null
  2236. // or ThermometerID in (Select PurviewId from TP_MST_UserPurview
  2237. // where PurviewType=12 and UserId=:SelectUserId))
  2238. // Order by ThermometerID desc");
  2239. sbSql.Append(@"Select 0 AS Sel, ThermometerID,BuildingNo,FloorNo,LocationCode,ThermometerCode,ManagerName,Remarks,AccountID,ValueFlag,CreateTime,
  2240. CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp from TP_MST_Thermometer
  2241. where (:ThermometerID is null or ThermometerID = :ThermometerID)
  2242. and (:AccountID is null or AccountID = :AccountID)
  2243. and (:ValueFlag is null or ValueFlag = :ValueFlag or 2 = :ValueFlag)
  2244. and (:BuildingNo is null or BuildingNo = :BuildingNo)
  2245. and (:FloorNo is null or FloorNo = :FloorNo)
  2246. and (:LocationCode is null or LocationCode = :LocationCode)
  2247. and (:ThermometerCode is null or ThermometerCode = :ThermometerCode)
  2248. and (:ManagerName is null or ManagerName = :ManagerName)
  2249. and (:Remarks is null or Remarks = :Remarks )
  2250. and (:SelectUserId is null
  2251. or exists (Select PurviewId from TP_MST_UserPurview
  2252. where PurviewType=12 and (TP_MST_UserPurview.PurviewID = -1 or TP_MST_UserPurview.PurviewID = TP_MST_Thermometer.ThermometerID) and UserId=:SelectUserId))
  2253. Order by ThermometerID desc");
  2254. OracleParameter[] ThermometerParas = new OracleParameter[]{
  2255. new OracleParameter(":ThermometerID",OracleDbType.Int32,
  2256. thermometerEntity.ThermometerID,ParameterDirection.Input),
  2257. new OracleParameter(":AccountID",OracleDbType.Int32,
  2258. userInfo.AccountID,ParameterDirection.Input),
  2259. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  2260. thermometerEntity.ValueFlag,ParameterDirection.Input),
  2261. new OracleParameter(":BuildingNo",OracleDbType.NVarchar2,
  2262. thermometerEntity.BuildingNo,ParameterDirection.Input),
  2263. new OracleParameter(":FloorNo",OracleDbType.NVarchar2,
  2264. thermometerEntity.FloorNo,ParameterDirection.Input),
  2265. new OracleParameter(":LocationCode",OracleDbType.NVarchar2,
  2266. thermometerEntity.LocationCode,ParameterDirection.Input),
  2267. new OracleParameter(":ThermometerCode",OracleDbType.NVarchar2,
  2268. thermometerEntity.ThermometerCode,ParameterDirection.Input),
  2269. new OracleParameter(":ManagerName",OracleDbType.NVarchar2,
  2270. thermometerEntity.ManagerName,ParameterDirection.Input),
  2271. new OracleParameter(":Remarks",OracleDbType.NVarchar2,
  2272. thermometerEntity.Remarks,ParameterDirection.Input),
  2273. new OracleParameter(":SelectUserId",OracleDbType.NVarchar2,
  2274. thermometerEntity.SelectUserId,ParameterDirection.Input),
  2275. };
  2276. oracleConn.Open();
  2277. DataSet result = oracleConn.GetSqlResultToDs(sbSql.ToString(), ThermometerParas);
  2278. oracleConn.Close();
  2279. return result;
  2280. }
  2281. catch (Exception ex)
  2282. {
  2283. if (oracleConn.ConnState == ConnectionState.Open)
  2284. {
  2285. oracleConn.Close();
  2286. }
  2287. throw ex;
  2288. }
  2289. }
  2290. /// <summary>
  2291. /// 获取配置员工的数据
  2292. /// </summary>
  2293. /// <param name="userID">用户ID</param>
  2294. /// <param name="sUserInfo">用户基本信息</param>
  2295. /// <returns>DataSet</returns>
  2296. /// <remarks>
  2297. /// 2014.10.13 任海 新建
  2298. public static DataSet GetDeploystaffData(int userID, SUserInfo sUserInfo)
  2299. {
  2300. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2301. try
  2302. {
  2303. string sqlString = "select TP_HR_Staff.Staffcode,"
  2304. + "TP_HR_Staff.Staffname,"
  2305. + "TP_HR_Staff.Staffid,"
  2306. + "TP_HR_Staff.Jobs,"
  2307. + "TP_HR_Staff.OrganizationID,"
  2308. + "TP_HR_Staff.StaffStatus,"
  2309. + "TP_MST_Jobs.Jobsname,"
  2310. + "TP_MST_Organization.Organizationname,"
  2311. + "TP_SYS_StaffStatus.Staffstatusname"
  2312. + " from TP_HR_Staff"
  2313. + " left join TP_MST_Jobs"
  2314. + " on TP_MST_Jobs.Jobsid = TP_HR_Staff.Jobs"
  2315. + " left join TP_MST_Organization"
  2316. + " on TP_MST_Organization.Organizationid = TP_HR_Staff.Organizationid"
  2317. + " left join TP_SYS_StaffStatus"
  2318. + " on TP_SYS_StaffStatus.StaffStatusID = TP_HR_Staff.StaffStatus"
  2319. + " WHERE TP_HR_Staff.AccountID = :AccountID"
  2320. + " AND TP_HR_Staff.userID = :userID AND TP_HR_Staff.ValueFlag = 1";
  2321. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2322. {
  2323. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  2324. new Oracle.ManagedDataAccess.Client.OracleParameter(":userID",userID)
  2325. };
  2326. oracleConn.Open();
  2327. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2328. oracleConn.Close();
  2329. return result;
  2330. }
  2331. catch (Exception ex)
  2332. {
  2333. if (oracleConn.ConnState == ConnectionState.Open)
  2334. {
  2335. oracleConn.Close();
  2336. }
  2337. throw ex;
  2338. }
  2339. }
  2340. /// <summary>
  2341. /// 获取缺陷位置的数据
  2342. /// </summary>
  2343. /// <param name="valueFlag">正常标识</param>
  2344. /// <param name="sUserInfo">用户基本信息</param>
  2345. /// <returns>DataSet</returns>
  2346. /// <remarks>
  2347. /// 2014.09.10 冯雪 新建
  2348. /// 2014.10.28 任海 修改
  2349. /// </remarks>
  2350. public static DataSet GetDefectPositionData(byte pValue, SUserInfo sUserInfo)
  2351. {
  2352. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2353. try
  2354. {
  2355. string sqlString = string.Empty;
  2356. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  2357. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  2358. {
  2359. //根据帐套查询数据
  2360. sqlString = "Select DefectPositionID,DefectPositionCode,DefectPositionName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,"
  2361. + "UpdateTime,UpdateUserID,OPTimeStamp from TP_MST_DefectPosition where AccountID =:accountID";
  2362. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2363. {
  2364. new OracleParameter(":accountID",sUserInfo.AccountID)
  2365. };
  2366. }
  2367. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  2368. {
  2369. //根据帐套,标识符查询数据
  2370. sqlString = "Select DefectPositionID,DefectPositionCode,DefectPositionName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,"
  2371. + "UpdateTime,UpdateUserID,OPTimeStamp from TP_MST_DefectPosition where valueflag = :valueflag and AccountID =:accountID";
  2372. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2373. {
  2374. new OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  2375. new OracleParameter(":accountID",sUserInfo.AccountID)
  2376. };
  2377. }
  2378. oracleConn.Open();
  2379. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2380. oracleConn.Close();
  2381. return result;
  2382. }
  2383. catch (Exception ex)
  2384. {
  2385. if (oracleConn.ConnState == ConnectionState.Open)
  2386. {
  2387. oracleConn.Close();
  2388. }
  2389. throw ex;
  2390. }
  2391. }
  2392. /// <summary>
  2393. /// 获取缺陷位置管理的全部数据
  2394. /// </summary>
  2395. /// <param name="sUserInfo">用户基本信息</param>
  2396. /// <returns>DataSet</returns>
  2397. /// <remarks>
  2398. /// 2014.10.31 任海 新建
  2399. /// </remarks>
  2400. public static DataSet GetAllDefectPositionInfo(SUserInfo sUserInfo)
  2401. {
  2402. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2403. try
  2404. {
  2405. string sqlString = "Select DefectPositionID,DefectPositionCode,DefectPositionName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,"
  2406. + "UpdateTime,UpdateUserID,OPTimeStamp ,displayno,S_NAME from TP_MST_DefectPosition where AccountID =:accountID";
  2407. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2408. {
  2409. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  2410. };
  2411. oracleConn.Open();
  2412. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2413. oracleConn.Close();
  2414. return result;
  2415. }
  2416. catch (Exception ex)
  2417. {
  2418. if (oracleConn.ConnState == ConnectionState.Open)
  2419. {
  2420. oracleConn.Close();
  2421. }
  2422. throw ex;
  2423. }
  2424. }
  2425. /// <summary>
  2426. /// 获取产品类型的数据
  2427. /// </summary>
  2428. /// <param name="pValue">正常标识</param>
  2429. /// <param name="sUserInfo">用户基本信息</param>
  2430. /// <returns>DataSet</returns>
  2431. /// <remarks>
  2432. /// 2014.09.11 冯雪 新建
  2433. /// 2014.10.28 任海 修改
  2434. /// </remarks>
  2435. public static DataSet GetGoodsTypeData(byte pValue, SUserInfo sUserInfo)
  2436. {
  2437. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2438. try
  2439. {
  2440. string sqlString = string.Empty;
  2441. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = null;
  2442. if (pValue.ToString() == Constant.INT_IS_ONE.ToString())
  2443. {
  2444. //根据帐套查询数据
  2445. sqlString = "Select * from TP_MST_GoodsType where AccountID =:accountID";
  2446. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2447. {
  2448. new OracleParameter(":accountID",sUserInfo.AccountID)
  2449. };
  2450. }
  2451. else if (pValue.ToString() == Constant.INT_IS_ZERO.ToString())
  2452. {
  2453. //根据帐套,标识符查询数据
  2454. sqlString = "Select * from TP_MST_GoodsType where valueflag = :valueflag and AccountID =:accountID";
  2455. oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2456. {
  2457. new OracleParameter(":valueflag",Constant.INT_IS_ONE.ToString()),
  2458. new OracleParameter(":accountID",sUserInfo.AccountID)
  2459. };
  2460. }
  2461. oracleConn.Open();
  2462. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2463. oracleConn.Close();
  2464. return result;
  2465. }
  2466. catch (Exception ex)
  2467. {
  2468. if (oracleConn.ConnState == ConnectionState.Open)
  2469. {
  2470. oracleConn.Close();
  2471. }
  2472. throw ex;
  2473. }
  2474. }
  2475. /// <summary>
  2476. /// 获取产品类型的数据
  2477. /// </summary>
  2478. /// <param name="sUserInfo">用户基本信息</param>
  2479. /// <returns>DataSet</returns>
  2480. /// <remarks>
  2481. /// </remarks>
  2482. public static DataSet GetAllGoodsTypeData(SUserInfo sUserInfo)
  2483. {
  2484. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2485. try
  2486. {
  2487. string sqlString = "Select * from TP_MST_GoodsType where AccountID =:accountID order by goodstypecode";
  2488. OracleParameter[] oracleParameter = new OracleParameter[]
  2489. {
  2490. new OracleParameter(":accountID",sUserInfo.AccountID)
  2491. };
  2492. oracleConn.Open();
  2493. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  2494. oracleConn.Close();
  2495. return result;
  2496. }
  2497. catch (Exception ex)
  2498. {
  2499. if (oracleConn.ConnState == ConnectionState.Open)
  2500. {
  2501. oracleConn.Close();
  2502. }
  2503. throw ex;
  2504. }
  2505. }
  2506. /// <summary>
  2507. /// 按条件获取产品类型的数据
  2508. /// </summary>
  2509. /// <param name="valueFlag">正常标识</param>
  2510. /// <param name="typeCode">产品类型编码</param>
  2511. /// <param name="sUserInfo">用户基本信息</param>
  2512. /// <returns>DataSet</returns>
  2513. /// <remarks>
  2514. /// 2014.09.11 冯雪 新建
  2515. /// </remarks>
  2516. public static DataSet GetGoodsTyperData(byte pValue, string typeCode, SUserInfo sUserInfo)
  2517. {
  2518. try
  2519. {
  2520. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2521. try
  2522. {
  2523. string strValueFlag = "1";
  2524. if (pValue.ToString().Equals("1"))
  2525. {
  2526. strValueFlag = "0";
  2527. }
  2528. string strSql = " Select * from TP_MST_GoodsType "
  2529. + " where valueflag = :valueflag "
  2530. + " and AccountID =:accountID "
  2531. + " and goodstypecode like :typeCode"
  2532. + " order by goodstypecode ";
  2533. Oracle.ManagedDataAccess.Client.OracleParameter[] paras1 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2534. {
  2535. new OracleParameter(":valueflag",strValueFlag),
  2536. new OracleParameter(":typeCode",typeCode+"%"),
  2537. new OracleParameter(":accountID",sUserInfo.AccountID)
  2538. };
  2539. oracleConn.Open();
  2540. DataSet result = oracleConn.GetSqlResultToDs(strSql, paras1);
  2541. oracleConn.Close();
  2542. return result;
  2543. }
  2544. catch (Exception ex)
  2545. {
  2546. if (oracleConn.ConnState == ConnectionState.Open)
  2547. {
  2548. oracleConn.Close();
  2549. }
  2550. throw ex;
  2551. }
  2552. }
  2553. catch (Exception ex)
  2554. {
  2555. throw ex;
  2556. }
  2557. }
  2558. /// <summary>
  2559. /// 获取产品档案的ID
  2560. /// </summary>
  2561. /// <param name="sUserInfo">用户基本信息</param>
  2562. /// <param name="GoodsTypeID">产品档案的ID</param>
  2563. /// <returns>DataSet</returns>
  2564. /// <remarks>
  2565. /// 2014.10.27 任海 新建
  2566. /// </remarks>
  2567. public static DataSet GetGoodsTypeIDData(SUserInfo sUserInfo, int GoodsTypeID)
  2568. {
  2569. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2570. try
  2571. {
  2572. string strSql = "Select * from TP_MST_Goods where GoodsTypeID = :GoodsTypeID and AccountID =:accountID";
  2573. Oracle.ManagedDataAccess.Client.OracleParameter[] paras1 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2574. {
  2575. new OracleParameter(":accountID",sUserInfo.AccountID),
  2576. new OracleParameter(":GoodsTypeID",GoodsTypeID)
  2577. };
  2578. oracleConn.Open();
  2579. DataSet result = oracleConn.GetSqlResultToDs(strSql, paras1);
  2580. oracleConn.Close();
  2581. return result;
  2582. }
  2583. catch (Exception ex)
  2584. {
  2585. if (oracleConn.ConnState == ConnectionState.Open)
  2586. {
  2587. oracleConn.Close();
  2588. }
  2589. throw ex;
  2590. }
  2591. }
  2592. /// <summary>
  2593. /// 获取用户操作权限
  2594. /// </summary>
  2595. /// <param name="userID">用户ID</param>
  2596. /// <param name="sUserInfo">用户基本信息</param>
  2597. /// <returns>DataSet用户操作权限集合</returns>
  2598. public static DataSet GetUserRightData(int userID, SUserInfo sUserInfo)
  2599. {
  2600. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2601. try
  2602. {
  2603. DataSet returnUserRight = new DataSet();
  2604. //查看部门权限
  2605. string strSqlViewOrg = "select a.OrganizationID as PurviewID,a.OrganizationCode,a.OrganizationName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 1 as PurviewType from ("
  2606. + "SELECT OrganizationID, OrganizationCode,OrganizationName, 0 FROM TP_MST_Organization WHERE AccountID = :AccountID ) a "
  2607. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 1 ) b on a.OrganizationID=b.purviewid";
  2608. //操作部门权限
  2609. string strSqlOrg = "select a.OrganizationID as PurviewID,a.OrganizationCode,a.OrganizationName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 2 as PurviewType from ("
  2610. + "SELECT OrganizationID, OrganizationCode,OrganizationName, 0 FROM TP_MST_Organization WHERE ValueFlag = 1 and AccountID = :AccountID ) a "
  2611. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 2) b on a.OrganizationID=b.purviewid ";
  2612. //查看工号范围权限
  2613. string strSqlViewUser = "select a.UserID as PurviewID,a.UserCode,a.UserName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 3 as PurviewType,a.OrganizationName,a.OrganizationFullName,a.ValueFlag from ("
  2614. + "SELECT TP_MST_User.UserID, TP_MST_User.UserCode,TP_MST_User.UserName,TP_MST_User.ValueFlag,TP_MST_Organization.OrganizationName,TP_MST_Organization.OrganizationFullName FROM TP_MST_User left join TP_MST_Organization on TP_MST_User.ORGANIZATIONID=TP_MST_Organization.ORGANIZATIONID WHERE TP_MST_User.AccountID = :AccountID and TP_MST_USER.UserCode != 'admin' ) a "
  2615. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 3) b on a.UserID=b.purviewid ";
  2616. // + " union all (SELECT -1 as PurviewID,null as UserCode,null as UserName,1 as RightFlag,3 as PurviewType,null as OrganizationName,null as OrganizationFullName,null as ValueFlag FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 3 and purviewid=-1)";
  2617. //操作工号范围权限
  2618. string strSqlUser = "select a.UserID as PurviewID,a.UserCode,a.UserName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 4 as PurviewType,a.OrganizationName,a.OrganizationFullName,a.ValueFlag from ("
  2619. + "SELECT TP_MST_User.UserID, TP_MST_User.UserCode,TP_MST_User.UserName,TP_MST_User.ValueFlag,TP_MST_Organization.OrganizationName,TP_MST_Organization.OrganizationFullName FROM TP_MST_User left join TP_MST_Organization on TP_MST_User.ORGANIZATIONID=TP_MST_Organization.ORGANIZATIONID WHERE TP_MST_User.ValueFlag=1 and TP_MST_User.AccountID = :AccountID and TP_MST_USER.UserCode != 'admin' ) a "
  2620. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 4) b on a.UserID=b.purviewid ";
  2621. //查看成型线范围权限
  2622. string strSqlViewGroutingLine = "select a.Groutinglineid as PurviewID,a.Groutinglinecode,a.GroutinglineName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 5 as PurviewType,a.ValueFlag from ("
  2623. + " select Groutinglineid,Groutinglinecode,GroutinglineName,ValueFlag from tp_pc_groutingline where tp_pc_groutingline.AccountID = :AccountID and ValueFlag in(0,1) Order by Groutinglinecode ) a "
  2624. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 5) b on a.Groutinglineid=b.purviewid and a.ValueFlag in(0,1)";
  2625. //操作成型线范围权限
  2626. string strSqlGroutingLine = "select a.Groutinglineid as PurviewID,a.Groutinglinecode,a.GroutinglineName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 6 as PurviewType,a.ValueFlag from ("
  2627. + " select Groutinglineid,Groutinglinecode,GroutinglineName,ValueFlag from tp_pc_groutingline where tp_pc_groutingline.AccountID = :AccountID and ValueFlag in(0,1) Order by Groutinglinecode ) a "
  2628. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 6) b on a.Groutinglineid=b.purviewid and a.ValueFlag in(0,1)";
  2629. //查看生产线范围权限
  2630. string strSqlViewProductionLine = "select a.ProductionLineid as PurviewID,a.ProductionLineCode,a.ProductionLinename,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 7 as PurviewType,a.ValueFlag from ("
  2631. + " select ProductionLineid,ProductionLineCode,ProductionLinename,ValueFlag from tp_pc_productionline where tp_pc_productionline.AccountID = :AccountID and tp_pc_productionline.valueflag=1 Order by ProductionLineCode ) a "
  2632. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 7) b on a.ProductionLineid=b.purviewid ";
  2633. //操作生产线范围权限
  2634. string strSqlProductionLine = "select a.ProductionLineid as PurviewID,a.ProductionLineCode,a.ProductionLinename,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 8 as PurviewType,a.ValueFlag from ("
  2635. + " select ProductionLineid,ProductionLineCode,ProductionLinename,ValueFlag from tp_pc_productionline where tp_pc_productionline.AccountID = :AccountID and ValueFlag=1 Order by ProductionLineCode ) a "
  2636. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 8) b on a.ProductionLineid=b.purviewid ";
  2637. //查看工序范围权限
  2638. string strSqlViewProcedure = "select a.Procedureid as PurviewID,a.ProcedureCode,a.Procedurename,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 9 as PurviewType,a.ValueFlag,a.ProductionLineid from ("
  2639. + " select Procedureid,ProcedureCode,Procedurename,ProductionLineid,valueflag from tp_pc_procedure where tp_pc_procedure.AccountID = :AccountID Order by displayno) a "
  2640. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 9) b on a.Procedureid=b.purviewid ";
  2641. //操作工序范围权限
  2642. //string strSqlProcedure = "select a.Procedureid as PurviewID,a.ProcedureCode,a.Procedurename,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 10 as PurviewType,a.ValueFlag,a.ProductionLineid from ("
  2643. // + " select Procedureid,ProcedureCode,Procedurename,ProductionLineid,valueflag from tp_pc_procedure where tp_pc_procedure.AccountID = :AccountID Order by ProcedureCode) a "
  2644. // + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 10) b on a.Procedureid=b.purviewid ";
  2645. string strSqlProcedure = @"select a.Procedureid as PurviewID,a.ProcedureCode,a.Procedurename,
  2646. a.Productionlinecode,a.Productionlinename,
  2647. case (nvl(b.purviewid,0))
  2648. when 0 then 0 else 1 end as RightFlag, 10 as PurviewType,a.ValueFlag,a.ProductionLineid from (
  2649. select tp_pc_procedure.displayno, tp_pc_procedure.Procedureid, tp_pc_procedure.ProcedureCode, tp_pc_procedure.Procedurename,
  2650. tp_pc_procedure.ProductionLineid, tp_pc_procedure.valueflag,TP_PC_ProductionLine.Productionlinecode,TP_PC_ProductionLine.Productionlinename from tp_pc_procedure
  2651. left join TP_PC_ProductionLine on tp_pc_procedure.ProductionLineID=TP_PC_ProductionLine.Productionlineid
  2652. where tp_pc_procedure.AccountID =:AccountID and tp_pc_procedure.valueflag=1 Order by displayno) a
  2653. left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 10) b on a.Procedureid=b.purviewid
  2654. order by displayno";//, a.Productionlineid ,ProcedureCode
  2655. //查看温湿计范围权限
  2656. string strSqlViewThermometer = "select a.ThermometerID as PurviewID,a.ThermometerCode,a.ManagerName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 11 as PurviewType,a.ValueFlag from ("
  2657. + " select ThermometerID,ThermometerCode,ManagerName,ValueFlag from TP_MST_Thermometer where TP_MST_Thermometer.AccountID = :AccountID Order by ThermometerID ) a "
  2658. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 11) b on a.ThermometerID=b.purviewid ";
  2659. //操作温湿计范围权限
  2660. string strSqlThermometer = "select a.ThermometerID as PurviewID,a.ThermometerCode,a.ManagerName,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 12 as PurviewType,a.ValueFlag from ("
  2661. + " select ThermometerID,ThermometerCode,ManagerName,ValueFlag from TP_MST_Thermometer where TP_MST_Thermometer.AccountID = :AccountID Order by ThermometerID ) a "
  2662. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 12) b on a.ThermometerID=b.purviewid ";
  2663. //撤销工序范围权限
  2664. string strSqlCancelProcedure = "select a.Procedureid as PurviewID,a.ProcedureCode,a.Procedurename,case (nvl(b.purviewid,0)) when 0 then 0 else 1 end as RightFlag, 13 as PurviewType,a.ValueFlag,a.ProductionLineid from ("
  2665. + " select Procedureid,ProcedureCode,Procedurename,ProductionLineid,valueflag from tp_pc_procedure where tp_pc_procedure.AccountID = :AccountID and UnDoFlag=1 Order by displayno) a "
  2666. + " left join (SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID AND PurviewType = 13) b on a.Procedureid=b.purviewid ";
  2667. Oracle.ManagedDataAccess.Client.OracleParameter[] paras = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2668. {
  2669. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  2670. new Oracle.ManagedDataAccess.Client.OracleParameter(":UserID",userID)
  2671. };
  2672. string sqlFunctionCode = "SELECT * FROM TP_MST_UserPurview WHERE UserID =:UserID and purviewid=-1";
  2673. Oracle.ManagedDataAccess.Client.OracleParameter[] parasFunctionCode = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2674. {
  2675. new Oracle.ManagedDataAccess.Client.OracleParameter(":UserID",userID)
  2676. };
  2677. oracleConn.Open();
  2678. DataTable dtViewOrg = oracleConn.GetSqlResultToDs(strSqlViewOrg, paras).Tables[0].Copy();
  2679. dtViewOrg.TableName = "ViewOrg";
  2680. DataTable dtOrg = oracleConn.GetSqlResultToDs(strSqlOrg, paras).Tables[0].Copy();
  2681. dtOrg.TableName = "Org";
  2682. DataTable dtViewUser = oracleConn.GetSqlResultToDs(strSqlViewUser, paras).Tables[0].Copy();
  2683. dtViewUser.TableName = "ViewUser";
  2684. DataTable dtUser = oracleConn.GetSqlResultToDs(strSqlUser, paras).Tables[0].Copy();
  2685. dtUser.TableName = "User";
  2686. DataTable dtViewGroutingLine = oracleConn.GetSqlResultToDs(strSqlViewGroutingLine, paras).Tables[0].Copy();
  2687. dtViewGroutingLine.TableName = "ViewGroutingLine";
  2688. DataTable dtGroutingLine = oracleConn.GetSqlResultToDs(strSqlGroutingLine, paras).Tables[0].Copy();
  2689. dtGroutingLine.TableName = "GroutingLine";
  2690. DataTable dtViewProductionLine = oracleConn.GetSqlResultToDs(strSqlViewProductionLine, paras).Tables[0].Copy();
  2691. dtViewProductionLine.TableName = "ViewProductionLine";
  2692. DataTable dtProductionLine = oracleConn.GetSqlResultToDs(strSqlProductionLine, paras).Tables[0].Copy();
  2693. dtProductionLine.TableName = "ProductionLine";
  2694. DataTable dtViewProcedure = oracleConn.GetSqlResultToDs(strSqlViewProcedure, paras).Tables[0].Copy();
  2695. dtViewProcedure.TableName = "ViewProcedure";
  2696. DataTable dtProcedure = oracleConn.GetSqlResultToDs(strSqlProcedure, paras).Tables[0].Copy();
  2697. dtProcedure.TableName = "Procedure";
  2698. DataTable dtViewThermometer = oracleConn.GetSqlResultToDs(strSqlViewThermometer, paras).Tables[0].Copy();
  2699. dtViewThermometer.TableName = "ViewThermometer";
  2700. DataTable dtThermometer = oracleConn.GetSqlResultToDs(strSqlThermometer, paras).Tables[0].Copy();
  2701. dtThermometer.TableName = "Thermometer";
  2702. DataTable dtFunctionCode = oracleConn.GetSqlResultToDs(sqlFunctionCode, parasFunctionCode).Tables[0].Copy();
  2703. dtFunctionCode.TableName = "FunctionCode";
  2704. DataTable dtCancel = oracleConn.GetSqlResultToDs(strSqlCancelProcedure, paras).Tables[0].Copy();
  2705. dtCancel.TableName = "CancelProcedure";
  2706. returnUserRight.Tables.Add(dtViewOrg);
  2707. returnUserRight.Tables.Add(dtOrg);
  2708. returnUserRight.Tables.Add(dtViewUser);
  2709. returnUserRight.Tables.Add(dtUser);
  2710. returnUserRight.Tables.Add(dtViewGroutingLine);
  2711. returnUserRight.Tables.Add(dtGroutingLine);
  2712. returnUserRight.Tables.Add(dtViewProductionLine);
  2713. returnUserRight.Tables.Add(dtProductionLine);
  2714. returnUserRight.Tables.Add(dtViewProcedure);
  2715. returnUserRight.Tables.Add(dtProcedure);
  2716. returnUserRight.Tables.Add(dtViewThermometer);
  2717. returnUserRight.Tables.Add(dtThermometer);
  2718. returnUserRight.Tables.Add(dtCancel);
  2719. returnUserRight.Tables.Add(dtFunctionCode);
  2720. oracleConn.Close();
  2721. return returnUserRight;
  2722. }
  2723. catch (Exception ex)
  2724. {
  2725. if (oracleConn.ConnState == ConnectionState.Open)
  2726. {
  2727. oracleConn.Close();
  2728. }
  2729. throw ex;
  2730. }
  2731. }
  2732. /// <summary>
  2733. /// 根据用户ID取得用户的功能权限信息
  2734. /// </summary>
  2735. /// <param name="userID">用户ID</param>
  2736. /// <param name="sUserInfo">用户基本信息</param>
  2737. /// <returns>DataSet</returns>
  2738. public static DataSet GetUserFunctionRightInfo(int userID, SUserInfo sUserInfo)
  2739. {
  2740. DataSet dsResult = new DataSet();
  2741. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2742. try
  2743. {
  2744. if (userID < 1)
  2745. {
  2746. return null;
  2747. }
  2748. oracleConn.Open();
  2749. #region 对应要执行的SQL语句
  2750. string strSql1 = "SELECT 0 Choose,FunctionCode, Functionlevel ,FunctionName,FullName,FunctionFlag,FunctionButtonFlag,0 LicensesNumber,0 UseLincenseNumber"
  2751. + " FROM TP_SYS_Function where valueflag='1' and functionprogram='1' and functioncode not like '0101%' ";// and functioncode not like '0102%'";
  2752. DataTable dtFunction = oracleConn.GetSqlResultToDt(strSql1);
  2753. string strSql2 = "SELECT ur.userid, ur.Functioncode, f.functionlevel\n" +
  2754. " FROM TP_MST_UserRight ur\n" +
  2755. " INNER JOIN tp_sys_function f\n" +
  2756. " ON ur.functioncode = f.functioncode\n" +
  2757. " AND f.valueflag = '1'\n" +
  2758. " AND f.functionprogram = '1'" +
  2759. " WHERE userid = :pUserid";
  2760. Oracle.ManagedDataAccess.Client.OracleParameter[] paras2 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2761. {
  2762. new Oracle.ManagedDataAccess.Client.OracleParameter(":pUserid", OracleDbType.Int32,userID, ParameterDirection.Input)
  2763. };
  2764. DataTable dtUserRight = oracleConn.GetSqlResultToDt(strSql2, paras2);
  2765. //string strSql3 = "SELECT C.FunctionCode, COUNT(C.UserID) AS UseNum FROM TP_MST_UserRight C,TP_MST_User D"
  2766. // + " WHERE C.UserID = D.UserID AND D.ValueFlag > 0 AND D.AccountID = :accountID GROUP BY C.FunctionCode";
  2767. //Oracle.ManagedDataAccess.Client.OracleParameter[] paras3 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2768. //{
  2769. // new Oracle.ManagedDataAccess.Client.OracleParameter(":accountID", OracleDbType.Int32,sUserInfo.AccountID, ParameterDirection.Input)
  2770. //};
  2771. //DataTable dtUserFuncNum = oracleConn.GetSqlResultToDt(strSql3, paras3);
  2772. #endregion
  2773. oracleConn.Close();
  2774. foreach (DataRow newFunRow in dtFunction.Rows)
  2775. {
  2776. //string strFunctionCode = newFunRow["FunctionCode"].ToString();
  2777. string strFunctionLevel = newFunRow["FunctionLevel"].ToString();
  2778. //DataRow[] userRights = dtUserRight.Select("Functioncode = '" + strFunctionCode + "'");
  2779. DataRow[] userRights = dtUserRight.Select("functionlevel like '" + strFunctionLevel + "%'");
  2780. if (userRights != null && userRights.Count() > 0)
  2781. {
  2782. newFunRow["Choose"] = 1;
  2783. }
  2784. //DataRow[] userRightNums = dtUserFuncNum.Select("Functioncode = '" + strFunctionCode + "'");
  2785. //if (userRightNums != null && userRightNums.Count() > Constant.INT_IS_ZERO)
  2786. //{
  2787. // newFunRow["UseLincenseNumber"] = userRightNums[0]["UseNum"];
  2788. //}
  2789. }
  2790. string sqlExist = "select 1 from TP_MST_UserRight where Functioncode='[ALL]' and UserID=:UserID";
  2791. Oracle.ManagedDataAccess.Client.OracleParameter[] paras4 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2792. {
  2793. new Oracle.ManagedDataAccess.Client.OracleParameter(":UserID", OracleDbType.Int32,userID, ParameterDirection.Input),
  2794. };
  2795. DataSet dsExist = oracleConn.GetSqlResultToDs(sqlExist, paras4);
  2796. if (dsExist != null && dsExist.Tables[0].Rows.Count > 0)
  2797. {
  2798. DataRow drNew = dtFunction.NewRow();
  2799. drNew["Functioncode"] = "[ALL]";
  2800. dtFunction.Rows.Add(drNew);
  2801. }
  2802. dsResult.Tables.Add(dtFunction);
  2803. return dsResult;
  2804. }
  2805. catch (Exception ex)
  2806. {
  2807. if (oracleConn.ConnState == ConnectionState.Open)
  2808. {
  2809. oracleConn.Close();
  2810. }
  2811. throw ex;
  2812. }
  2813. }
  2814. /// <summary>
  2815. /// 根据用户ID取得用户的功能权限信息
  2816. /// </summary>
  2817. /// <param name="userID">用户ID</param>
  2818. /// <param name="sUserInfo">用户基本信息</param>
  2819. /// <returns>DataSet</returns>
  2820. public static DataSet GetUserFunctionRightTwoInfo(int userID, SUserInfo sUserInfo)
  2821. {
  2822. DataSet dsResult = new DataSet();
  2823. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2824. try
  2825. {
  2826. if (userID < 1)
  2827. {
  2828. return null;
  2829. }
  2830. oracleConn.Open();
  2831. #region 对应要执行的SQL语句
  2832. string strSql1 = "SELECT 0 Choose,FunctionCode, Functionlevel ,FunctionName,FullName,FunctionFlag,FunctionButtonFlag,0 LicensesNumber,0 UseLincenseNumber"
  2833. + " FROM TP_SYS_Function where valueflag='1' ";
  2834. DataTable dtFunction = oracleConn.GetSqlResultToDt(strSql1);
  2835. //string strSql2 = "SELECT userid,Functioncode FROM TP_MST_UserRight WHERE userid = :pUserid";
  2836. string strSql2 = "SELECT ur.userid, ur.Functioncode, f.functionlevel\n" +
  2837. " FROM TP_MST_UserRight ur\n" +
  2838. " INNER JOIN tp_sys_function f\n" +
  2839. " ON ur.functioncode = f.functioncode\n" +
  2840. " AND f.valueflag = '1'\n" +
  2841. " AND f.functionprogram = '2'" +
  2842. " WHERE userid = :pUserid";
  2843. Oracle.ManagedDataAccess.Client.OracleParameter[] paras2 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2844. {
  2845. new Oracle.ManagedDataAccess.Client.OracleParameter(":pUserid", OracleDbType.Int32,userID, ParameterDirection.Input)
  2846. };
  2847. DataTable dtUserRight = oracleConn.GetSqlResultToDt(strSql2, paras2);
  2848. //string strSql3 = "SELECT C.FunctionCode, COUNT(C.UserID) AS UseNum FROM TP_MST_UserRight C,TP_MST_User D"
  2849. // + " WHERE C.UserID = D.UserID AND D.ValueFlag > 0 AND D.AccountID = :accountID GROUP BY C.FunctionCode";
  2850. //Oracle.ManagedDataAccess.Client.OracleParameter[] paras3 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2851. //{
  2852. // new Oracle.ManagedDataAccess.Client.OracleParameter(":accountID", OracleDbType.Int32,sUserInfo.AccountID, ParameterDirection.Input)
  2853. //};
  2854. //DataTable dtUserFuncNum = oracleConn.GetSqlResultToDt(strSql3, paras3);
  2855. #endregion
  2856. oracleConn.Close();
  2857. foreach (DataRow newFunRow in dtFunction.Rows)
  2858. {
  2859. //string strFunctionCode = newFunRow["FunctionCode"].ToString();
  2860. string strFunctionLevel = newFunRow["FunctionLevel"].ToString();
  2861. //DataRow[] userRights = dtUserRight.Select("Functioncode = '" + strFunctionCode + "'");
  2862. DataRow[] userRights = dtUserRight.Select("FunctionLevel like '" + strFunctionLevel + "%'");
  2863. if (userRights != null && userRights.Count() > 0)
  2864. {
  2865. newFunRow["Choose"] = 1;
  2866. }
  2867. //DataRow[] userRightNums = dtUserFuncNum.Select("Functioncode = '" + strFunctionCode + "'");
  2868. //if (userRightNums != null && userRightNums.Count() > Constant.INT_IS_ZERO)
  2869. //{
  2870. // newFunRow["UseLincenseNumber"] = userRightNums[0]["UseNum"];
  2871. //}
  2872. }
  2873. string sqlExist = "select 1 from TP_MST_UserRight where Functioncode='[ALL2]' and UserID=:UserID";
  2874. Oracle.ManagedDataAccess.Client.OracleParameter[] paras4 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2875. {
  2876. new Oracle.ManagedDataAccess.Client.OracleParameter(":UserID", OracleDbType.Int32,userID, ParameterDirection.Input),
  2877. };
  2878. DataSet dsExist = oracleConn.GetSqlResultToDs(sqlExist, paras4);
  2879. if (dsExist != null && dsExist.Tables[0].Rows.Count > 0)
  2880. {
  2881. DataRow drNew = dtFunction.NewRow();
  2882. drNew["Functioncode"] = "[ALL2]";
  2883. dtFunction.Rows.Add(drNew);
  2884. }
  2885. dsResult.Tables.Add(dtFunction);
  2886. return dsResult;
  2887. }
  2888. catch (Exception ex)
  2889. {
  2890. if (oracleConn.ConnState == ConnectionState.Open)
  2891. {
  2892. oracleConn.Close();
  2893. }
  2894. throw ex;
  2895. }
  2896. }
  2897. /// <summary>
  2898. /// 根据功能取得使用该功能的用户列表
  2899. /// </summary>
  2900. /// <param name="functionCode">功能编号</param>
  2901. /// <param name="sUserInfo">用户基本信息</param>
  2902. /// <returns>DataSet</returns>
  2903. public static DataSet GetFunctionUsers(string functionCode, SUserInfo sUserInfo)
  2904. {
  2905. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2906. try
  2907. {
  2908. oracleConn.Open();
  2909. #region 对应要执行的SQL语句
  2910. string sqlString = "SELECT B.UserCode,B.UserName,C.AccountName,TP_MST_Organization.OrganizationName FROM TP_MST_UserRight A"
  2911. + " INNER JOIN TP_MST_User B ON A.UserID = B.UserID"
  2912. + " INNER JOIN TP_MST_Organization ON B.OrganizationID = TP_MST_Organization.OrganizationID "
  2913. + " INNER JOIN TP_MST_Account C ON B.AccountID = C.AccountID "
  2914. + " AND C.AccountID = " + sUserInfo.AccountID
  2915. + " WHERE B.ValueFlag > 0 AND A.FunctionCode = :pFunctionCode"
  2916. + " ORDER BY C.AccountName,B.UserCode,B.UserName";
  2917. Oracle.ManagedDataAccess.Client.OracleParameter[] paras = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  2918. {
  2919. new Oracle.ManagedDataAccess.Client.OracleParameter(":pFunctionCode", OracleDbType.Varchar2, functionCode, ParameterDirection.Input)
  2920. };
  2921. #endregion
  2922. DataSet dsResult = oracleConn.GetSqlResultToDs(sqlString, paras);
  2923. oracleConn.Close();
  2924. return dsResult;
  2925. }
  2926. catch (Exception ex)
  2927. {
  2928. if (oracleConn.ConnState == ConnectionState.Open)
  2929. {
  2930. oracleConn.Close();
  2931. }
  2932. throw ex;
  2933. }
  2934. }
  2935. /// <summary>
  2936. /// 检查产品类型到更新
  2937. /// </summary>
  2938. /// <param name="GoodsTypeCode">产品类型编码</param>
  2939. /// <returns>int</returns>
  2940. public static int CheckGoodsTypeToUpdate(string GoodsTypeCode)
  2941. {
  2942. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2943. try
  2944. {
  2945. string strSql = @"Select Sum(Counts) from
  2946. (Select Count(*) as Counts from TP_MST_GOODSTYPE
  2947. WHERE GoodsTypeCode like '" + GoodsTypeCode + @"%'
  2948. and GoodsTypeCode != '" + GoodsTypeCode + @"'
  2949. Union
  2950. Select Count(*) as Counts from TP_MST_GOODS
  2951. WHERE GOODSTYPEID = '" + GoodsTypeCode + "')";
  2952. oracleConn.Open();
  2953. int Counts = Convert.ToInt32(oracleConn.GetSqlResultToStr(strSql, null));
  2954. oracleConn.Close();
  2955. return Counts;
  2956. }
  2957. catch (Exception ex)
  2958. {
  2959. if (oracleConn.ConnState == ConnectionState.Open)
  2960. {
  2961. oracleConn.Close();
  2962. }
  2963. throw ex;
  2964. }
  2965. }
  2966. #endregion
  2967. #region 报表工序基础信息管理
  2968. /// <summary>
  2969. /// 报表工序基础信息
  2970. /// </summary>
  2971. /// <param name="rptProcedureEntity">报表工序实体</param>
  2972. /// <param name="sUserInfo">用户基本信息</param>
  2973. /// <returns>DataSet数据集</returns>
  2974. public static DataSet GetRptProcedureModule(RptProcedureEntity rptProcedureEntity, SUserInfo sUserInfo)
  2975. {
  2976. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2977. try
  2978. {
  2979. con.Open();
  2980. OracleParameter[] paras = new OracleParameter[]{
  2981. new OracleParameter("in_rptProcedureId",OracleDbType.Int32,rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
  2982. new OracleParameter("in_rptProcedureCode",OracleDbType.Varchar2,rptProcedureEntity.RptProcedureCode,ParameterDirection.Input),
  2983. new OracleParameter("in_rptProcedureName",OracleDbType.Varchar2,rptProcedureEntity.RptProcedureName,ParameterDirection.Input),
  2984. new OracleParameter("in_rptProcedureType",OracleDbType.Varchar2,rptProcedureEntity.RptProcedureTpye,ParameterDirection.Input),
  2985. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  2986. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  2987. };
  2988. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_MST_GetRptProcedure", paras);
  2989. return dsSearchReport;
  2990. }
  2991. catch (Exception ex)
  2992. {
  2993. throw ex;
  2994. }
  2995. finally
  2996. {
  2997. if (con.ConnState == ConnectionState.Open)
  2998. {
  2999. con.Close();
  3000. }
  3001. }
  3002. }
  3003. /// <summary>
  3004. /// 根据报表来源工序Id查询先关工序信息
  3005. /// </summary>
  3006. /// <param name="rptProcedureId">报表工序Id</param>
  3007. /// <returns>DataSet数据集</returns>
  3008. public static DataSet GetRptProcedureIdByProcedureInfo(int rptProcedureId)
  3009. {
  3010. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3011. try
  3012. {
  3013. con.Open();
  3014. OracleParameter[] paras = new OracleParameter[]{
  3015. new OracleParameter("in_rptProcedureId",OracleDbType.Int32,rptProcedureId,ParameterDirection.Input),
  3016. new OracleParameter("out_rptSResult",OracleDbType.RefCursor, ParameterDirection.Output),
  3017. new OracleParameter("out_rptTresult",OracleDbType.RefCursor, ParameterDirection.Output),
  3018. };
  3019. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_MST_GetRptProcedureBYID", paras);
  3020. return dsSearchReport;
  3021. }
  3022. catch (Exception ex)
  3023. {
  3024. throw ex;
  3025. }
  3026. finally
  3027. {
  3028. if (con.ConnState == ConnectionState.Open)
  3029. {
  3030. con.Close();
  3031. }
  3032. }
  3033. }
  3034. #endregion
  3035. #region 系统相关
  3036. /// <summary>
  3037. /// 获取服务路径
  3038. /// </summary>
  3039. /// <returns></returns>
  3040. public static string GetServerPath()
  3041. {
  3042. try
  3043. {
  3044. return System.AppDomain.CurrentDomain.BaseDirectory;
  3045. }
  3046. catch (Exception ex)
  3047. {
  3048. throw ex;
  3049. }
  3050. }
  3051. /// <summary>
  3052. /// 系统时间
  3053. /// </summary>
  3054. /// <param name="userInfo"></param>
  3055. /// <returns></returns>
  3056. public static DataSet GetSettlementTime(SUserInfo userInfo)
  3057. {
  3058. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3059. try
  3060. {
  3061. string sqlString = "Select * from TP_MST_SystemDate Where SystemDateType = 5 and AccountId = " + userInfo.AccountID;
  3062. oracleConn.Open();
  3063. DataSet result = oracleConn.GetSqlResultToDs(sqlString, null);
  3064. oracleConn.Close();
  3065. if (result.Tables[0].Rows.Count == 0)
  3066. {
  3067. return null;
  3068. }
  3069. else
  3070. {
  3071. return result;
  3072. }
  3073. }
  3074. catch (Exception ex)
  3075. {
  3076. if (oracleConn.ConnState == ConnectionState.Open)
  3077. {
  3078. oracleConn.Close();
  3079. }
  3080. throw ex;
  3081. }
  3082. }
  3083. /// <summary>
  3084. /// 取得功能权限信息
  3085. /// </summary>
  3086. /// <param name="sUserInfo">用户基本信息</param>
  3087. /// <returns>DataSet</returns>
  3088. public static DataSet GetFunctionRight(SUserInfo sUserInfo)
  3089. {
  3090. DataSet dsResult = new DataSet();
  3091. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3092. try
  3093. {
  3094. oracleConn.Open();
  3095. #region 对应要执行的SQL语句
  3096. string strSql1 = "SELECT 0 Choose,FunctionCode, Functionlevel ,FunctionName,FullName,FunctionFlag,FunctionButtonFlag,0 LicensesNumber,0 UseLincenseNumber"
  3097. + " FROM TP_SYS_Function where valueflag='1' and FunctionProgram = '1'";
  3098. DataTable dtFunction1 = oracleConn.GetSqlResultToDt(strSql1);
  3099. string strSql2 = "SELECT 0 Choose,FunctionCode, Functionlevel ,FunctionName,FullName,FunctionFlag,FunctionButtonFlag,0 LicensesNumber,0 UseLincenseNumber"
  3100. + " FROM TP_SYS_Function where valueflag='1' and FunctionProgram = '2'";
  3101. DataTable dtFunction2 = oracleConn.GetSqlResultToDt(strSql2);
  3102. #endregion
  3103. dsResult.Tables.Add(dtFunction1);
  3104. dsResult.Tables.Add(dtFunction2);
  3105. oracleConn.Close();
  3106. return dsResult;
  3107. }
  3108. catch (Exception ex)
  3109. {
  3110. if (oracleConn.ConnState == ConnectionState.Open)
  3111. {
  3112. oracleConn.Close();
  3113. }
  3114. throw ex;
  3115. }
  3116. }
  3117. /// <summary>
  3118. /// 根据功能取得使用该功能的用户列表
  3119. /// </summary>
  3120. /// <param name="sUserInfo">用户基本信息</param>
  3121. /// <returns>DataSet</returns>
  3122. public static DataSet GetFunctionUsersList(SUserInfo sUserInfo)
  3123. {
  3124. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3125. try
  3126. {
  3127. oracleConn.Open();
  3128. #region 对应要执行的SQL语句
  3129. string sqlString = "SELECT B.UserID,B.UserCode,B.UserName,C.AccountName,TP_MST_Organization.OrganizationName,A.FunctionCode,0 as AddFlag FROM TP_MST_UserRight A"
  3130. + " INNER JOIN TP_MST_User B ON A.UserID = B.UserID"
  3131. + " INNER JOIN TP_MST_Organization ON B.OrganizationID = TP_MST_Organization.OrganizationID "
  3132. + " INNER JOIN TP_MST_Account C ON B.AccountID = C.AccountID "
  3133. + " inner join tp_sys_function on a.functioncode=tp_sys_function.functioncode --and tp_sys_function.functionflag='1' "
  3134. + " and tp_sys_function.functionprogram=1 AND C.AccountID = " + sUserInfo.AccountID
  3135. + " WHERE B.ValueFlag > 0 "
  3136. + " ORDER BY C.AccountName,B.UserCode,B.UserName";
  3137. #endregion
  3138. DataSet dsResult = oracleConn.GetSqlResultToDs(sqlString);
  3139. oracleConn.Close();
  3140. return dsResult;
  3141. }
  3142. catch (Exception ex)
  3143. {
  3144. if (oracleConn.ConnState == ConnectionState.Open)
  3145. {
  3146. oracleConn.Close();
  3147. }
  3148. throw ex;
  3149. }
  3150. }
  3151. /// <summary>
  3152. /// 根据功能取得使用该功能的用户列表
  3153. /// </summary>
  3154. /// <param name="sUserInfo">用户基本信息</param>
  3155. /// <returns>DataSet</returns>
  3156. public static DataSet GetFunctionUsersTwoList(SUserInfo sUserInfo)
  3157. {
  3158. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3159. try
  3160. {
  3161. oracleConn.Open();
  3162. #region 对应要执行的SQL语句
  3163. string sqlString = "SELECT B.UserID,B.UserCode,B.UserName,C.AccountName,TP_MST_Organization.OrganizationName,A.FunctionCode,0 as AddFlag FROM TP_MST_UserRight A"
  3164. + " INNER JOIN TP_MST_User B ON A.UserID = B.UserID"
  3165. + " INNER JOIN TP_MST_Organization ON B.OrganizationID = TP_MST_Organization.OrganizationID "
  3166. + " INNER JOIN TP_MST_Account C ON B.AccountID = C.AccountID "
  3167. + " inner join tp_sys_function on a.functioncode=tp_sys_function.functioncode --and tp_sys_function.functionflag='1' "
  3168. + " and tp_sys_function.functionprogram=2 AND C.AccountID = " + sUserInfo.AccountID
  3169. + " WHERE B.ValueFlag > 0 "
  3170. + " ORDER BY C.AccountName,B.UserCode,B.UserName";
  3171. #endregion
  3172. DataSet dsResult = oracleConn.GetSqlResultToDs(sqlString);
  3173. oracleConn.Close();
  3174. return dsResult;
  3175. }
  3176. catch (Exception ex)
  3177. {
  3178. if (oracleConn.ConnState == ConnectionState.Open)
  3179. {
  3180. oracleConn.Close();
  3181. }
  3182. throw ex;
  3183. }
  3184. }
  3185. /// <summary>
  3186. /// 根据范围取得使用该功能的用户列表
  3187. /// </summary>
  3188. /// <param name="sUserInfo">用户基本信息</param>
  3189. /// <returns>DataSet</returns>
  3190. public static DataSet GetFunctionUserPurviewList(SUserInfo sUserInfo)
  3191. {
  3192. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3193. try
  3194. {
  3195. oracleConn.Open();
  3196. #region 对应要执行的SQL语句
  3197. string sqlString = "SELECT B.UserID,B.UserCode,B.UserName,TP_MST_Organization.OrganizationName,A.Purviewid,A.PURVIEWTYPE,0 as AddFlag FROM TP_MST_UserPurview A"
  3198. + " INNER JOIN TP_MST_User B ON A.UserID = B.UserID"
  3199. + " INNER JOIN TP_MST_Organization ON B.OrganizationID = TP_MST_Organization.OrganizationID "
  3200. + " INNER JOIN TP_MST_Account C ON B.AccountID = C.AccountID "
  3201. + " AND C.AccountID = " + sUserInfo.AccountID
  3202. + " WHERE B.ValueFlag > 0 "
  3203. + " ORDER BY B.UserCode,B.UserName";
  3204. #endregion
  3205. DataSet dsResult = oracleConn.GetSqlResultToDs(sqlString);
  3206. oracleConn.Close();
  3207. return dsResult;
  3208. }
  3209. catch (Exception ex)
  3210. {
  3211. if (oracleConn.ConnState == ConnectionState.Open)
  3212. {
  3213. oracleConn.Close();
  3214. }
  3215. throw ex;
  3216. }
  3217. }
  3218. /// <summary>
  3219. /// 获取商标管理的全部数据
  3220. /// </summary>
  3221. /// <param name="sUserInfo">用户基本信息</param>
  3222. /// <returns></returns>
  3223. /// <remarks>
  3224. /// 2015.11.12 王鑫 新建
  3225. /// </remarks>
  3226. public static DataSet GetAllLogoInfo(SUserInfo sUserInfo)
  3227. {
  3228. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3229. try
  3230. {
  3231. string sqlString = "Select 0 as Sel, LogoID,LogoCode,LogoName,Remarks,ValueFlag,0 as AddFlag,isdefault,concat(LogoName||'[',LogoCode||']') as LogoNameCode,displayno, TagCode "
  3232. + "from tp_mst_logo where AccountID = :AccountID order by displayno";
  3233. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3234. {
  3235. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3236. };
  3237. oracleConn.Open();
  3238. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3239. oracleConn.Close();
  3240. return result;
  3241. }
  3242. catch (Exception ex)
  3243. {
  3244. if (oracleConn.ConnState == ConnectionState.Open)
  3245. {
  3246. oracleConn.Close();
  3247. }
  3248. throw ex;
  3249. }
  3250. }
  3251. /// <summary>
  3252. /// 获取商标管理的全部数据
  3253. /// </summary>
  3254. /// <param name="sUserInfo">用户基本信息</param>
  3255. /// <returns></returns>
  3256. /// <remarks>
  3257. /// 2015.11.12 王鑫 新建
  3258. /// </remarks>
  3259. public static DataSet GetLogoInfoForChange(SUserInfo sUserInfo, int goodsid)
  3260. {
  3261. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3262. try
  3263. {
  3264. string sqlString = null;
  3265. sqlString = "SELECT L.LOGOID\n" +
  3266. " ,L.LOGOCODE\n" +
  3267. " ,L.LOGONAME\n" +
  3268. " ,L.LOGONAME || '[' || L.LOGOCODE || ']' AS LOGONAMECODE\n" +
  3269. " FROM TP_MST_GOODSLOGOSAP T\n" +
  3270. " INNER JOIN TP_MST_LOGO L\n" +
  3271. " ON L.LOGOID = T.LOGOID\n" +
  3272. " WHERE T.GOODSID = :GOODSID\n" +
  3273. " AND L.VALUEFLAG = '1'\n" +
  3274. "ORDER BY L.ISDEFAULT DESC, L.DISPLAYNO";
  3275. OracleParameter[] pLogoSAP = new OracleParameter[]
  3276. {
  3277. new OracleParameter(":goodsid", goodsid)
  3278. };
  3279. oracleConn.Open();
  3280. DataSet resultLogoSAP = oracleConn.GetSqlResultToDs(sqlString, pLogoSAP);
  3281. if (resultLogoSAP != null && resultLogoSAP.Tables.Count > 0 && resultLogoSAP.Tables[0].Rows.Count > 0)
  3282. {
  3283. oracleConn.Close();
  3284. return resultLogoSAP;
  3285. }
  3286. sqlString = "Select LogoID,LogoCode,LogoName,LogoName||'['||LogoCode||']' as LogoNameCode "
  3287. + "from tp_mst_logo where AccountID = :AccountID and valueflag ='1' order by isdefault desc, displayno";
  3288. OracleParameter[] oracleParameter = new OracleParameter[]
  3289. {
  3290. new OracleParameter(":AccountID",sUserInfo.AccountID)
  3291. };
  3292. oracleConn.Open();
  3293. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3294. oracleConn.Close();
  3295. return result;
  3296. }
  3297. catch (Exception ex)
  3298. {
  3299. if (oracleConn.ConnState == ConnectionState.Open)
  3300. {
  3301. oracleConn.Close();
  3302. }
  3303. throw ex;
  3304. }
  3305. }
  3306. /// <summary>
  3307. /// 获取商标数据源
  3308. /// </summary>
  3309. /// <param name="sUserInfo">用户基本信息</param>
  3310. /// <returns></returns>
  3311. /// <remarks>
  3312. /// 2016.05.10 陈晓野 新建
  3313. /// </remarks>
  3314. public static DataSet GetLogoInfo(SUserInfo sUserInfo)
  3315. {
  3316. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3317. try
  3318. {
  3319. string sqlString = "Select LogoID,LogoCode,LogoName,isdefault,concat(LogoName||'[',LogoCode||']') as LogoNameCode "
  3320. + "from tp_mst_logo where AccountID = :AccountID and valueflag ='1' order by isdefault desc, displayno";
  3321. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3322. {
  3323. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3324. };
  3325. oracleConn.Open();
  3326. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3327. oracleConn.Close();
  3328. return result;
  3329. }
  3330. catch (Exception ex)
  3331. {
  3332. if (oracleConn.ConnState == ConnectionState.Open)
  3333. {
  3334. oracleConn.Close();
  3335. }
  3336. throw ex;
  3337. }
  3338. }
  3339. /// <summary>
  3340. /// 根据产品编码获得商标
  3341. /// </summary>
  3342. /// <param name="sUserInfo">用户基本信息</param>
  3343. /// <param name="cre">参数</param>
  3344. /// <returns></returns>
  3345. public static ServiceResultEntity GetLogoInfoByLogoID(SUserInfo sUserInfo, ClientRequestEntity cre)
  3346. {
  3347. ServiceResultEntity sre = new ServiceResultEntity();
  3348. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3349. try
  3350. {
  3351. string sqlString = "SELECT LogoID, LogoCode, LogoName, isdefault, LogoNameCode,GOODSCODE FROM (" +
  3352. " SELECT l.LogoID, l.LogoCode, l.LogoName, l.isdefault, l.LogoName || '[' || l.LogoCode || ']' AS LogoNameCode ,P.GOODSCODE " +
  3353. "FROM tp_mst_logo l INNER JOIN( SELECT DISTINCT T.GOODSID, T.LOGOID, T.MATERIALCODE, T.GOODSCODE FROM " +
  3354. "(SELECT G.GOODSID, G.LOGOID, G.MATERIALCODE, G.GOODSCODE FROM " +
  3355. "TP_MST_GOODS G UNION ALL SELECT S.GOODSID, S.LOGOID, S.MATERIALCODE, S.GOODSCODE FROM " +
  3356. "TP_MST_GOODSLOGOSAP S ) T WHERE t.GOODSCODE IN( "+ cre.Properties["GOODSCODE"].ToString() + ") ) P ON p.LOGOID = l.LOGOID WHERE l.AccountID = :AccountID and l.valueflag ='1' order by l.isdefault desc, l.displayno" +
  3357. ") l GROUP BY LogoID, LogoCode, LogoName, isdefault, LogoNameCode,GOODSCODE";
  3358. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3359. {
  3360. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID),
  3361. //new Oracle.ManagedDataAccess.Client.OracleParameter(":GOODSCODE",cre.Properties["GOODSCODE"])
  3362. };
  3363. oracleConn.Open();
  3364. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3365. oracleConn.Close();
  3366. sre.Data = result;
  3367. sre.Status = Constant.ServiceResultStatus.Success;
  3368. return sre;
  3369. }
  3370. catch (Exception ex)
  3371. {
  3372. if (oracleConn.ConnState == ConnectionState.Open)
  3373. {
  3374. oracleConn.Close();
  3375. }
  3376. throw ex;
  3377. }
  3378. }
  3379. #endregion
  3380. #region 缺陷相关
  3381. /// <summary>
  3382. /// 获取缺陷类别管理的全部数据
  3383. /// </summary>
  3384. /// <param name="sUserInfo">用户基本信息</param>
  3385. /// <returns>DataSet</returns>
  3386. /// <remarks>
  3387. /// 2014.10.30 任海 新建
  3388. /// </remarks>
  3389. public static DataSet GetAllDefectTypeInfo(SUserInfo sUserInfo)
  3390. {
  3391. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3392. try
  3393. {
  3394. string sqlString = "Select DefectTypeID,DefectTypeName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  3395. + " ,displayno from TP_MST_DefectType where AccountID = :AccountID";
  3396. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3397. {
  3398. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3399. };
  3400. oracleConn.Open();
  3401. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3402. oracleConn.Close();
  3403. return result;
  3404. }
  3405. catch (Exception ex)
  3406. {
  3407. if (oracleConn.ConnState == ConnectionState.Open)
  3408. {
  3409. oracleConn.Close();
  3410. }
  3411. throw ex;
  3412. }
  3413. }
  3414. /// <summary>
  3415. /// 获取缺陷扣罚管理的全部数据
  3416. /// </summary>
  3417. /// <param name="sUserInfo">用户基本信息</param>
  3418. /// <returns></returns>
  3419. /// <remarks>
  3420. /// 2016.1.5 王鑫 新建
  3421. /// </remarks>
  3422. public static DataSet GetAllDefectFine(SUserInfo sUserInfo)
  3423. {
  3424. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3425. try
  3426. {
  3427. string sqlString = "Select DefectFineID,DefectFineCode,Remarks,DisplayNo,ValueFlag,0 as sel "
  3428. + "from TP_MST_DefectFine where AccountID = :AccountID order by displayno";
  3429. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3430. {
  3431. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3432. };
  3433. oracleConn.Open();
  3434. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3435. oracleConn.Close();
  3436. return result;
  3437. }
  3438. catch (Exception ex)
  3439. {
  3440. if (oracleConn.ConnState == ConnectionState.Open)
  3441. {
  3442. oracleConn.Close();
  3443. }
  3444. throw ex;
  3445. }
  3446. }
  3447. /// <summary>
  3448. /// 获取缺陷扣除数管理的全部数据
  3449. /// </summary>
  3450. /// <param name="sUserInfo">用户基本信息</param>
  3451. /// <returns></returns>
  3452. /// <remarks>
  3453. /// 2016.1.5 王鑫 新建
  3454. /// </remarks>
  3455. public static DataSet GetAllDefectDeduction(SUserInfo sUserInfo)
  3456. {
  3457. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3458. try
  3459. {
  3460. string sqlString = "Select *"
  3461. + "from TP_MST_DefectDeduction where AccountID = :AccountID order by displayno";
  3462. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3463. {
  3464. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3465. };
  3466. oracleConn.Open();
  3467. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3468. oracleConn.Close();
  3469. return result;
  3470. }
  3471. catch (Exception ex)
  3472. {
  3473. if (oracleConn.ConnState == ConnectionState.Open)
  3474. {
  3475. oracleConn.Close();
  3476. }
  3477. throw ex;
  3478. }
  3479. }
  3480. /// <summary>
  3481. /// 获取缺陷扣罚关系管理的全部数据
  3482. /// </summary>
  3483. /// <param name="sUserInfo">用户基本信息</param>
  3484. /// <returns></returns>
  3485. /// <remarks>
  3486. /// 2016.1.5 王鑫 新建
  3487. /// </remarks>
  3488. public static DataSet GetAllDefectFineRelation(SUserInfo sUserInfo)
  3489. {
  3490. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3491. try
  3492. {
  3493. //2020-03-03 xuwei 修改SQL按displayno排序
  3494. string sqlString = @"
  3495. SELECT *
  3496. FROM TP_MST_DEFECTFINERELATION
  3497. INNER JOIN TP_MST_DEFECTFINE ON TP_MST_DEFECTFINERELATION.DEFECTFINEID=TP_MST_DEFECTFINE.DEFECTFINEID
  3498. WHERE TP_MST_DEFECTFINE.VALUEFLAG='1'
  3499. ORDER BY TP_MST_DEFECTFINE.DISPLAYNO
  3500. ";
  3501. oracleConn.Open();
  3502. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  3503. oracleConn.Close();
  3504. return result;
  3505. }
  3506. catch (Exception ex)
  3507. {
  3508. if (oracleConn.ConnState == ConnectionState.Open)
  3509. {
  3510. oracleConn.Close();
  3511. }
  3512. throw ex;
  3513. }
  3514. }
  3515. /// <summary>
  3516. /// 获取缺陷扣除数关系管理的全部数据
  3517. /// </summary>
  3518. /// <param name="sUserInfo">用户基本信息</param>
  3519. /// <returns></returns>
  3520. /// <remarks>
  3521. /// 2016.1.5 王鑫 新建
  3522. /// </remarks>
  3523. public static DataSet GetAllDefectDeductionRelation(SUserInfo sUserInfo)
  3524. {
  3525. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3526. try
  3527. {
  3528. //2020-03-03 xuwei 增加排序
  3529. string sqlString = @"
  3530. SELECT *
  3531. FROM TP_MST_DEFECTDEDUCTIONRELATION
  3532. LEFT JOIN TP_MST_DEFECTDEDUCTION ON TP_MST_DEFECTDEDUCTIONRELATION.DEFECTDEDUCTIONID=TP_MST_DEFECTDEDUCTION.DEFECTDEDUCTIONID
  3533. ORDER BY TP_MST_DEFECTDEDUCTION.DISPLAYNO
  3534. ";
  3535. oracleConn.Open();
  3536. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  3537. oracleConn.Close();
  3538. return result;
  3539. }
  3540. catch (Exception ex)
  3541. {
  3542. if (oracleConn.ConnState == ConnectionState.Open)
  3543. {
  3544. oracleConn.Close();
  3545. }
  3546. throw ex;
  3547. }
  3548. }
  3549. #region 半成品缺陷及位置
  3550. /// <summary>
  3551. /// 获取半成品缺陷管理的全部数据
  3552. /// </summary>
  3553. /// <param name="sUserInfo">用户基本信息</param>
  3554. /// <returns>DataSet</returns>
  3555. /// <remarks>
  3556. /// 2016.06.22 王鑫 新建
  3557. /// </remarks>
  3558. public static DataSet GetAllSemicheckDefect(SUserInfo sUserInfo)
  3559. {
  3560. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3561. try
  3562. {
  3563. string sqlString = "Select DefectID,DefectCode,DefectName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,"
  3564. + " UpdateTime,UpdateUserID,OPTimeStamp,displayno, concat(tp_mst_semicheckdefect.DefectCode||'->',tp_mst_semicheckdefect.DefectName) as DefectFlagName,S_NAME from tp_mst_semicheckdefect where AccountID =:accountID"
  3565. + " order by displayno";
  3566. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3567. {
  3568. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3569. };
  3570. oracleConn.Open();
  3571. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3572. oracleConn.Close();
  3573. return result;
  3574. }
  3575. catch (Exception ex)
  3576. {
  3577. if (oracleConn.ConnState == ConnectionState.Open)
  3578. {
  3579. oracleConn.Close();
  3580. }
  3581. throw ex;
  3582. }
  3583. }
  3584. public static DataSet GetPLCParameter(string PlcName)
  3585. {
  3586. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3587. try
  3588. {
  3589. string sqlString = "SELECT PLCID,IP,PORT FROM TP_MST_PLC WHERE PLCNAME = :PLCNAME";
  3590. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3591. {
  3592. new Oracle.ManagedDataAccess.Client.OracleParameter(":PLCNAME",PlcName)
  3593. };
  3594. oracleConn.Open();
  3595. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3596. oracleConn.Close();
  3597. return result;
  3598. }
  3599. catch (Exception ex)
  3600. {
  3601. if (oracleConn.ConnState == ConnectionState.Open)
  3602. {
  3603. oracleConn.Close();
  3604. }
  3605. throw ex;
  3606. }
  3607. }
  3608. public static DataSet GetGodsParameter(string BarCode)
  3609. {
  3610. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3611. try
  3612. {
  3613. string sqlString = @"SELECT TPGL.GROUTINGLINECODE,GOODSMODEL,TMGT.GOODSTYPENAME,GOODSSPECIFICATION FROM TP_PM_GROUTINGDAILYDETAIL TPGL
  3614. LEFT JOIN TP_MST_GOODS TMG ON TPGL.GOODSCODE = TMG.GOODSCODE
  3615. LEFT JOIN TP_MST_GOODSTYPE TMGT ON TMGT.GOODSTYPEID = TMG.GOODSTYPEID
  3616. WHERE TPGL.BARCODE = :BARCODE";
  3617. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3618. {
  3619. new Oracle.ManagedDataAccess.Client.OracleParameter(":BARCODE",BarCode)
  3620. };
  3621. oracleConn.Open();
  3622. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3623. oracleConn.Close();
  3624. return result;
  3625. }
  3626. catch (Exception ex)
  3627. {
  3628. if (oracleConn.ConnState == ConnectionState.Open)
  3629. {
  3630. oracleConn.Close();
  3631. }
  3632. throw ex;
  3633. }
  3634. }
  3635. public static ServiceResultEntity AddPlcGood(string Plcid, string BarCode, string GROUTINGLINECODE, string GOODSMODEL, string GOODSTYPENAME, string GOODSSPECIFICATION)
  3636. {
  3637. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3638. try
  3639. {
  3640. string sqlString = "";
  3641. oracleConn.Open();
  3642. //获取plc信息
  3643. sqlString = @"SELECT IP,PORT,PLCDESCRIPTION FROM TP_MST_PLC WHERE PLCID = :PLCID";
  3644. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3645. {
  3646. new Oracle.ManagedDataAccess.Client.OracleParameter(":PLCID",Plcid)
  3647. };
  3648. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3649. if (result.Tables[0] == null || result.Tables[0].Rows.Count == 0)
  3650. {
  3651. return new ServiceResultEntity() { Status = Constant.ServiceResultStatus.Other, Message = "PLC写入失败" };
  3652. }
  3653. string ip = result.Tables[0].Rows[0]["IP"].ToString();
  3654. int port = Convert.ToInt32(result.Tables[0].Rows[0]["PORT"]);
  3655. string PLCDescription = result.Tables[0].Rows[0]["PLCDESCRIPTION"].ToString();
  3656. sqlString = @"SELECT
  3657. TPGL.GROUTINGLINECODE,
  3658. TMG.SEATCOVERCODE,
  3659. CASE WHEN TMGT.GOODSTYPECODE = '001001003' THEN
  3660. '1'
  3661. ELSE
  3662. '2'
  3663. END GOODSTYPENAME,
  3664. SUBSTR(TMG.GOODSSPECIFICATION, 0, 3) GOODSSPECIFICATION
  3665. FROM
  3666. TP_PM_GROUTINGDAILYDETAIL TPGL
  3667. LEFT JOIN TP_MST_GOODS TMG ON TPGL.GOODSCODE = TMG.GOODSCODE
  3668. LEFT JOIN TP_MST_GOODSTYPE TMGT ON TMGT.GOODSTYPEID = TMG.GOODSTYPEID
  3669. WHERE
  3670. (TMGT.GOODSTYPECODE = '001001003' OR TMGT.GOODSTYPECODE = '001001001')
  3671. AND TPGL.BARCODE = :BarCode";
  3672. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter1 = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3673. {
  3674. new Oracle.ManagedDataAccess.Client.OracleParameter(":BarCode",BarCode)
  3675. };
  3676. DataSet result1 = oracleConn.GetSqlResultToDs(sqlString, oracleParameter1);
  3677. if (result1.Tables[0] == null || result1.Tables[0].Rows.Count == 0)
  3678. {
  3679. return new ServiceResultEntity() { Status = Constant.ServiceResultStatus.Other, Message = "PLC写入失败" };
  3680. }
  3681. int SEATCOVERCODE = Convert.ToInt32(result1.Tables[0].Rows[0]["SEATCOVERCODE"]);
  3682. int GOODSTYPE = Convert.ToInt32(result1.Tables[0].Rows[0]["GOODSTYPENAME"]);
  3683. int GOODSSPECIFICATION1 = Convert.ToInt32(result1.Tables[0].Rows[0]["GOODSSPECIFICATION"]);
  3684. string GROUTINGLINECODE1 = result1.Tables[0].Rows[0]["GROUTINGLINECODE"].ToString();
  3685. //写入PLC
  3686. using (SocketClient<SiemensS7_1200Model> plc = new SocketClient<SiemensS7_1200Model>())
  3687. {
  3688. //测试静态数据 测试成功
  3689. //plc.Connect(ip, port);
  3690. //plc.Write<short>("DB", "2000.0", Convert.ToInt16(1));
  3691. //plc.Write<short>("DB", "2000.2", Convert.ToInt16(75));
  3692. //plc.Write<short>("DB", "2000.4", Convert.ToInt16(1));
  3693. //plc.Write<short>("DB", "2000.6", Convert.ToInt16(306));
  3694. //plc.Write<string>("DB", "2000.10", "A00A02");
  3695. //plc.Write<string>("DB", "2000.18", "22222222222");
  3696. //手动写
  3697. plc.Connect(ip, port);
  3698. plc.Write<short>("DB", PLCDescription + ".0", Convert.ToInt16(1));
  3699. plc.Write<short>("DB", PLCDescription + ".2", Convert.ToInt16(SEATCOVERCODE));
  3700. plc.Write<short>("DB", PLCDescription + ".4", Convert.ToInt16(GOODSTYPE));
  3701. plc.Write<short>("DB", PLCDescription + ".6", Convert.ToInt16(GOODSSPECIFICATION1));
  3702. plc.Write<string>("DB", PLCDescription + ".10", GROUTINGLINECODE1);
  3703. plc.Write<string>("DB", PLCDescription + ".18", BarCode);
  3704. }
  3705. //写入操作成功日志
  3706. string plcParaStr = "BarCode:" + BarCode + " GROUTINGLINECODE:" + GROUTINGLINECODE1 + " SEATCOVERCODE:" + SEATCOVERCODE +
  3707. " GOODSTYPE:" + GOODSTYPE + " GOODSSPECIFICATION1:" + GOODSSPECIFICATION1;
  3708. Curtain.Log.Logger.Debug($"PLC写入成功!" + plcParaStr);
  3709. oracleConn.Close();
  3710. //PLC操作成功
  3711. return new ServiceResultEntity()
  3712. {
  3713. Status = Constant.ServiceResultStatus.Success,
  3714. Message = "" //一定不可以有值,为空时才是提交成功
  3715. };
  3716. }
  3717. catch (Exception ex)
  3718. {
  3719. if (oracleConn.ConnState == ConnectionState.Open)
  3720. {
  3721. oracleConn.Close();
  3722. }
  3723. throw ex;
  3724. }
  3725. }
  3726. /// <summary>
  3727. /// 获取半成品缺陷位置管理的全部数据
  3728. /// </summary>
  3729. /// <param name="sUserInfo">用户基本信息</param>
  3730. /// <returns>DataSet</returns>
  3731. /// <remarks>
  3732. /// 2016.06.22 王鑫 新建
  3733. /// </remarks>
  3734. public static DataSet GetAllScdefectPosition(SUserInfo sUserInfo)
  3735. {
  3736. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3737. try
  3738. {
  3739. string sqlString = "Select DefectPositionID,DefectPositionCode,DefectPositionName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,"
  3740. + " UpdateTime,UpdateUserID,OPTimeStamp,displayno, concat(tp_mst_scdefectposition.DefectPositionCode||'->',tp_mst_scdefectposition.DefectPositionName) as DefectPositionFlagName,S_NAME from tp_mst_scdefectposition where AccountID =:accountID"
  3741. + " order by displayno";
  3742. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3743. {
  3744. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3745. };
  3746. oracleConn.Open();
  3747. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3748. oracleConn.Close();
  3749. return result;
  3750. }
  3751. catch (Exception ex)
  3752. {
  3753. if (oracleConn.ConnState == ConnectionState.Open)
  3754. {
  3755. oracleConn.Close();
  3756. }
  3757. throw ex;
  3758. }
  3759. }
  3760. /// <summary>
  3761. /// 获取半检及复检状态数据
  3762. /// </summary>
  3763. /// <returns>DataSet</returns>
  3764. /// <remarks>
  3765. /// 2016.06.25 王鑫 新建
  3766. /// </remarks>
  3767. public static DataSet GetSemiCheckType()
  3768. {
  3769. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3770. try
  3771. {
  3772. string sqlString = @"select TP_SYS_SemiCheckType.Semichecktypeid,TP_SYS_SemiCheckType.Semichecktypename,
  3773. TP_SYS_SemiCheckType.Displayno,1 as Semichecktype from TP_SYS_SemiCheckType
  3774. union
  3775. select TP_SYS_ReSemiCheckType.Resemichecktypeid,TP_SYS_ReSemiCheckType.Resemichecktypename,
  3776. TP_SYS_ReSemiCheckType.Displayno, 2 as Semichecktype from TP_SYS_ReSemiCheckType";
  3777. oracleConn.Open();
  3778. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  3779. oracleConn.Close();
  3780. return result;
  3781. }
  3782. catch (Exception ex)
  3783. {
  3784. if (oracleConn.ConnState == ConnectionState.Open)
  3785. {
  3786. oracleConn.Close();
  3787. }
  3788. throw ex;
  3789. }
  3790. }
  3791. #endregion
  3792. #endregion
  3793. #region 工艺管理
  3794. /// <summary>
  3795. /// 获取工艺管理的全部数据
  3796. /// </summary>
  3797. /// <param name="sUserInfo">用户基本信息</param>
  3798. /// <returns>DataSet</returns>
  3799. /// <remarks>
  3800. /// 2016.07.19 王鑫 新建
  3801. /// </remarks>
  3802. public static DataSet GetAllTecDepInfo(SUserInfo sUserInfo)
  3803. {
  3804. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3805. try
  3806. {
  3807. //获取窑炉管理数据
  3808. string sqlString = "Select ID,Name,TypeFlag,TechnologyFlag,DisplayNo,Remarks,ValueFlag " +
  3809. "from TP_MST_TecDep where AccountID = :AccountID order by DisplayNo";
  3810. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  3811. {
  3812. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  3813. };
  3814. oracleConn.Open();
  3815. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  3816. oracleConn.Close();
  3817. return result;
  3818. }
  3819. catch (Exception ex)
  3820. {
  3821. if (oracleConn.ConnState == ConnectionState.Open)
  3822. {
  3823. oracleConn.Close();
  3824. }
  3825. throw ex;
  3826. }
  3827. }
  3828. /// <summary>
  3829. /// 获取配置管理的全部数据
  3830. /// </summary>
  3831. /// <param name="sUserInfo">用户基本信息</param>
  3832. /// <returns>DataSet</returns>
  3833. /// <remarks>
  3834. /// 2016.07.19 王鑫 新建
  3835. /// </remarks>
  3836. public static DataSet GetTransfer(TecDepEntity tecDepEntity, SUserInfo sUserInfo)
  3837. {
  3838. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3839. try
  3840. {
  3841. List<OracleParameter> parameters = new List<OracleParameter>();
  3842. parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  3843. //获取管理数据
  3844. string sqlString = @"Select T.PTID,
  3845. T.Name,
  3846. P.ProductionLineName,
  3847. T.GroutingDateBegin,
  3848. T.DisplayNo,
  3849. T.Remarks,
  3850. T.ValueFlag
  3851. from TP_MST_RPT_Transfer T
  3852. left join TP_PC_ProductionLine P
  3853. on T.LineID=P.ProductionLineID
  3854. where T.AccountID = :AccountID ";
  3855. if (!string.IsNullOrEmpty(tecDepEntity.Name))
  3856. {
  3857. sqlString = sqlString + " AND instr(T.Name,:Name)>0";
  3858. parameters.Add(new OracleParameter(":Name", OracleDbType.NVarchar2, tecDepEntity.Name, ParameterDirection.Input));
  3859. }
  3860. if (!string.IsNullOrEmpty(tecDepEntity.LineIDS))
  3861. {
  3862. sqlString = sqlString + " AND instr(','||:LineIDS||',',','||P.ProductionLineID||',')>0 ";
  3863. parameters.Add(new OracleParameter(":LineIDS", OracleDbType.NVarchar2, tecDepEntity.LineIDS, ParameterDirection.Input));
  3864. }
  3865. if (!string.IsNullOrEmpty(tecDepEntity.Remarks))
  3866. {
  3867. sqlString = sqlString + " AND instr(T.Remarks,:Remarks)>0";
  3868. parameters.Add(new OracleParameter(":Remarks", OracleDbType.NVarchar2, tecDepEntity.Remarks, ParameterDirection.Input));
  3869. }
  3870. if (tecDepEntity.ValueFlag != 2) // 不等于全部
  3871. {
  3872. sqlString = sqlString + " AND T.ValueFlag=:ValueFlag";
  3873. parameters.Add(new OracleParameter(":ValueFlag", OracleDbType.Int32, tecDepEntity.ValueFlag, ParameterDirection.Input));
  3874. }
  3875. sqlString += " order by DisplayNo desc";
  3876. oracleConn.Open();
  3877. DataSet result = oracleConn.GetSqlResultToDs(sqlString, parameters.ToArray());
  3878. oracleConn.Close();
  3879. return result;
  3880. }
  3881. catch (Exception ex)
  3882. {
  3883. if (oracleConn.ConnState == ConnectionState.Open)
  3884. {
  3885. oracleConn.Close();
  3886. }
  3887. throw ex;
  3888. }
  3889. }
  3890. /// <summary>
  3891. /// 获取配置明细管理的全部数据
  3892. /// </summary>
  3893. /// <param name="sUserInfo">用户基本信息</param>
  3894. /// <returns>DataSet</returns>
  3895. /// <remarks>
  3896. /// 2016.07.19 王鑫 新建
  3897. /// </remarks>
  3898. public static DataSet GetTransferInfo(int PTID, SUserInfo sUserInfo)
  3899. {
  3900. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3901. try
  3902. {
  3903. List<OracleParameter> parameters = new List<OracleParameter>();
  3904. parameters.Add(new OracleParameter(":PTID", OracleDbType.Int32, PTID, ParameterDirection.Input));
  3905. //获取管理数据
  3906. string sqlString = @"Select P1.ProcedureName,
  3907. P2.ProcedureName as PerProcedureName,
  3908. OutTecDep.Name,
  3909. InTecDep.Name as InName,
  3910. TS.DisplayNo
  3911. from TP_MST_RPT_TransferSetting TS
  3912. left join tp_pc_procedure P1
  3913. on TS.ProcedureID=P1.ProcedureID
  3914. left join tp_pc_procedure P2
  3915. on TS.PERPROCEDUREID=P2.ProcedureID
  3916. left join TP_MST_TecDep OutTecDep
  3917. on TS.OUTTECDEPID=OutTecDep.ID
  3918. left join TP_MST_TecDep InTecDep
  3919. on TS.INTECDEPID=InTecDep.ID
  3920. where TS.PTID = :PTID order by TS.DisplayNo";
  3921. oracleConn.Open();
  3922. DataSet result = oracleConn.GetSqlResultToDs(sqlString, parameters.ToArray());
  3923. oracleConn.Close();
  3924. return result;
  3925. }
  3926. catch (Exception ex)
  3927. {
  3928. if (oracleConn.ConnState == ConnectionState.Open)
  3929. {
  3930. oracleConn.Close();
  3931. }
  3932. throw ex;
  3933. }
  3934. }
  3935. /// <summary>
  3936. /// 获取配置编辑明细管理的全部数据
  3937. /// </summary>
  3938. /// <param name="sUserInfo">用户基本信息</param>
  3939. /// <returns>DataSet</returns>
  3940. /// <remarks>
  3941. /// 2016.07.19 王鑫 新建
  3942. /// </remarks>
  3943. public static DataSet GetTransferEditInfo(int PTID, SUserInfo sUserInfo)
  3944. {
  3945. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  3946. try
  3947. {
  3948. List<OracleParameter> parameters = new List<OracleParameter>();
  3949. parameters.Add(new OracleParameter(":PTID", OracleDbType.Int32, PTID, ParameterDirection.Input));
  3950. //获取管理数据
  3951. string sqlString = @"
  3952. Select T.PTID,
  3953. T.Name,
  3954. T.LineID,
  3955. P.ProductionLineName,
  3956. T.GroutingDateBegin,
  3957. T.DisplayNo,
  3958. T.Remarks,
  3959. T.ValueFlag
  3960. from TP_MST_RPT_Transfer T
  3961. left join TP_PC_ProductionLine P
  3962. on T.LineID=P.ProductionLineID
  3963. where T.PTID = :PTID
  3964. ";
  3965. string sqlString2 = @"Select
  3966. TS.PROCEDUREID,
  3967. TS.PERPROCEDUREID,
  3968. TS.OUTTECDEPID,
  3969. TS.INTECDEPID,
  3970. P1.ProcedureName,
  3971. P2.ProcedureName as PerProcedureName,
  3972. OutTecDep.Name as OutName,
  3973. InTecDep.Name as InName,
  3974. TS.DisplayNo
  3975. from TP_MST_RPT_TransferSetting TS
  3976. left join tp_pc_procedure P1
  3977. on TS.ProcedureID=P1.ProcedureID
  3978. left join tp_pc_procedure P2
  3979. on TS.PERPROCEDUREID=P2.ProcedureID
  3980. left join TP_MST_TecDep OutTecDep
  3981. on TS.OUTTECDEPID=OutTecDep.ID
  3982. left join TP_MST_TecDep InTecDep
  3983. on TS.INTECDEPID=InTecDep.ID
  3984. where TS.PTID = :PTID order by TS.DisplayNo";
  3985. oracleConn.Open();
  3986. DataSet ds = new DataSet();
  3987. DataSet result = oracleConn.GetSqlResultToDs(sqlString, parameters.ToArray());
  3988. result.Tables[0].TableName = "TP_MST_RPT_Transfer";
  3989. ds.Tables.Add(result.Tables[0].Copy());
  3990. DataSet result2 = oracleConn.GetSqlResultToDs(sqlString2, parameters.ToArray());
  3991. result2.Tables[0].TableName = "TP_MST_RPT_TransferSetting";
  3992. ds.Tables.Add(result2.Tables[0].Copy());
  3993. oracleConn.Close();
  3994. return ds;
  3995. }
  3996. catch (Exception ex)
  3997. {
  3998. if (oracleConn.ConnState == ConnectionState.Open)
  3999. {
  4000. oracleConn.Close();
  4001. }
  4002. throw ex;
  4003. }
  4004. }
  4005. #endregion
  4006. #region 条码打印
  4007. /// <summary>
  4008. /// 查询模板一览
  4009. /// </summary>
  4010. /// <param name="cre"></param>
  4011. /// <returns></returns>
  4012. public static ServiceResultEntity GetBarCodePrintLayoutList(ClientRequestEntity cre, SUserInfo sUserInfo)
  4013. {
  4014. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4015. try
  4016. {
  4017. oracleConn.Open();
  4018. string sqlString =
  4019. "SELECT t.layoutid\n" +
  4020. " ,t.layoutname\n" +
  4021. " ,t.width\n" +
  4022. " ,t.height\n" +
  4023. " ,gt.goodstypename\n" +
  4024. " ,gt.goodstypecode\n" +
  4025. " ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logonamecode\n" +
  4026. " ,t.remarks\n" +
  4027. " ,t.valueflag\n" +
  4028. " ,t.PrintType\n" + //xuwei add 2019-11-20
  4029. " ,s.PrintTypeName\n" + //xuwei add 2019-11-20
  4030. " FROM tp_mst_barcodeprintlayout t\n" +
  4031. " INNER JOIN tp_mst_goodstype gt\n" +
  4032. " ON gt.goodstypeid = t.goodstypeid\n" +
  4033. " LEFT JOIN tp_mst_Logo logo\n" +
  4034. " ON logo.logoid = t.logoid\n" +
  4035. " left join TP_SYS_BARCODEPRINTTYPE s on t.printtype = s.printtypeid \n" + //xuwei add 2019-11-20
  4036. " WHERE t.accountid = :accountid\n" +
  4037. " AND (:layoutname IS NULL OR instr(t.layoutname, :layoutname) > 0)\n" +
  4038. " AND (:goodstypecode IS NULL OR\n" +
  4039. " instr(gt.goodstypecode, :goodstypecode) = 1)\n" +
  4040. " AND (:remarks IS NULL OR instr(t.remarks, :remarks) > 0)\n" +
  4041. " AND (:valueflag IS NULL OR t.valueflag = :valueflag)\n" +
  4042. " AND (:logos IS NULL OR instr(:logos, ','|| t.logoid ||',') > 0)\n" +
  4043. " ORDER BY gt.goodstypecode, decode(logo.logocode, null, ' ',logo.logocode)";
  4044. List<OracleParameter> parameters = new List<OracleParameter>();
  4045. parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4046. parameters.Add(new OracleParameter(":layoutname", OracleDbType.NVarchar2, cre.Properties["layoutname"], ParameterDirection.Input));
  4047. parameters.Add(new OracleParameter(":goodstypecode", OracleDbType.NVarchar2, cre.Properties["goodstypecode"], ParameterDirection.Input));
  4048. parameters.Add(new OracleParameter(":remarks", OracleDbType.NVarchar2, cre.Properties["remarks"], ParameterDirection.Input));
  4049. parameters.Add(new OracleParameter(":valueflag", OracleDbType.NVarchar2, cre.Properties["valueflag"], ParameterDirection.Input));
  4050. parameters.Add(new OracleParameter(":logos", OracleDbType.NVarchar2, cre.Properties["logos"], ParameterDirection.Input));
  4051. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  4052. ServiceResultEntity sre = new ServiceResultEntity();
  4053. if (data == null || data.Rows.Count == 0)
  4054. {
  4055. sre.Status = Constant.ServiceResultStatus.NoSearchResults;
  4056. return sre;
  4057. }
  4058. sre.Data = new DataSet();
  4059. sre.Data.Tables.Add(data);
  4060. return sre;
  4061. }
  4062. catch (Exception ex)
  4063. {
  4064. throw ex;
  4065. }
  4066. finally
  4067. {
  4068. if (oracleConn != null &&
  4069. oracleConn.ConnState == ConnectionState.Open)
  4070. {
  4071. oracleConn.Close();
  4072. }
  4073. }
  4074. }
  4075. /// <summary>
  4076. /// 验证产品类别是否已存在模板
  4077. /// </summary>
  4078. /// <param name="cre"></param>
  4079. /// <returns></returns>
  4080. public static ServiceResultEntity IsExistBarCodePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  4081. {
  4082. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4083. try
  4084. {
  4085. oracleConn.Open();
  4086. string sqlString =
  4087. "SELECT t.layoutid\n" +
  4088. " FROM tp_mst_barcodeprintlayout t\n" +
  4089. " WHERE t.goodstypeid = :goodstypeid\n" +
  4090. " AND ((:printtype is null and t.printtype is null) or (t.printtype = :printtype))\n" + //xuwei add 2019-11-20
  4091. " AND ((:logoid is null and t.logoid is null) or (t.logoid = :logoid))\n" +
  4092. " AND (:layoutid is null or :layoutid <> t.layoutid)";
  4093. List<OracleParameter> parameters = new List<OracleParameter>();
  4094. //parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4095. parameters.Add(new OracleParameter(":printtype", OracleDbType.Int32, cre.Properties["PrintType"], ParameterDirection.Input));
  4096. parameters.Add(new OracleParameter(":goodstypeid", OracleDbType.Int32, cre.Properties["GoodsTypeID"], ParameterDirection.Input));
  4097. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["layoutid"], ParameterDirection.Input));
  4098. parameters.Add(new OracleParameter(":logoid", OracleDbType.Int32, cre.Properties["LogoID"], ParameterDirection.Input));
  4099. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  4100. ServiceResultEntity sre = new ServiceResultEntity();
  4101. if (data == null || data.Rows.Count == 0)
  4102. {
  4103. sre.Result = false;
  4104. return sre;
  4105. }
  4106. sre.Result = true;
  4107. return sre;
  4108. }
  4109. catch (Exception ex)
  4110. {
  4111. throw ex;
  4112. }
  4113. finally
  4114. {
  4115. if (oracleConn != null &&
  4116. oracleConn.ConnState == ConnectionState.Open)
  4117. {
  4118. oracleConn.Close();
  4119. }
  4120. }
  4121. }
  4122. /// <summary>
  4123. /// 获取打印项目
  4124. /// </summary>
  4125. /// <param name="cre"></param>
  4126. /// <returns></returns>
  4127. public static ServiceResultEntity GetBarCodePrintItem(ClientRequestEntity cre, SUserInfo sUserInfo)
  4128. {
  4129. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4130. try
  4131. {
  4132. oracleConn.Open();
  4133. string sqlString =
  4134. "SELECT s.itemcode\n" +
  4135. " ,s.itemname\n" +
  4136. " ,s.itemsample\n" +
  4137. " ,s.itemstyle\n" +
  4138. " ,s.controlcode\n" +
  4139. " ,s.displayno\n" +
  4140. " FROM tp_sys_barcodeprintitem s\n" +
  4141. " ORDER BY s.displayno";
  4142. DataSet data = oracleConn.GetSqlResultToDs(sqlString, null);
  4143. ServiceResultEntity sre = new ServiceResultEntity();
  4144. sre.Data = data;
  4145. return sre;
  4146. }
  4147. catch (Exception ex)
  4148. {
  4149. throw ex;
  4150. }
  4151. finally
  4152. {
  4153. if (oracleConn != null &&
  4154. oracleConn.ConnState == ConnectionState.Open)
  4155. {
  4156. oracleConn.Close();
  4157. }
  4158. }
  4159. }
  4160. /// <summary>
  4161. /// 查询打印模板
  4162. /// </summary>
  4163. /// <param name="cre"></param>
  4164. /// <returns></returns>
  4165. public static ServiceResultEntity GetBarCodePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  4166. {
  4167. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4168. try
  4169. {
  4170. oracleConn.Open();
  4171. string sqlString =
  4172. "SELECT t.layoutid\n" +
  4173. " ,t.layoutname\n" +
  4174. " ,t.layoutdata\n" +
  4175. " ,t.goodstypeid\n" +
  4176. " ,gt.goodstypecode\n" +
  4177. " ,gt.goodstypename\n" +
  4178. " ,t.logoid\n" +
  4179. " ,t.printtype\n" + //xuwei add 2019-11-20
  4180. " ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logoName\n" +
  4181. //" ,logo.logoName || '[' || logo.logocode || ']' logoName\n" +
  4182. " ,t.width\n" +
  4183. " ,t.height\n" +
  4184. " ,t.remarks\n" +
  4185. " FROM tp_mst_barcodeprintlayout t\n" +
  4186. " INNER JOIN tp_mst_goodstype gt\n" +
  4187. " ON gt.goodstypeid = t.goodstypeid\n" +
  4188. " LEFT JOIN tp_mst_logo logo\n" +
  4189. " ON logo.logoid = t.logoid\n" +
  4190. " WHERE t.layoutid = :layoutid";
  4191. List<OracleParameter> parameters = new List<OracleParameter>();
  4192. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  4193. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  4194. ServiceResultEntity sre = new ServiceResultEntity();
  4195. sre.Data = new DataSet();
  4196. sre.Data.Tables.Add(data);
  4197. string sqlString1 =
  4198. "SELECT t.layoutid\n" +
  4199. " ,t.layoutitemid\n" +
  4200. " ,t.itemcode\n" +
  4201. " ,s.itemname\n" +
  4202. " ,s.itemsample\n" +
  4203. " ,s.itemstyle\n" +
  4204. " ,s.controlcode\n" +
  4205. " FROM tp_mst_barcodeprintitem t\n" +
  4206. " INNER JOIN tp_sys_barcodeprintitem s\n" +
  4207. " ON s.itemcode = t.itemcode\n" +
  4208. " WHERE t.layoutid = :layoutid";
  4209. DataTable data1 = oracleConn.GetSqlResultToDt(sqlString1, parameters.ToArray());
  4210. sre.Data.Tables.Add(data1);
  4211. return sre;
  4212. }
  4213. catch (Exception ex)
  4214. {
  4215. throw ex;
  4216. }
  4217. finally
  4218. {
  4219. if (oracleConn != null &&
  4220. oracleConn.ConnState == ConnectionState.Open)
  4221. {
  4222. oracleConn.Close();
  4223. }
  4224. }
  4225. }
  4226. /// <summary>
  4227. /// 新建打印模板
  4228. /// </summary>
  4229. /// <param name="cre"></param>
  4230. /// <returns></returns>
  4231. public static ServiceResultEntity SaveAddBarCodePrintLayoutData(ClientRequestEntity cre, SUserInfo sUserInfo)
  4232. {
  4233. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4234. try
  4235. {
  4236. oracleTrConn.Connect();
  4237. DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  4238. string sqlid = "select SEQ_MST_BARCODEPRINTLAYOUT_ID.Nextval from dual";
  4239. int layoutID = Convert.ToInt32(oracleTrConn.GetSqlResultToObj(sqlid));
  4240. ServiceResultEntity sre = new ServiceResultEntity();
  4241. sre.Result = layoutID;
  4242. string sqlString = "INSERT INTO TP_MST_BARCODEPRINTLAYOUT\n" +
  4243. " (LAYOUTID\n" +
  4244. " ,LAYOUTNAME\n" +
  4245. " ,LAYOUTDATA\n" +
  4246. " ,GOODSTYPEID\n" +
  4247. " ,GOODSTYPECODE\n" +
  4248. " ,LOGOID\n" +
  4249. " ,PRINTTYPE\n" + //xuwei add 2019-11-20
  4250. " ,WIDTH\n" +
  4251. " ,HEIGHT\n" +
  4252. " ,REMARKS\n" +
  4253. " ,ACCOUNTID\n" +
  4254. " ,CREATEUSERID\n" +
  4255. " ,UPDATEUSERID)\n" +
  4256. "VALUES\n" +
  4257. " (:LAYOUTID\n" +
  4258. " ,:LAYOUTNAME\n" +
  4259. " ,:LAYOUTDATA\n" +
  4260. " ,:GOODSTYPEID\n" +
  4261. " ,:GOODSTYPECODE\n" +
  4262. " ,:LOGOID\n" +
  4263. " ,:PRINTTYPE\n" + //xuwei add 2019-11-20
  4264. " ,:WIDTH\n" +
  4265. " ,:HEIGHT\n" +
  4266. " ,:REMARKS\n" +
  4267. " ,:ACCOUNTID\n" +
  4268. " ,:CREATEUSERID\n" +
  4269. " ,:CREATEUSERID)";
  4270. List<OracleParameter> parameters = new List<OracleParameter>();
  4271. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutID, ParameterDirection.Input));
  4272. parameters.Add(new OracleParameter(":LAYOUTNAME", OracleDbType.NVarchar2, layoutdata["LAYOUTNAME"], ParameterDirection.Input));
  4273. parameters.Add(new OracleParameter(":LAYOUTDATA", OracleDbType.Blob, layoutdata["LAYOUTDATA"], ParameterDirection.Input));
  4274. parameters.Add(new OracleParameter(":GOODSTYPEID", OracleDbType.Int32, layoutdata["GOODSTYPEID"], ParameterDirection.Input));
  4275. parameters.Add(new OracleParameter(":GOODSTYPECODE", OracleDbType.NVarchar2, layoutdata["GOODSTYPECODE"], ParameterDirection.Input));
  4276. parameters.Add(new OracleParameter(":LOGOID", OracleDbType.Int32, layoutdata["LOGOID"], ParameterDirection.Input));
  4277. //xuwei add 2019-11-20
  4278. parameters.Add(new OracleParameter(":PRINTTYPE", OracleDbType.Int32, layoutdata["PRINTTYPE"], ParameterDirection.Input));
  4279. parameters.Add(new OracleParameter(":WIDTH", OracleDbType.Int32, layoutdata["WIDTH"], ParameterDirection.Input));
  4280. parameters.Add(new OracleParameter(":HEIGHT", OracleDbType.Int32, layoutdata["HEIGHT"], ParameterDirection.Input));
  4281. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, layoutdata["REMARKS"], ParameterDirection.Input));
  4282. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4283. parameters.Add(new OracleParameter(":CREATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4284. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4285. if (result == 0)
  4286. {
  4287. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4288. return sre;
  4289. }
  4290. // 插入新的项目明细
  4291. foreach (DataRow dataRow in cre.Data.Tables[1].Rows)
  4292. {
  4293. if (dataRow.RowState == DataRowState.Deleted ||
  4294. dataRow.RowState == DataRowState.Detached)
  4295. {
  4296. continue;
  4297. }
  4298. sqlString = "INSERT INTO TP_MST_BARCODEPRINTITEM"
  4299. + "(LayoutID"
  4300. + ",LayoutItemID"
  4301. + ",ItemCode"
  4302. + ")"
  4303. + "VALUES"
  4304. + " (:LayoutID"
  4305. + ",:layoutItemID"
  4306. + ",:ItemCode"
  4307. + ")";
  4308. parameters.Clear();
  4309. parameters.Add(new OracleParameter(":LayoutID", OracleDbType.Int32, layoutID, ParameterDirection.Input));
  4310. parameters.Add(new OracleParameter(":layoutItemID", OracleDbType.Int32, dataRow["layoutItemID"], ParameterDirection.Input));
  4311. parameters.Add(new OracleParameter(":ItemCode", OracleDbType.NVarchar2, dataRow["ItemCode"], ParameterDirection.Input));
  4312. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4313. }
  4314. oracleTrConn.Commit();
  4315. return sre;
  4316. }
  4317. catch (Exception ex)
  4318. {
  4319. if (oracleTrConn != null &&
  4320. oracleTrConn.ConnState == ConnectionState.Open)
  4321. {
  4322. oracleTrConn.Rollback();
  4323. }
  4324. throw ex;
  4325. }
  4326. finally
  4327. {
  4328. if (oracleTrConn != null &&
  4329. oracleTrConn.ConnState == ConnectionState.Open)
  4330. {
  4331. oracleTrConn.Disconnect();
  4332. }
  4333. }
  4334. }
  4335. /// <summary>
  4336. /// 编辑打印模板
  4337. /// </summary>
  4338. /// <param name="cre"></param>
  4339. /// <returns></returns>
  4340. public static ServiceResultEntity SaveEditBarCodePrintLayoutData(ClientRequestEntity cre, SUserInfo sUserInfo)
  4341. {
  4342. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4343. try
  4344. {
  4345. oracleTrConn.Connect();
  4346. DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  4347. ServiceResultEntity sre = new ServiceResultEntity();
  4348. string sqlString = "UPDATE TP_MST_BARCODEPRINTLAYOUT t\n" +
  4349. " SET t.LAYOUTDATA = :LAYOUTDATA, t.WIDTH = :WIDTH, t.HEIGHT = :HEIGHT, t.UPDATEUSERID=:UPDATEUSERID\n" +
  4350. " WHERE t.LAYOUTID = :LAYOUTID";
  4351. List<OracleParameter> parameters = new List<OracleParameter>();
  4352. parameters.Add(new OracleParameter(":LAYOUTDATA", OracleDbType.Blob, layoutdata["LAYOUTDATA"], ParameterDirection.Input));
  4353. parameters.Add(new OracleParameter(":WIDTH", OracleDbType.Int32, layoutdata["WIDTH"], ParameterDirection.Input));
  4354. parameters.Add(new OracleParameter(":HEIGHT", OracleDbType.Int32, layoutdata["HEIGHT"], ParameterDirection.Input));
  4355. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  4356. parameters.Add(new OracleParameter(":UPDATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4357. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4358. if (result == 0)
  4359. {
  4360. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4361. return sre;
  4362. }
  4363. sre.Result = result;
  4364. sqlString = "DELETE FROM TP_MST_BARCODEPRINTITEM WHERE LAYOUTID = :LAYOUTID";
  4365. parameters.Clear();
  4366. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  4367. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4368. // 插入新的项目明细
  4369. foreach (DataRow dataRow in cre.Data.Tables[1].Rows)
  4370. {
  4371. if (dataRow.RowState == DataRowState.Deleted ||
  4372. dataRow.RowState == DataRowState.Detached)
  4373. {
  4374. continue;
  4375. }
  4376. sqlString = "INSERT INTO TP_MST_BARCODEPRINTITEM"
  4377. + "(LayoutID"
  4378. + ",LayoutItemID"
  4379. + ",ItemCode"
  4380. + ")"
  4381. + "VALUES"
  4382. + " (:LayoutID"
  4383. + ",:layoutItemID"
  4384. + ",:ItemCode"
  4385. + ")";
  4386. parameters.Clear();
  4387. parameters.Add(new OracleParameter(":LayoutID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  4388. parameters.Add(new OracleParameter(":layoutItemID", OracleDbType.Int32, dataRow["layoutItemID"], ParameterDirection.Input));
  4389. parameters.Add(new OracleParameter(":ItemCode", OracleDbType.NVarchar2, dataRow["ItemCode"], ParameterDirection.Input));
  4390. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4391. }
  4392. oracleTrConn.Commit();
  4393. return sre;
  4394. }
  4395. catch (Exception ex)
  4396. {
  4397. if (oracleTrConn != null &&
  4398. oracleTrConn.ConnState == ConnectionState.Open)
  4399. {
  4400. oracleTrConn.Rollback();
  4401. }
  4402. throw ex;
  4403. }
  4404. finally
  4405. {
  4406. if (oracleTrConn != null &&
  4407. oracleTrConn.ConnState == ConnectionState.Open)
  4408. {
  4409. oracleTrConn.Disconnect();
  4410. }
  4411. }
  4412. }
  4413. /// <summary>
  4414. /// 查询打印模板信息
  4415. /// </summary>
  4416. /// <param name="cre"></param>
  4417. /// <returns></returns>
  4418. public static ServiceResultEntity GetBarCodePrintLayoutInfo(ClientRequestEntity cre, SUserInfo sUserInfo)
  4419. {
  4420. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4421. try
  4422. {
  4423. oracleConn.Open();
  4424. string sqlString =
  4425. "SELECT t.layoutid\n" +
  4426. " ,t.layoutname\n" +
  4427. " ,t.valueflag\n" +
  4428. " ,t.goodstypeid\n" +
  4429. " ,gt.goodstypecode\n" +
  4430. " ,gt.goodstypename\n" +
  4431. " ,t.logoid\n" +
  4432. " ,t.printtype\n" + //xuwei add 2019-11-20
  4433. " ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logoNameCode\n" +
  4434. //" ,logo.logoName || '[' || logo.logocode || ']' logoNameCode\n" +
  4435. " ,t.remarks\n" +
  4436. " FROM tp_mst_barcodeprintlayout t\n" +
  4437. " INNER JOIN tp_mst_goodstype gt\n" +
  4438. " ON gt.goodstypeid = t.goodstypeid\n" +
  4439. " LEFT JOIN tp_mst_Logo logo\n" +
  4440. " ON logo.logoid = t.logoid\n" +
  4441. " WHERE t.layoutid = :layoutid";
  4442. List<OracleParameter> parameters = new List<OracleParameter>();
  4443. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  4444. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  4445. ServiceResultEntity sre = new ServiceResultEntity();
  4446. sre.Data = new DataSet();
  4447. sre.Data.Tables.Add(data);
  4448. return sre;
  4449. }
  4450. catch (Exception ex)
  4451. {
  4452. throw ex;
  4453. }
  4454. finally
  4455. {
  4456. if (oracleConn != null &&
  4457. oracleConn.ConnState == ConnectionState.Open)
  4458. {
  4459. oracleConn.Close();
  4460. }
  4461. }
  4462. }
  4463. /// <summary>
  4464. /// 编辑打印模板信息
  4465. /// </summary>
  4466. /// <param name="cre"></param>
  4467. /// <returns></returns>
  4468. public static ServiceResultEntity SaveEditBarCodePrintLayoutInfo(ClientRequestEntity cre, SUserInfo sUserInfo)
  4469. {
  4470. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4471. try
  4472. {
  4473. oracleTrConn.Connect();
  4474. //DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  4475. ServiceResultEntity sre = new ServiceResultEntity();
  4476. string sqlString = "UPDATE TP_MST_BARCODEPRINTLAYOUT t\n" +
  4477. " SET t.LAYOUTNAME = :LAYOUTNAME, t.GOODSTYPEID = :GOODSTYPEID, t.GOODSTYPECODE = :GOODSTYPECODE\n" +
  4478. " ,t.REMARKS = :REMARKS, t.Valueflag = :Valueflag, t.UPDATEUSERID=:UPDATEUSERID\n" +
  4479. " ,t.LogoID = :LogoID\n" +
  4480. " ,t.PrintType = :PrintType\n" + //xuwei add 2019-11-20
  4481. " WHERE t.LAYOUTID = :LAYOUTID";
  4482. List<OracleParameter> parameters = new List<OracleParameter>();
  4483. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  4484. parameters.Add(new OracleParameter(":LAYOUTNAME", OracleDbType.NVarchar2, cre.Properties["LayoutName"], ParameterDirection.Input));
  4485. parameters.Add(new OracleParameter(":GOODSTYPEID", OracleDbType.Int32, cre.Properties["GoodsTypeID"], ParameterDirection.Input));
  4486. parameters.Add(new OracleParameter(":GOODSTYPECODE", OracleDbType.NVarchar2, cre.Properties["GoodsTypeCode"], ParameterDirection.Input));
  4487. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, cre.Properties["Remarks"], ParameterDirection.Input));
  4488. parameters.Add(new OracleParameter(":Valueflag", OracleDbType.NVarchar2, cre.Properties["ValueFlag"], ParameterDirection.Input));
  4489. parameters.Add(new OracleParameter(":UPDATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4490. parameters.Add(new OracleParameter(":LogoID", OracleDbType.Int32, cre.Properties["LogoID"], ParameterDirection.Input));
  4491. //xuwei add 2019-11-20
  4492. parameters.Add(new OracleParameter(":PrintType", OracleDbType.Int32, cre.Properties["PrintType"], ParameterDirection.Input));
  4493. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4494. if (result == 0)
  4495. {
  4496. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4497. return sre;
  4498. }
  4499. oracleTrConn.Commit();
  4500. return sre;
  4501. }
  4502. catch (Exception ex)
  4503. {
  4504. if (oracleTrConn != null &&
  4505. oracleTrConn.ConnState == ConnectionState.Open)
  4506. {
  4507. oracleTrConn.Rollback();
  4508. }
  4509. throw ex;
  4510. }
  4511. finally
  4512. {
  4513. if (oracleTrConn != null &&
  4514. oracleTrConn.ConnState == ConnectionState.Open)
  4515. {
  4516. oracleTrConn.Disconnect();
  4517. }
  4518. }
  4519. }
  4520. /// <summary>
  4521. /// 删除条码打印模板
  4522. /// </summary>
  4523. /// <param name="cre"></param>
  4524. /// <returns></returns>
  4525. public static ServiceResultEntity DeleteBarCodePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  4526. {
  4527. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4528. try
  4529. {
  4530. oracleTrConn.Connect();
  4531. ServiceResultEntity sre = new ServiceResultEntity();
  4532. string sqlString = "DELETE FROM TP_MST_BarCodePrintItem t\n" +
  4533. " WHERE t.LAYOUTID = :LAYOUTID";
  4534. string sqlString1 = "DELETE FROM TP_MST_BARCODEPRINTLAYOUT t\n" +
  4535. " WHERE t.LAYOUTID = :LAYOUTID";
  4536. List<OracleParameter> parameters = new List<OracleParameter>();
  4537. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  4538. // 删除明细
  4539. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4540. // 删除总单
  4541. result = oracleTrConn.ExecuteNonQuery(sqlString1, parameters.ToArray());
  4542. if (result == 0)
  4543. {
  4544. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4545. return sre;
  4546. }
  4547. oracleTrConn.Commit();
  4548. return sre;
  4549. }
  4550. catch (Exception ex)
  4551. {
  4552. if (oracleTrConn != null &&
  4553. oracleTrConn.ConnState == ConnectionState.Open)
  4554. {
  4555. oracleTrConn.Rollback();
  4556. }
  4557. throw ex;
  4558. }
  4559. finally
  4560. {
  4561. if (oracleTrConn != null &&
  4562. oracleTrConn.ConnState == ConnectionState.Open)
  4563. {
  4564. oracleTrConn.Disconnect();
  4565. }
  4566. }
  4567. }
  4568. /// <summary>
  4569. /// 获取条码打印信息(模板,数据)
  4570. /// </summary>
  4571. /// <param name="cre"></param>
  4572. /// <returns></returns>
  4573. public static ServiceResultEntity GetBarCodePrintDATA(ClientRequestEntity cre, SUserInfo sUserInfo)
  4574. {
  4575. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4576. try
  4577. {
  4578. oracleConn.Open();
  4579. string barcode = cre.Properties["Barcode"].ToString();
  4580. bool isGBarcode = (bool)cre.Properties["IsGBarcode"];
  4581. if (!isGBarcode)
  4582. {
  4583. string sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
  4584. OracleParameter[] paras1 = new OracleParameter[]{
  4585. new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
  4586. new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
  4587. };
  4588. barcode = oracleConn.GetSqlResultToStr(sqlString, paras1);
  4589. }
  4590. ServiceResultEntity sre = new ServiceResultEntity();
  4591. List<OracleParameter> parameters = new List<OracleParameter>();
  4592. parameters.Add(new OracleParameter("in_Barcode", OracleDbType.NVarchar2, barcode, ParameterDirection.Input));
  4593. parameters.Add(new OracleParameter("in_AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4594. parameters.Add(new OracleParameter("in_UserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4595. parameters.Add(new OracleParameter("out_Status", OracleDbType.Int32, ParameterDirection.Output));
  4596. parameters.Add(new OracleParameter("out_Message", OracleDbType.NVarchar2, 2000, null, ParameterDirection.Output));
  4597. parameters.Add(new OracleParameter("out_LayoutData", OracleDbType.RefCursor, ParameterDirection.Output));
  4598. parameters.Add(new OracleParameter("out_PrintData", OracleDbType.RefCursor, ParameterDirection.Output));
  4599. DataSet data = oracleConn.ExecStoredProcedure("PRO_PM_GETBarCodePrintDATA", parameters.ToArray());
  4600. int status = Convert.ToInt32(parameters[3].Value.ToString());
  4601. if (status < 0)
  4602. {
  4603. sre.Status = Constant.ServiceResultStatus.Other;
  4604. sre.Message = parameters[4].Value.ToString();
  4605. }
  4606. sre.Data = data;
  4607. return sre;
  4608. }
  4609. catch (Exception ex)
  4610. {
  4611. throw ex;
  4612. }
  4613. finally
  4614. {
  4615. if (oracleConn != null &&
  4616. oracleConn.ConnState == ConnectionState.Open)
  4617. {
  4618. oracleConn.Close();
  4619. }
  4620. }
  4621. }
  4622. /// <summary>
  4623. /// 记录条码打印日志
  4624. /// </summary>
  4625. /// <param name="cre"></param>
  4626. /// <returns></returns>
  4627. public static ServiceResultEntity SetBarCodePrintLog(ClientRequestEntity cre, SUserInfo sUserInfo)
  4628. {
  4629. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4630. try
  4631. {
  4632. oracleTrConn.Connect();
  4633. ServiceResultEntity sre = new ServiceResultEntity();
  4634. string sqlString = "INSERT INTO TP_MST_BarCodePrintLog\n" +
  4635. " (BARCODE, LAYOUTID, ACCOUNTID, CREATEUSERID)\n" +
  4636. "VALUES\n" +
  4637. " (:BARCODE, :LAYOUTID, :ACCOUNTID, :CREATEUSERID)";
  4638. List<OracleParameter> parameters = new List<OracleParameter>();
  4639. parameters.Add(new OracleParameter(":BARCODE", OracleDbType.NVarchar2, cre.Properties["Barcode"], ParameterDirection.Input));
  4640. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  4641. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4642. parameters.Add(new OracleParameter(":CREATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4643. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4644. if (result == 0)
  4645. {
  4646. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4647. return sre;
  4648. }
  4649. oracleTrConn.Commit();
  4650. return sre;
  4651. }
  4652. catch (Exception ex)
  4653. {
  4654. if (oracleTrConn != null &&
  4655. oracleTrConn.ConnState == ConnectionState.Open)
  4656. {
  4657. oracleTrConn.Rollback();
  4658. }
  4659. throw ex;
  4660. }
  4661. finally
  4662. {
  4663. if (oracleTrConn != null &&
  4664. oracleTrConn.ConnState == ConnectionState.Open)
  4665. {
  4666. oracleTrConn.Disconnect();
  4667. }
  4668. }
  4669. }
  4670. /// <summary>
  4671. /// 获取打印类型列表 xuwei add 2019-11-20
  4672. /// </summary>
  4673. /// <param name="sUser"></param>
  4674. /// <returns></returns>
  4675. public static ServiceResultEntity GetPrintType(SUserInfo sUserInfo = null)
  4676. {
  4677. ServiceResultEntity sre = new ServiceResultEntity();
  4678. sre.Data = new DataSet();
  4679. sre.Status = Constant.ServiceResultStatus.Success;
  4680. IDBTransaction conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4681. string sqlStr = "";
  4682. try
  4683. {
  4684. conn.Connect();
  4685. //获取打印类型
  4686. if (sre.Status == Constant.ServiceResultStatus.Success)
  4687. {
  4688. sqlStr = $@"
  4689. SELECT
  4690. PRINTTYPEID,
  4691. PRINTTYPENAME
  4692. FROM
  4693. TP_SYS_BARCODEPRINTTYPE
  4694. ORDER BY
  4695. DISPLAYNO
  4696. ";
  4697. DataTable GroutingLineBatchNo = conn.GetSqlResultToDt(sqlStr);
  4698. GroutingLineBatchNo.TableName = "PrintType";
  4699. sre.Data.Tables.Add(GroutingLineBatchNo);
  4700. if (GroutingLineBatchNo.Rows.Count == 0)
  4701. {
  4702. sre.Status = Constant.ServiceResultStatus.NoSearchResults;
  4703. sre.Message = "没有查询结果!";
  4704. }
  4705. else
  4706. {
  4707. sre.Status = Constant.ServiceResultStatus.Success;
  4708. sre.Message = "操作成功!";
  4709. }
  4710. }
  4711. }
  4712. catch (Exception ex)
  4713. {
  4714. throw ex;
  4715. }
  4716. finally
  4717. {
  4718. conn.Disconnect();
  4719. }
  4720. //返回数据
  4721. return sre;
  4722. }
  4723. #endregion
  4724. #region 工号分组(缺陷类型)
  4725. /// <summary>
  4726. /// 获取工号分组一览
  4727. /// </summary>
  4728. /// <param name="cre"></param>
  4729. /// <returns></returns>
  4730. public static ServiceResultEntity GetWorkerGroupList(ClientRequestEntity cre, SUserInfo sUserInfo)
  4731. {
  4732. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4733. try
  4734. {
  4735. oracleConn.Open();
  4736. ServiceResultEntity sre = new ServiceResultEntity();
  4737. sre.Data = new DataSet();
  4738. List<OracleParameter> parameters = new List<OracleParameter>();
  4739. if (cre.Properties["WorkerGroupDetail"] == null)
  4740. {
  4741. string sqlString =
  4742. "SELECT wg.workergroupid\n" +
  4743. " ,wg.workergroupname\n" +
  4744. " ,wg.remarks\n" +
  4745. " ,wg.displayno\n" +
  4746. " ,wg.valueflag\n" +
  4747. " ,wg.defecttypeid\n" +
  4748. " ,dt.defecttypename\n" +
  4749. " FROM TP_MST_WorkerGroup wg\n" +
  4750. " LEFT JOIN tp_mst_defecttype dt\n" +
  4751. " ON dt.defecttypeid = wg.defecttypeid\n" +
  4752. " WHERE wg.accountid = :accountid\n" +
  4753. " AND (:workergroupid IS NULL OR wg.workergroupid = :workergroupid)\n" +
  4754. " AND (:GroupName IS NULL OR instr(wg.workergroupname, :GroupName) > 0)\n" +
  4755. " AND (:DefectTypes IS NULL OR\n" +
  4756. " instr(:DefectTypes, ','||dt.defecttypeid||',') > 0)\n" +
  4757. " AND (:remarks IS NULL OR instr(wg.remarks, :remarks) > 0)\n" +
  4758. " AND (:valueflag IS NULL OR wg.valueflag = :valueflag)\n" +
  4759. " ORDER BY dt.displayno, dt.defecttypeid, wg.displayno, wg.workergroupid";
  4760. parameters.Add(new OracleParameter(":workergroupid", OracleDbType.Int32, cre.Properties["GroupID"], ParameterDirection.Input));
  4761. parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4762. parameters.Add(new OracleParameter(":GroupName", OracleDbType.NVarchar2, cre.Properties["GroupName"], ParameterDirection.Input));
  4763. parameters.Add(new OracleParameter(":DefectTypes", OracleDbType.NVarchar2, cre.Properties["DefectTypes"], ParameterDirection.Input));
  4764. parameters.Add(new OracleParameter(":remarks", OracleDbType.NVarchar2, cre.Properties["Remarks"], ParameterDirection.Input));
  4765. parameters.Add(new OracleParameter(":valueflag", OracleDbType.NVarchar2, cre.Properties["valueflag"], ParameterDirection.Input));
  4766. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  4767. // 查询
  4768. if (cre.Properties["GroupID"] == null)
  4769. {
  4770. if (data == null || data.Rows.Count == 0)
  4771. {
  4772. sre.Status = Constant.ServiceResultStatus.NoSearchResults;
  4773. return sre;
  4774. }
  4775. cre.Properties["GroupID"] = data.Rows[0]["workergroupid"];
  4776. }
  4777. sre.Data.Tables.Add(data);
  4778. }
  4779. string sqlUser =
  4780. "SELECT u.userid, u.usercode, u.username\n" +
  4781. " FROM TP_MST_WorkerGroupDetail wgd\n" +
  4782. " LEFT JOIN tp_mst_user u\n" +
  4783. " ON u.userid = wgd.workeruserid\n" +
  4784. " WHERE wgd.workergroupid = :workergroupid\n" +
  4785. " ORDER BY u.usercode";
  4786. parameters.Clear();
  4787. parameters.Add(new OracleParameter(":workergroupid", OracleDbType.Int32, cre.Properties["GroupID"], ParameterDirection.Input));
  4788. DataTable dataUser = oracleConn.GetSqlResultToDt(sqlUser, parameters.ToArray());
  4789. sre.Data.Tables.Add(dataUser);
  4790. return sre;
  4791. }
  4792. catch (Exception ex)
  4793. {
  4794. throw ex;
  4795. }
  4796. finally
  4797. {
  4798. if (oracleConn != null &&
  4799. oracleConn.ConnState == ConnectionState.Open)
  4800. {
  4801. oracleConn.Close();
  4802. }
  4803. }
  4804. }
  4805. /// <summary>
  4806. /// 停用、启用
  4807. /// </summary>
  4808. /// <param name="cre"></param>
  4809. /// <returns></returns>
  4810. public static ServiceResultEntity SetWorkerGroupValueFlag(ClientRequestEntity cre, SUserInfo sUserInfo)
  4811. {
  4812. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4813. try
  4814. {
  4815. oracleTrConn.Connect();
  4816. ServiceResultEntity sre = new ServiceResultEntity();
  4817. string sqlString = "UPDATE TP_MST_WorkerGroup SET ValueFlag = :ValueFlag, UpdateUserID = :UpdateUserID " +
  4818. " WHERE workergroupid = :workergroupid";
  4819. List<OracleParameter> parameters = new List<OracleParameter>();
  4820. parameters.Add(new OracleParameter(":ValueFlag", OracleDbType.NVarchar2, cre.Properties["ValueFlag"], ParameterDirection.Input));
  4821. parameters.Add(new OracleParameter(":UpdateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4822. parameters.Add(new OracleParameter(":workergroupid", OracleDbType.Int32, cre.Properties["GroupID"], ParameterDirection.Input));
  4823. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  4824. if (result == 0)
  4825. {
  4826. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4827. return sre;
  4828. }
  4829. oracleTrConn.Commit();
  4830. return sre;
  4831. }
  4832. catch (Exception ex)
  4833. {
  4834. if (oracleTrConn != null &&
  4835. oracleTrConn.ConnState == ConnectionState.Open)
  4836. {
  4837. oracleTrConn.Rollback();
  4838. }
  4839. throw ex;
  4840. }
  4841. finally
  4842. {
  4843. if (oracleTrConn != null &&
  4844. oracleTrConn.ConnState == ConnectionState.Open)
  4845. {
  4846. oracleTrConn.Disconnect();
  4847. }
  4848. }
  4849. }
  4850. /// <summary>
  4851. /// 保存
  4852. /// </summary>
  4853. /// <param name="cre"></param>
  4854. /// <returns></returns>
  4855. public static ServiceResultEntity SetWorkerGroup(ClientRequestEntity cre, SUserInfo sUserInfo)
  4856. {
  4857. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  4858. try
  4859. {
  4860. oracleTrConn.Connect();
  4861. ServiceResultEntity sre = new ServiceResultEntity();
  4862. DataRow info = cre.Data.Tables[0].Rows[0];
  4863. int groupid = Convert.ToInt32(info["workergroupid"]);
  4864. List<OracleParameter> parameters = new List<OracleParameter>();
  4865. if (groupid > 0)
  4866. {
  4867. // 编辑
  4868. string sqlStringEdit =
  4869. "UPDATE TP_MST_WorkerGroup wg\n" +
  4870. " SET wg.workergroupname = :workergroupname\n" +
  4871. " ,wg.defecttypeid = :defecttypeid\n" +
  4872. " ,wg.remarks = :remarks\n" +
  4873. " ,wg.displayno = :displayno\n" +
  4874. " ,wg.updateuserid = :updateuserid\n" +
  4875. " WHERE wg.workergroupid = :workergroupid";
  4876. parameters.Add(new OracleParameter(":workergroupname", OracleDbType.NVarchar2, info["workergroupname"], ParameterDirection.Input));
  4877. parameters.Add(new OracleParameter(":defecttypeid", OracleDbType.Int32, info["defecttypeid"], ParameterDirection.Input));
  4878. parameters.Add(new OracleParameter(":remarks", OracleDbType.NVarchar2, info["remarks"], ParameterDirection.Input));
  4879. parameters.Add(new OracleParameter(":displayno", OracleDbType.Int32, info["displayno"], ParameterDirection.Input));
  4880. parameters.Add(new OracleParameter(":updateuserid", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4881. parameters.Add(new OracleParameter(":workergroupid", OracleDbType.Int32, groupid, ParameterDirection.Input));
  4882. int result = oracleTrConn.ExecuteNonQuery(sqlStringEdit, parameters.ToArray());
  4883. if (result == 0)
  4884. {
  4885. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  4886. return sre;
  4887. }
  4888. sqlStringEdit = "DELETE FROM TP_MST_WorkerGroupDetail wgd WHERE wgd.workergroupid = :workergroupid";
  4889. parameters.Clear();
  4890. parameters.Add(new OracleParameter(":workergroupid", OracleDbType.Int32, groupid, ParameterDirection.Input));
  4891. oracleTrConn.ExecuteNonQuery(sqlStringEdit, parameters.ToArray());
  4892. }
  4893. else
  4894. {
  4895. string seqSql = "select SEQ_MST_WORKERGROUP_ID.NEXTVAL from dual";
  4896. groupid = Convert.ToInt32(oracleTrConn.GetSqlResultToObj(seqSql));
  4897. // 新建
  4898. string sqlStringAdd =
  4899. "INSERT INTO TP_MST_WORKERGROUP\n" +
  4900. " (WORKERGROUPID\n" +
  4901. " ,WORKERGROUPNAME\n" +
  4902. " ,DEFECTTYPEID\n" +
  4903. " ,REMARKS\n" +
  4904. " ,DISPLAYNO\n" +
  4905. " ,ACCOUNTID\n" +
  4906. " ,VALUEFLAG\n" +
  4907. " ,CREATEUSERID\n" +
  4908. " ,UPDATEUSERID)\n" +
  4909. "VALUES\n" +
  4910. " (:WORKERGROUPID\n" +
  4911. " ,:WORKERGROUPNAME\n" +
  4912. " ,:DEFECTTYPEID\n" +
  4913. " ,:REMARKS\n" +
  4914. " ,:DISPLAYNO\n" +
  4915. " ,:ACCOUNTID\n" +
  4916. " ,'1'\n" +
  4917. " ,:USERID\n" +
  4918. " ,:USERID)";
  4919. parameters.Add(new OracleParameter(":WORKERGROUPID", OracleDbType.Int32, groupid, ParameterDirection.Input));
  4920. parameters.Add(new OracleParameter(":WORKERGROUPNAME", OracleDbType.NVarchar2, info["workergroupname"], ParameterDirection.Input));
  4921. parameters.Add(new OracleParameter(":DEFECTTYPEID", OracleDbType.Int32, info["defecttypeid"], ParameterDirection.Input));
  4922. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, info["remarks"], ParameterDirection.Input));
  4923. parameters.Add(new OracleParameter(":DISPLAYNO", OracleDbType.Int32, info["displayno"], ParameterDirection.Input));
  4924. parameters.Add(new OracleParameter(":USERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4925. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4926. oracleTrConn.ExecuteNonQuery(sqlStringAdd, parameters.ToArray());
  4927. }
  4928. string sqlString1 = "INSERT INTO TP_MST_WORKERGROUPDETAIL\n" +
  4929. " (WORKERGROUPID, WORKERUSERID, ACCOUNTID, CREATEUSERID, UPDATEUSERID)\n" +
  4930. "VALUES\n" +
  4931. " (:WORKERGROUPID, :WORKERUSERID, :ACCOUNTID, '1', :USERID)";
  4932. foreach (DataRow item in cre.Data.Tables[1].Rows)
  4933. {
  4934. parameters.Clear();
  4935. parameters.Add(new OracleParameter(":WORKERGROUPID", OracleDbType.Int32, groupid, ParameterDirection.Input));
  4936. parameters.Add(new OracleParameter(":WORKERUSERID", OracleDbType.NVarchar2, item["USERID"], ParameterDirection.Input));
  4937. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  4938. parameters.Add(new OracleParameter(":USERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  4939. oracleTrConn.ExecuteNonQuery(sqlString1, parameters.ToArray());
  4940. }
  4941. oracleTrConn.Commit();
  4942. return sre;
  4943. }
  4944. catch (Exception ex)
  4945. {
  4946. if (oracleTrConn != null &&
  4947. oracleTrConn.ConnState == ConnectionState.Open)
  4948. {
  4949. oracleTrConn.Rollback();
  4950. }
  4951. throw ex;
  4952. }
  4953. finally
  4954. {
  4955. if (oracleTrConn != null &&
  4956. oracleTrConn.ConnState == ConnectionState.Open)
  4957. {
  4958. oracleTrConn.Disconnect();
  4959. }
  4960. }
  4961. }
  4962. #endregion
  4963. #region 条码打印机(PDA用)
  4964. /// <summary>
  4965. /// 获取条码打印机(PDA用)
  4966. /// </summary>
  4967. /// <param name="cre"></param>
  4968. /// <param name="sUserInfo"></param>
  4969. /// <returns></returns>
  4970. public static ServiceResultEntity GetBarcodePrinter(ClientRequestEntity cre, SUserInfo sUserInfo)
  4971. {
  4972. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  4973. try
  4974. {
  4975. ServiceResultEntity sre = new ServiceResultEntity();
  4976. string sqlString = "Select PrinterID,PrinterName,Remarks,displayno "
  4977. + " ,PrintType " //xuwei add 2019-11-21
  4978. + " from TP_MST_BarCodePrinter where AccountID = :AccountID and valueflag = '1' order by displayno";
  4979. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  4980. {
  4981. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  4982. };
  4983. oracleConn.Open();
  4984. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  4985. oracleConn.Close();
  4986. sre.Data = result;
  4987. return sre;
  4988. }
  4989. catch (Exception ex)
  4990. {
  4991. if (oracleConn.ConnState == ConnectionState.Open)
  4992. {
  4993. oracleConn.Close();
  4994. }
  4995. throw ex;
  4996. }
  4997. }
  4998. /// <summary>
  4999. /// 获取条码打印机(PDA用)
  5000. /// </summary>
  5001. /// <param name="cre"></param>
  5002. /// <param name="sUserInfo"></param>
  5003. /// <returns></returns>
  5004. public static ServiceResultEntity GetAllBarcodePrinter(ClientRequestEntity cre, SUserInfo sUserInfo)
  5005. {
  5006. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5007. try
  5008. {
  5009. ServiceResultEntity sre = new ServiceResultEntity();
  5010. string sqlString = "Select PrinterID,PrinterName,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  5011. + " ,PrintType"
  5012. + " ,displayno from TP_MST_BarCodePrinter where AccountID = :AccountID order by displayno";
  5013. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  5014. {
  5015. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  5016. };
  5017. oracleConn.Open();
  5018. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  5019. oracleConn.Close();
  5020. sre.Data = result;
  5021. return sre;
  5022. }
  5023. catch (Exception ex)
  5024. {
  5025. if (oracleConn.ConnState == ConnectionState.Open)
  5026. {
  5027. oracleConn.Close();
  5028. }
  5029. throw ex;
  5030. }
  5031. }
  5032. /// <summary>
  5033. /// 保存条码打印机(PDA用)
  5034. /// </summary>
  5035. /// <returns>int</returns>
  5036. public static ServiceResultEntity SaveBarcodePrinter(ClientRequestEntity cre, SUserInfo sUserInfo)
  5037. {
  5038. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  5039. try
  5040. {
  5041. ServiceResultEntity sre = new ServiceResultEntity();
  5042. // 检验参数的有效性
  5043. if (cre == null || cre.Data == null || cre.Data.Tables.Count == 0 || cre.Data.Tables[0].Rows.Count == 0)
  5044. {
  5045. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  5046. return sre;
  5047. }
  5048. oracleTrConn.Connect();
  5049. #region 对要保存的数据进行必要的验证
  5050. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5051. {
  5052. // 新建
  5053. if (dataRow.RowState == DataRowState.Added)
  5054. {
  5055. #region 判断是否存在相同的
  5056. string sqlString = "SELECT Count(*) FROM TP_MST_BarCodePrinter WHERE AccountID = :AccountID and PrinterName =:PrinterName ";
  5057. OracleParameter[] oracleParameter = new OracleParameter[]
  5058. {
  5059. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5060. new OracleParameter(":PrinterName",dataRow["PrinterName"].ToString())
  5061. };
  5062. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
  5063. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5064. {
  5065. oracleTrConn.Rollback();
  5066. oracleTrConn.Disconnect();
  5067. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5068. sre.Message = dataRow["PrinterName"].ToString();
  5069. return sre;
  5070. }
  5071. #endregion
  5072. }
  5073. else if (dataRow.RowState == DataRowState.Modified)
  5074. {
  5075. #region 判断是否存在相同的
  5076. string sqlStrings = "SELECT Count(*) FROM TP_MST_BarCodePrinter WHERE AccountID = :AccountID and PrinterName = :PrinterName and PrinterID <> :PrinterID";
  5077. OracleParameter[] oracleParameters = new OracleParameter[]
  5078. {
  5079. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5080. new OracleParameter(":PrinterName",dataRow["PrinterName"]),
  5081. new OracleParameter(":PrinterID",dataRow["PrinterID"])
  5082. };
  5083. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
  5084. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5085. {
  5086. oracleTrConn.Rollback();
  5087. oracleTrConn.Disconnect();
  5088. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5089. sre.Message = dataRow["PrinterName"].ToString();
  5090. return sre;
  5091. }
  5092. #endregion
  5093. }
  5094. }
  5095. #endregion
  5096. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5097. {
  5098. // 新建
  5099. if (dataRow.RowState == DataRowState.Added)
  5100. {
  5101. #region 新增信息
  5102. string sqlInsertString = "INSERT INTO TP_MST_BarCodePrinter"
  5103. + "(PrinterName"
  5104. + ",DisplayNo"
  5105. + ",PrintType" //xuwei add 2019-11-21
  5106. + ",Remarks"
  5107. + ",AccountID"
  5108. + ",ValueFlag"
  5109. + ",UpdateUserID"
  5110. + ",CreateUserID)"
  5111. + " VALUES "
  5112. + "(:PrinterName"
  5113. + ",:DisplayNo"
  5114. + ",:PrintType" //xuwei add 2019-11-21
  5115. + ",:Remarks"
  5116. + ",:AccountID"
  5117. + ",:ValueFlag"
  5118. + ",:UserID"
  5119. + ",:UserID)";
  5120. OracleParameter[] oracleParameter = new OracleParameter[]
  5121. {
  5122. new OracleParameter(":PrinterName",dataRow["PrinterName"].ToString()),
  5123. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5124. new OracleParameter(":PrintType",dataRow["PrintType"]),
  5125. new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
  5126. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5127. new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
  5128. new OracleParameter(":UserID",sUserInfo.UserID),
  5129. };
  5130. oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
  5131. #endregion
  5132. }
  5133. else if (dataRow.RowState == DataRowState.Modified)
  5134. {
  5135. #region 更新信息
  5136. string sqlUpdateString = "UPDATE TP_MST_BarCodePrinter SET "
  5137. + " PrinterName = :PrinterName,"
  5138. + " DisplayNo = :DisplayNo,"
  5139. + " PrintType = :PrintType," //xuwei add 2019-11-21
  5140. + " Remarks = :Remarks,"
  5141. + " AccountID = :AccountID,"
  5142. + " ValueFlag = :ValueFlag,"
  5143. + " UpdateUserID = :UpdateUserID"
  5144. + " WHERE PrinterID = :PrinterID";
  5145. OracleParameter[] oracleParameter = new OracleParameter[]
  5146. {
  5147. new OracleParameter(":PrinterName",dataRow["PrinterName"]),
  5148. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5149. new OracleParameter(":PrintType",dataRow["PrintType"]), //xuwei add 2019-11-21
  5150. new OracleParameter(":Remarks",dataRow["Remarks"]),
  5151. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5152. new OracleParameter(":ValueFlag",dataRow["ValueFlag"]),
  5153. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  5154. new OracleParameter(":PrinterID",dataRow["PrinterID"])
  5155. };
  5156. oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
  5157. #endregion
  5158. }
  5159. else if (dataRow.RowState == DataRowState.Deleted)
  5160. {
  5161. #region 删除信息
  5162. string sqlDeleteString = "DELETE TP_MST_BarCodePrinter WHERE PrinterID = :PrinterID";
  5163. OracleParameter[] oracleParameter = new OracleParameter[]
  5164. {
  5165. new OracleParameter(":PrinterID",dataRow["PrinterID",DataRowVersion.Original].ToString())
  5166. };
  5167. oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
  5168. #endregion
  5169. }
  5170. }
  5171. oracleTrConn.Commit();
  5172. oracleTrConn.Disconnect();
  5173. return sre;
  5174. }
  5175. catch (Exception ex)
  5176. {
  5177. if (oracleTrConn.ConnState == ConnectionState.Open)
  5178. {
  5179. oracleTrConn.Rollback();
  5180. oracleTrConn.Disconnect();
  5181. }
  5182. throw ex;
  5183. }
  5184. }
  5185. #endregion
  5186. #region PLC连接参数
  5187. /// <summary>
  5188. /// 获取PLC连接参数
  5189. /// </summary>
  5190. /// <param name="cre"></param>
  5191. /// <param name="sUserInfo"></param>
  5192. /// <returns></returns>
  5193. public static ServiceResultEntity GetPLC(ClientRequestEntity cre, SUserInfo sUserInfo)
  5194. {
  5195. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5196. try
  5197. {
  5198. ServiceResultEntity sre = new ServiceResultEntity();
  5199. string sqlString = "Select PLCID,PLCName,IP, PORT, PLCDescription, Remarks,displayno "
  5200. + " from TP_MST_PLC where AccountID = :AccountID and valueflag = '1' order by displayno";
  5201. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  5202. {
  5203. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  5204. };
  5205. oracleConn.Open();
  5206. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  5207. oracleConn.Close();
  5208. sre.Data = result;
  5209. return sre;
  5210. }
  5211. catch (Exception ex)
  5212. {
  5213. if (oracleConn.ConnState == ConnectionState.Open)
  5214. {
  5215. oracleConn.Close();
  5216. }
  5217. throw ex;
  5218. }
  5219. }
  5220. /// <summary>
  5221. /// 获取PLC连接参数
  5222. /// </summary>
  5223. /// <param name="cre"></param>
  5224. /// <param name="sUserInfo"></param>
  5225. /// <returns></returns>
  5226. public static ServiceResultEntity GetAllPLC(ClientRequestEntity cre, SUserInfo sUserInfo)
  5227. {
  5228. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5229. try
  5230. {
  5231. ServiceResultEntity sre = new ServiceResultEntity();
  5232. string sqlString = "Select PLCID,PLCName,IP, PORT, PLCDescription,Remarks,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp "
  5233. + " ,displayno from TP_MST_PLC where AccountID = :AccountID order by displayno";
  5234. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  5235. {
  5236. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  5237. };
  5238. oracleConn.Open();
  5239. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  5240. oracleConn.Close();
  5241. sre.Data = result;
  5242. return sre;
  5243. }
  5244. catch (Exception ex)
  5245. {
  5246. if (oracleConn.ConnState == ConnectionState.Open)
  5247. {
  5248. oracleConn.Close();
  5249. }
  5250. throw ex;
  5251. }
  5252. }
  5253. /// <summary>
  5254. /// 获取PLC连接参数
  5255. /// </summary>
  5256. /// <returns>int</returns>
  5257. public static ServiceResultEntity SavePLC(ClientRequestEntity cre, SUserInfo sUserInfo)
  5258. {
  5259. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  5260. try
  5261. {
  5262. ServiceResultEntity sre = new ServiceResultEntity();
  5263. // 检验参数的有效性
  5264. if (cre == null || cre.Data == null || cre.Data.Tables.Count == 0 || cre.Data.Tables[0].Rows.Count == 0)
  5265. {
  5266. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  5267. return sre;
  5268. }
  5269. oracleTrConn.Connect();
  5270. #region 对要保存的数据进行必要的验证
  5271. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5272. {
  5273. if (dataRow.RowState == DataRowState.Added)
  5274. {
  5275. #region 判断是否存在相同的产品缺陷类别名称
  5276. string sqlString = "SELECT Count(*) FROM TP_MST_PLC WHERE AccountID = :AccountID and PLCName =:PLCName ";
  5277. OracleParameter[] oracleParameter = new OracleParameter[]
  5278. {
  5279. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5280. new OracleParameter(":PLCName",dataRow["PLCName"].ToString())
  5281. };
  5282. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
  5283. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5284. {
  5285. oracleTrConn.Rollback();
  5286. oracleTrConn.Disconnect();
  5287. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5288. sre.Message = dataRow["PLCName"].ToString();
  5289. return sre;
  5290. }
  5291. #endregion
  5292. }
  5293. else if (dataRow.RowState == DataRowState.Modified)
  5294. {
  5295. #region 判断是否存在相同的产品缺陷类别名称
  5296. string sqlStrings = "SELECT Count(*) FROM TP_MST_PLC WHERE AccountID = :AccountID and PLCName = :PLCName and PLCID <> :PLCID";
  5297. OracleParameter[] oracleParameters = new OracleParameter[]
  5298. {
  5299. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5300. new OracleParameter(":PLCName",dataRow["PLCName"]),
  5301. new OracleParameter(":PLCID",dataRow["PLCID"])
  5302. };
  5303. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
  5304. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5305. {
  5306. oracleTrConn.Rollback();
  5307. oracleTrConn.Disconnect();
  5308. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5309. sre.Message = dataRow["PLCName"].ToString();
  5310. return sre;
  5311. }
  5312. #endregion
  5313. }
  5314. }
  5315. #endregion
  5316. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5317. {
  5318. // 新建
  5319. if (dataRow.RowState == DataRowState.Added)
  5320. {
  5321. #region 新增信息
  5322. string sqlInsertString = "INSERT INTO TP_MST_PLC"
  5323. + "(PLCName"
  5324. + ",IP"
  5325. + ",Port"
  5326. + ",PLCDescription"
  5327. + ",DisplayNo"
  5328. + ",Remarks"
  5329. + ",AccountID"
  5330. + ",ValueFlag"
  5331. + ",UpdateUserID"
  5332. + ",CreateUserID)"
  5333. + " VALUES "
  5334. + "(:PLCName"
  5335. + ",:IP"
  5336. + ",:Port"
  5337. + ",:PLCDescription"
  5338. + ",:DisplayNo"
  5339. + ",:Remarks"
  5340. + ",:AccountID"
  5341. + ",:ValueFlag"
  5342. + ",:UserID"
  5343. + ",:UserID)";
  5344. OracleParameter[] oracleParameter = new OracleParameter[]
  5345. {
  5346. new OracleParameter(":PLCName",dataRow["PLCName"].ToString()),
  5347. new OracleParameter(":IP",dataRow["IP"]),
  5348. new OracleParameter(":Port",dataRow["Port"]),
  5349. new OracleParameter(":PLCDescription",dataRow["PLCDescription"]),
  5350. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5351. new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
  5352. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5353. new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
  5354. new OracleParameter(":UserID",sUserInfo.UserID),
  5355. };
  5356. oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
  5357. #endregion
  5358. }
  5359. else if (dataRow.RowState == DataRowState.Modified)
  5360. {
  5361. #region 更新信息
  5362. string sqlUpdateString = "UPDATE TP_MST_PLC SET "
  5363. + " PLCName = :PLCName,"
  5364. + " IP = :IP,"
  5365. + " Port = :Port,"
  5366. + " PLCDescription = :PLCDescription,"
  5367. + " DisplayNo = :DisplayNo,"
  5368. + " Remarks = :Remarks,"
  5369. + " AccountID = :AccountID,"
  5370. + " ValueFlag = :ValueFlag,"
  5371. + " UpdateUserID = :UpdateUserID"
  5372. + " WHERE PLCID = :PLCID";
  5373. OracleParameter[] oracleParameter = new OracleParameter[]
  5374. {
  5375. new OracleParameter(":PLCName",dataRow["PLCName"].ToString()),
  5376. new OracleParameter(":IP",dataRow["IP"]),
  5377. new OracleParameter(":Port",dataRow["Port"]),
  5378. new OracleParameter(":PLCDescription",dataRow["PLCDescription"]),
  5379. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5380. new OracleParameter(":Remarks",dataRow["Remarks"]),
  5381. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5382. new OracleParameter(":ValueFlag",dataRow["ValueFlag"]),
  5383. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  5384. new OracleParameter(":PLCID",dataRow["PLCID"])
  5385. };
  5386. oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
  5387. #endregion
  5388. }
  5389. else if (dataRow.RowState == DataRowState.Deleted)
  5390. {
  5391. #region 删除信息
  5392. string sqlDeleteString = "DELETE TP_MST_PLC WHERE PLCID = :PLCID";
  5393. OracleParameter[] oracleParameter = new OracleParameter[]
  5394. {
  5395. new OracleParameter(":PLCID",dataRow["PLCID",DataRowVersion.Original].ToString())
  5396. };
  5397. oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
  5398. #endregion
  5399. }
  5400. }
  5401. oracleTrConn.Commit();
  5402. oracleTrConn.Disconnect();
  5403. return sre;
  5404. }
  5405. catch (Exception ex)
  5406. {
  5407. if (oracleTrConn.ConnState == ConnectionState.Open)
  5408. {
  5409. oracleTrConn.Rollback();
  5410. oracleTrConn.Disconnect();
  5411. }
  5412. throw ex;
  5413. }
  5414. }
  5415. #endregion
  5416. #region 模具材料供应商
  5417. /// <summary>
  5418. /// 获取模具材料供应商
  5419. /// </summary>
  5420. /// <param name="cre"></param>
  5421. /// <param name="sUserInfo"></param>
  5422. /// <returns></returns>
  5423. public static ServiceResultEntity GetMouldMaterialSuppliers(ClientRequestEntity cre, SUserInfo sUserInfo)
  5424. {
  5425. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5426. try
  5427. {
  5428. ServiceResultEntity sre = new ServiceResultEntity();
  5429. string sqlString = "Select SupplierID,SupplierName,Remarks,displayno "
  5430. + " from TP_MST_MouldMaterialSuppliers where AccountID = :AccountID and valueflag = '1' order by displayno";
  5431. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  5432. {
  5433. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  5434. };
  5435. oracleConn.Open();
  5436. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  5437. oracleConn.Close();
  5438. sre.Data = result;
  5439. return sre;
  5440. }
  5441. catch (Exception ex)
  5442. {
  5443. if (oracleConn.ConnState == ConnectionState.Open)
  5444. {
  5445. oracleConn.Close();
  5446. }
  5447. throw ex;
  5448. }
  5449. }
  5450. /// <summary>
  5451. /// 获取模具材料供应商
  5452. /// </summary>
  5453. /// <param name="cre"></param>
  5454. /// <param name="sUserInfo"></param>
  5455. /// <returns></returns>
  5456. public static ServiceResultEntity GetAllMouldMaterialSuppliers(ClientRequestEntity cre, SUserInfo sUserInfo)
  5457. {
  5458. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5459. try
  5460. {
  5461. ServiceResultEntity sre = new ServiceResultEntity();
  5462. string sqlString = "Select SupplierID,SupplierName,Remarks,displayno,AccountID,ValueFlag,CreateTime,CreateUserID,UpdateTime,UpdateUserID,OPTimeStamp,SUPPLIERCODE "
  5463. + " from TP_MST_MouldMaterialSuppliers where AccountID = :AccountID order by displayno";
  5464. Oracle.ManagedDataAccess.Client.OracleParameter[] oracleParameter = new Oracle.ManagedDataAccess.Client.OracleParameter[]
  5465. {
  5466. new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",sUserInfo.AccountID)
  5467. };
  5468. oracleConn.Open();
  5469. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  5470. oracleConn.Close();
  5471. sre.Data = result;
  5472. return sre;
  5473. }
  5474. catch (Exception ex)
  5475. {
  5476. if (oracleConn.ConnState == ConnectionState.Open)
  5477. {
  5478. oracleConn.Close();
  5479. }
  5480. throw ex;
  5481. }
  5482. }
  5483. /// <summary>
  5484. /// 保存模具材料供应商
  5485. /// </summary>
  5486. /// <returns>int</returns>
  5487. public static ServiceResultEntity SaveMouldMaterialSuppliers(ClientRequestEntity cre, SUserInfo sUserInfo)
  5488. {
  5489. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  5490. try
  5491. {
  5492. ServiceResultEntity sre = new ServiceResultEntity();
  5493. // 检验参数的有效性
  5494. if (cre == null || cre.Data == null || cre.Data.Tables.Count == 0 || cre.Data.Tables[0].Rows.Count == 0)
  5495. {
  5496. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  5497. return sre;
  5498. }
  5499. oracleTrConn.Connect();
  5500. #region 对要保存的数据进行必要的验证
  5501. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5502. {
  5503. if (dataRow.RowState == DataRowState.Added)
  5504. {
  5505. #region 判断是否存在相同的名称
  5506. string sqlString = "SELECT Count(*) FROM TP_MST_MouldMaterialSuppliers WHERE AccountID = :AccountID and SupplierName =:SupplierName ";
  5507. OracleParameter[] oracleParameter = new OracleParameter[]
  5508. {
  5509. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5510. new OracleParameter(":SupplierName",dataRow["SupplierName"].ToString())
  5511. };
  5512. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
  5513. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5514. {
  5515. oracleTrConn.Rollback();
  5516. oracleTrConn.Disconnect();
  5517. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5518. sre.Message = dataRow["SupplierName"].ToString();
  5519. return sre;
  5520. }
  5521. #endregion
  5522. }
  5523. else if (dataRow.RowState == DataRowState.Modified)
  5524. {
  5525. #region 判断是否存在相同的产品缺陷类别名称
  5526. string sqlStrings = "SELECT Count(*) FROM TP_MST_MouldMaterialSuppliers WHERE AccountID = :AccountID and SupplierName = :SupplierName and SupplierID <> :SupplierID";
  5527. OracleParameter[] oracleParameters = new OracleParameter[]
  5528. {
  5529. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5530. new OracleParameter(":SupplierName",dataRow["SupplierName"]),
  5531. new OracleParameter(":SupplierID",dataRow["SupplierID"])
  5532. };
  5533. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
  5534. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  5535. {
  5536. oracleTrConn.Rollback();
  5537. oracleTrConn.Disconnect();
  5538. sre.Status = Constant.ServiceResultStatus.DataDuplicated;
  5539. sre.Message = dataRow["SupplierName"].ToString();
  5540. return sre;
  5541. }
  5542. #endregion
  5543. }
  5544. }
  5545. #endregion
  5546. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  5547. {
  5548. // 新建
  5549. if (dataRow.RowState == DataRowState.Added)
  5550. {
  5551. #region 新增信息
  5552. string sqlInsertString = "INSERT INTO TP_MST_MouldMaterialSuppliers"
  5553. + "(SupplierName"
  5554. + ",SupplierCode"//sap物料编码 add 夏常明 2023-6-25
  5555. + ",DisplayNo"
  5556. + ",Remarks"
  5557. + ",AccountID"
  5558. + ",ValueFlag"
  5559. + ",UpdateUserID"
  5560. + ",CreateUserID)"
  5561. + " VALUES "
  5562. + "(:SupplierName"
  5563. + ",:SupplierCode"//sap物料编码 add 夏常明 2023-6-25
  5564. + ",:DisplayNo"
  5565. + ",:Remarks"
  5566. + ",:AccountID"
  5567. + ",:ValueFlag"
  5568. + ",:UserID"
  5569. + ",:UserID)";
  5570. OracleParameter[] oracleParameter = new OracleParameter[]
  5571. {
  5572. new OracleParameter(":SupplierName",dataRow["SupplierName"].ToString()),
  5573. new OracleParameter(":SupplierCode",dataRow["SupplierCode"].ToString()),//sap物料编码 add 夏常明 2023-6-25
  5574. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5575. new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
  5576. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5577. new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
  5578. new OracleParameter(":UserID",sUserInfo.UserID),
  5579. };
  5580. oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
  5581. #endregion
  5582. }
  5583. else if (dataRow.RowState == DataRowState.Modified)
  5584. {
  5585. #region 更新信息
  5586. string sqlUpdateString = "UPDATE TP_MST_MouldMaterialSuppliers SET "
  5587. + " SupplierName = :SupplierName,"
  5588. + " SupplierCode = :SupplierCode,"//sap物料编码 add 夏常明 2023-6-25
  5589. + " DisplayNo = :DisplayNo,"
  5590. + " Remarks = :Remarks,"
  5591. + " AccountID = :AccountID,"
  5592. + " ValueFlag = :ValueFlag,"
  5593. + " UpdateUserID = :UpdateUserID"
  5594. + " WHERE SupplierID = :SupplierID";
  5595. OracleParameter[] oracleParameter = new OracleParameter[]
  5596. {
  5597. new OracleParameter(":SupplierName",dataRow["SupplierName"].ToString()),
  5598. new OracleParameter(":SupplierCode",dataRow["SupplierCode"].ToString()),//sap物料编码 add 夏常明 2023-6-25
  5599. new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
  5600. new OracleParameter(":Remarks",dataRow["Remarks"]),
  5601. new OracleParameter(":AccountID",sUserInfo.AccountID),
  5602. new OracleParameter(":ValueFlag",dataRow["ValueFlag"]),
  5603. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  5604. new OracleParameter(":SupplierID",dataRow["SupplierID"])
  5605. };
  5606. oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
  5607. #endregion
  5608. }
  5609. else if (dataRow.RowState == DataRowState.Deleted)
  5610. {
  5611. #region 删除信息
  5612. string sqlDeleteString = "DELETE TP_MST_MouldMaterialSuppliers WHERE SupplierID = :SupplierID";
  5613. OracleParameter[] oracleParameter = new OracleParameter[]
  5614. {
  5615. new OracleParameter(":SupplierID",dataRow["SupplierID",DataRowVersion.Original].ToString())
  5616. };
  5617. oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
  5618. #endregion
  5619. }
  5620. }
  5621. oracleTrConn.Commit();
  5622. oracleTrConn.Disconnect();
  5623. return sre;
  5624. }
  5625. catch (Exception ex)
  5626. {
  5627. if (oracleTrConn.ConnState == ConnectionState.Open)
  5628. {
  5629. oracleTrConn.Rollback();
  5630. oracleTrConn.Disconnect();
  5631. }
  5632. throw ex;
  5633. }
  5634. }
  5635. #endregion
  5636. #region 在产品备份设置
  5637. /// <summary>
  5638. /// 获取在产品备份设置
  5639. /// </summary>
  5640. /// <param name="cre"></param>
  5641. /// <param name="sUserInfo"></param>
  5642. /// <returns></returns>
  5643. public static ServiceResultEntity GetMST040101(ClientRequestEntity cre, SUserInfo sUserInfo)
  5644. {
  5645. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5646. try
  5647. {
  5648. ServiceResultEntity sre = new ServiceResultEntity();
  5649. string sqlString = "SELECT JOB_NAME, REPEAT_INTERVAL, LAST_START_DATE, NEXT_RUN_DATE, ENABLED\n" +
  5650. " FROM USER_SCHEDULER_JOBS\n" +
  5651. " WHERE JOB_NAME = 'BAKUP_INPRODUCTION_BYMONTH'";
  5652. oracleConn.Open();
  5653. DataSet data = oracleConn.GetSqlResultToDs(sqlString);
  5654. sre.Data = data;
  5655. oracleConn.Close();
  5656. return sre;
  5657. }
  5658. catch (Exception ex)
  5659. {
  5660. if (oracleConn.ConnState == ConnectionState.Open)
  5661. {
  5662. oracleConn.Close();
  5663. }
  5664. throw ex;
  5665. }
  5666. }
  5667. /// <summary>
  5668. /// 保存在产品备份设置
  5669. /// </summary>
  5670. /// <param name="cre"></param>
  5671. /// <param name="sUserInfo"></param>
  5672. /// <returns></returns>
  5673. public static ServiceResultEntity SetMST040101(ClientRequestEntity cre, SUserInfo sUserInfo)
  5674. {
  5675. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  5676. try
  5677. {
  5678. ServiceResultEntity sre = new ServiceResultEntity();
  5679. // 检验参数的有效性
  5680. if (cre == null || cre.Request == null || cre.Request.ToString() == "")
  5681. {
  5682. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  5683. return sre;
  5684. }
  5685. oracleTrConn.Connect();
  5686. OracleParameter[] oracleParameter = new OracleParameter[]
  5687. {
  5688. new OracleParameter("name","BAKUP_INPRODUCTION_BYMONTH"),
  5689. new OracleParameter("attribute", "repeat_interval"),
  5690. new OracleParameter("value", cre.Request.ToString())
  5691. };
  5692. oracleTrConn.ExecStoredProcedure("sys.dbms_scheduler.set_attribute", oracleParameter);
  5693. oracleParameter = new OracleParameter[]
  5694. {
  5695. new OracleParameter("name","BAKUP_INPRODUCTION_BYMONTH")
  5696. };
  5697. if (cre.Properties["Enabled"].ToString() == "1")
  5698. {
  5699. oracleTrConn.ExecStoredProcedure("sys.dbms_scheduler.enable", oracleParameter);
  5700. }
  5701. else
  5702. {
  5703. oracleTrConn.ExecStoredProcedure("sys.dbms_scheduler.disable", oracleParameter);
  5704. }
  5705. if (cre.Properties["DeleteMonthBackup"].ToString() == "1")
  5706. {
  5707. string sqlString = "delete from tp_pm_inproduction_bakbymonth inpb where inpb.backupmonth = trunc(sysdate, 'mm')";
  5708. oracleTrConn.ExecuteNonQuery(sqlString);
  5709. }
  5710. if (cre.Properties["Run"].ToString() == "1")
  5711. {
  5712. // oracleParameter = new OracleParameter[]
  5713. // {
  5714. // new OracleParameter("job_name","BAKUP_INPRODUCTION_BYMONTH"),
  5715. // new OracleParameter("use_current_session", OracleDbType., 0)
  5716. // };
  5717. //oracleTrConn.ExecStoredProcedure("sys.dbms_scheduler.run_job", oracleParameter);
  5718. string sqlString = "begin\n" +
  5719. "sys.dbms_scheduler.run_job('BAKUP_INPRODUCTION_BYMONTH', false);\n" +
  5720. "end;";
  5721. oracleTrConn.ExecuteNonQuery(sqlString);
  5722. }
  5723. oracleTrConn.Commit();
  5724. oracleTrConn.Disconnect();
  5725. return sre;
  5726. }
  5727. catch (Exception ex)
  5728. {
  5729. if (oracleTrConn.ConnState == ConnectionState.Open)
  5730. {
  5731. oracleTrConn.Rollback();
  5732. oracleTrConn.Disconnect();
  5733. }
  5734. throw ex;
  5735. }
  5736. }
  5737. #endregion
  5738. #region 升级履历
  5739. /// <summary>
  5740. /// 升级履历
  5741. /// </summary>
  5742. /// <param name="cre"></param>
  5743. /// <param name="sUserInfo"></param>
  5744. /// <returns></returns>
  5745. public static ServiceResultEntity GetSYS0211(ClientRequestEntity cre, SUserInfo sUserInfo)
  5746. {
  5747. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5748. try
  5749. {
  5750. ServiceResultEntity sre = new ServiceResultEntity();
  5751. string sqlString = "SELECT ur.version, ur.releasedate, ur.upgradetime, ud.desno, ud.description\n" +
  5752. " FROM t_sys_upgraderecord ur\n" +
  5753. " LEFT JOIN t_sys_upgradedescription ud\n" +
  5754. " ON ud.releaseid = ur.releaseid\n" +
  5755. " WHERE ur.releaseid <> 0\n" +
  5756. " ORDER BY ur.releaseid DESC, ud.desno";
  5757. oracleConn.Open();
  5758. DataSet data = oracleConn.GetSqlResultToDs(sqlString);
  5759. sre.Data = data;
  5760. oracleConn.Close();
  5761. return sre;
  5762. }
  5763. catch (Exception ex)
  5764. {
  5765. if (oracleConn.ConnState == ConnectionState.Open)
  5766. {
  5767. oracleConn.Close();
  5768. }
  5769. throw ex;
  5770. }
  5771. }
  5772. #endregion
  5773. #region 模具标签打印
  5774. /// <summary>
  5775. /// 查询模板一览
  5776. /// </summary>
  5777. /// <param name="cre"></param>
  5778. /// <returns></returns>
  5779. public static ServiceResultEntity GetMouldLablePrintLayoutList(ClientRequestEntity cre, SUserInfo sUserInfo)
  5780. {
  5781. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5782. try
  5783. {
  5784. oracleConn.Open();
  5785. string sqlString =
  5786. "SELECT t.layoutid\n" +
  5787. " ,t.layoutname\n" +
  5788. " ,t.width\n" +
  5789. " ,t.height\n" +
  5790. " ,gt.goodstypename\n" +
  5791. " ,gt.goodstypecode\n" +
  5792. //" ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logonamecode\n" +
  5793. " ,t.remarks\n" +
  5794. " ,t.valueflag\n" +
  5795. " FROM tp_mst_MouldLableprintlayout t\n" +
  5796. " LEFT JOIN tp_mst_goodstype gt\n" +
  5797. " ON gt.goodstypeid = t.goodstypeid\n" +
  5798. //" LEFT JOIN tp_mst_Logo logo\n" +
  5799. //" ON logo.logoid = t.logoid\n" +
  5800. " WHERE t.accountid = :accountid\n" +
  5801. " AND (:layoutname IS NULL OR instr(t.layoutname, :layoutname) > 0)\n" +
  5802. " AND (:goodstypecode IS NULL OR\n" +
  5803. " instr(gt.goodstypecode, :goodstypecode) = 1)\n" +
  5804. " AND (:remarks IS NULL OR instr(t.remarks, :remarks) > 0)\n" +
  5805. " AND (:valueflag IS NULL OR t.valueflag = :valueflag)\n" +
  5806. //" AND (:logos IS NULL OR instr(:logos, ','|| t.logoid ||',') > 0)\n" +
  5807. //" ORDER BY gt.goodstypecode, decode(logo.logocode, null, ' ',logo.logocode)";
  5808. " ORDER BY gt.goodstypecode";
  5809. List<OracleParameter> parameters = new List<OracleParameter>();
  5810. parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  5811. parameters.Add(new OracleParameter(":layoutname", OracleDbType.NVarchar2, cre.Properties["layoutname"], ParameterDirection.Input));
  5812. parameters.Add(new OracleParameter(":goodstypecode", OracleDbType.NVarchar2, cre.Properties["goodstypecode"], ParameterDirection.Input));
  5813. parameters.Add(new OracleParameter(":remarks", OracleDbType.NVarchar2, cre.Properties["remarks"], ParameterDirection.Input));
  5814. parameters.Add(new OracleParameter(":valueflag", OracleDbType.NVarchar2, cre.Properties["valueflag"], ParameterDirection.Input));
  5815. //parameters.Add(new OracleParameter(":logos", OracleDbType.NVarchar2, cre.Properties["logos"], ParameterDirection.Input));
  5816. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  5817. ServiceResultEntity sre = new ServiceResultEntity();
  5818. if (data == null || data.Rows.Count == 0)
  5819. {
  5820. sre.Status = Constant.ServiceResultStatus.NoSearchResults;
  5821. return sre;
  5822. }
  5823. sre.Data = new DataSet();
  5824. sre.Data.Tables.Add(data);
  5825. return sre;
  5826. }
  5827. catch (Exception ex)
  5828. {
  5829. throw ex;
  5830. }
  5831. finally
  5832. {
  5833. if (oracleConn != null &&
  5834. oracleConn.ConnState == ConnectionState.Open)
  5835. {
  5836. oracleConn.Close();
  5837. }
  5838. }
  5839. }
  5840. /// <summary>
  5841. /// 验证产品类别是否已存在模板
  5842. /// </summary>
  5843. /// <param name="cre"></param>
  5844. /// <returns></returns>
  5845. public static ServiceResultEntity IsExistMouldLablePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  5846. {
  5847. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5848. try
  5849. {
  5850. oracleConn.Open();
  5851. string sqlString =
  5852. "SELECT t.layoutid\n" +
  5853. " FROM tp_mst_MouldLableprintlayout t\n" +
  5854. //" WHERE t.goodstypeid = :goodstypeid\n" +
  5855. " WHERE ((:goodstypeid is null and t.goodstypeid is null) or (t.goodstypeid = :goodstypeid))\n" +
  5856. //" AND ((:logoid is null and t.logoid is null) or (t.logoid = :logoid))\n" +
  5857. " AND (:layoutid is null or :layoutid <> t.layoutid)";
  5858. List<OracleParameter> parameters = new List<OracleParameter>();
  5859. //parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  5860. parameters.Add(new OracleParameter(":goodstypeid", OracleDbType.Int32, cre.Properties["GoodsTypeID"], ParameterDirection.Input));
  5861. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["layoutid"], ParameterDirection.Input));
  5862. //parameters.Add(new OracleParameter(":logoid", OracleDbType.Int32, cre.Properties["LogoID"], ParameterDirection.Input));
  5863. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  5864. ServiceResultEntity sre = new ServiceResultEntity();
  5865. if (data == null || data.Rows.Count == 0)
  5866. {
  5867. sre.Result = false;
  5868. return sre;
  5869. }
  5870. sre.Result = true;
  5871. return sre;
  5872. }
  5873. catch (Exception ex)
  5874. {
  5875. throw ex;
  5876. }
  5877. finally
  5878. {
  5879. if (oracleConn != null &&
  5880. oracleConn.ConnState == ConnectionState.Open)
  5881. {
  5882. oracleConn.Close();
  5883. }
  5884. }
  5885. }
  5886. /// <summary>
  5887. /// 获取打印项目
  5888. /// </summary>
  5889. /// <param name="cre"></param>
  5890. /// <returns></returns>
  5891. public static ServiceResultEntity GetMouldLablePrintItem(ClientRequestEntity cre, SUserInfo sUserInfo)
  5892. {
  5893. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5894. try
  5895. {
  5896. oracleConn.Open();
  5897. string sqlString =
  5898. "SELECT s.itemcode\n" +
  5899. " ,s.itemname\n" +
  5900. " ,s.itemsample\n" +
  5901. " ,s.itemstyle\n" +
  5902. " ,s.controlcode\n" +
  5903. " ,s.displayno\n" +
  5904. " FROM tp_sys_MouldLableprintitem s\n" +
  5905. " ORDER BY s.displayno";
  5906. DataSet data = oracleConn.GetSqlResultToDs(sqlString, null);
  5907. ServiceResultEntity sre = new ServiceResultEntity();
  5908. sre.Data = data;
  5909. return sre;
  5910. }
  5911. catch (Exception ex)
  5912. {
  5913. throw ex;
  5914. }
  5915. finally
  5916. {
  5917. if (oracleConn != null &&
  5918. oracleConn.ConnState == ConnectionState.Open)
  5919. {
  5920. oracleConn.Close();
  5921. }
  5922. }
  5923. }
  5924. /// <summary>
  5925. /// 查询打印模板
  5926. /// </summary>
  5927. /// <param name="cre"></param>
  5928. /// <returns></returns>
  5929. public static ServiceResultEntity GetMouldLablePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  5930. {
  5931. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  5932. try
  5933. {
  5934. oracleConn.Open();
  5935. string sqlString =
  5936. "SELECT t.layoutid\n" +
  5937. " ,t.layoutname\n" +
  5938. " ,t.layoutdata\n" +
  5939. " ,t.goodstypeid\n" +
  5940. " ,gt.goodstypecode\n" +
  5941. " ,gt.goodstypename\n" +
  5942. //" ,t.logoid\n" +
  5943. //" ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logoName\n" +
  5944. //" ,logo.logoName || '[' || logo.logocode || ']' logoName\n" +
  5945. " ,t.width\n" +
  5946. " ,t.height\n" +
  5947. " ,t.remarks\n" +
  5948. " FROM tp_mst_MouldLableprintlayout t\n" +
  5949. " LEFT JOIN tp_mst_goodstype gt\n" +
  5950. " ON gt.goodstypeid = t.goodstypeid\n" +
  5951. //" LEFT JOIN tp_mst_logo logo\n" +
  5952. //" ON logo.logoid = t.logoid\n" +
  5953. " WHERE t.layoutid = :layoutid";
  5954. List<OracleParameter> parameters = new List<OracleParameter>();
  5955. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  5956. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  5957. ServiceResultEntity sre = new ServiceResultEntity();
  5958. sre.Data = new DataSet();
  5959. sre.Data.Tables.Add(data);
  5960. string sqlString1 =
  5961. "SELECT t.layoutid\n" +
  5962. " ,t.layoutitemid\n" +
  5963. " ,t.itemcode\n" +
  5964. " ,s.itemname\n" +
  5965. " ,s.itemsample\n" +
  5966. " ,s.itemstyle\n" +
  5967. " ,s.controlcode\n" +
  5968. " FROM tp_mst_MouldLableprintitem t\n" +
  5969. " INNER JOIN tp_sys_MouldLableprintitem s\n" +
  5970. " ON s.itemcode = t.itemcode\n" +
  5971. " WHERE t.layoutid = :layoutid";
  5972. DataTable data1 = oracleConn.GetSqlResultToDt(sqlString1, parameters.ToArray());
  5973. sre.Data.Tables.Add(data1);
  5974. return sre;
  5975. }
  5976. catch (Exception ex)
  5977. {
  5978. throw ex;
  5979. }
  5980. finally
  5981. {
  5982. if (oracleConn != null &&
  5983. oracleConn.ConnState == ConnectionState.Open)
  5984. {
  5985. oracleConn.Close();
  5986. }
  5987. }
  5988. }
  5989. /// <summary>
  5990. /// 新建打印模板
  5991. /// </summary>
  5992. /// <param name="cre"></param>
  5993. /// <returns></returns>
  5994. public static ServiceResultEntity SaveAddMouldLablePrintLayoutData(ClientRequestEntity cre, SUserInfo sUserInfo)
  5995. {
  5996. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  5997. try
  5998. {
  5999. oracleTrConn.Connect();
  6000. DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  6001. string sqlid = "select SEQ_MST_MouldLblPRINTLAYOUT_ID.Nextval from dual";
  6002. int layoutID = Convert.ToInt32(oracleTrConn.GetSqlResultToObj(sqlid));
  6003. ServiceResultEntity sre = new ServiceResultEntity();
  6004. sre.Result = layoutID;
  6005. string sqlString = "INSERT INTO TP_MST_MouldLablePRINTLAYOUT\n" +
  6006. " (LAYOUTID\n" +
  6007. " ,LAYOUTNAME\n" +
  6008. " ,LAYOUTDATA\n" +
  6009. " ,GOODSTYPEID\n" +
  6010. " ,GOODSTYPECODE\n" +
  6011. //" ,LOGOID\n" +
  6012. " ,WIDTH\n" +
  6013. " ,HEIGHT\n" +
  6014. " ,REMARKS\n" +
  6015. " ,ACCOUNTID\n" +
  6016. " ,CREATEUSERID\n" +
  6017. " ,UPDATEUSERID)\n" +
  6018. "VALUES\n" +
  6019. " (:LAYOUTID\n" +
  6020. " ,:LAYOUTNAME\n" +
  6021. " ,:LAYOUTDATA\n" +
  6022. " ,:GOODSTYPEID\n" +
  6023. " ,:GOODSTYPECODE\n" +
  6024. //" ,:LOGOID\n" +
  6025. " ,:WIDTH\n" +
  6026. " ,:HEIGHT\n" +
  6027. " ,:REMARKS\n" +
  6028. " ,:ACCOUNTID\n" +
  6029. " ,:CREATEUSERID\n" +
  6030. " ,:CREATEUSERID)";
  6031. List<OracleParameter> parameters = new List<OracleParameter>();
  6032. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutID, ParameterDirection.Input));
  6033. parameters.Add(new OracleParameter(":LAYOUTNAME", OracleDbType.NVarchar2, layoutdata["LAYOUTNAME"], ParameterDirection.Input));
  6034. parameters.Add(new OracleParameter(":LAYOUTDATA", OracleDbType.Blob, layoutdata["LAYOUTDATA"], ParameterDirection.Input));
  6035. parameters.Add(new OracleParameter(":GOODSTYPEID", OracleDbType.Int32, layoutdata["GOODSTYPEID"], ParameterDirection.Input));
  6036. parameters.Add(new OracleParameter(":GOODSTYPECODE", OracleDbType.NVarchar2, layoutdata["GOODSTYPECODE"], ParameterDirection.Input));
  6037. //parameters.Add(new OracleParameter(":LOGOID", OracleDbType.Int32, layoutdata["LOGOID"], ParameterDirection.Input));
  6038. parameters.Add(new OracleParameter(":WIDTH", OracleDbType.Int32, layoutdata["WIDTH"], ParameterDirection.Input));
  6039. parameters.Add(new OracleParameter(":HEIGHT", OracleDbType.Int32, layoutdata["HEIGHT"], ParameterDirection.Input));
  6040. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, layoutdata["REMARKS"], ParameterDirection.Input));
  6041. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  6042. parameters.Add(new OracleParameter(":CREATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  6043. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6044. if (result == 0)
  6045. {
  6046. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6047. return sre;
  6048. }
  6049. // 插入新的项目明细
  6050. foreach (DataRow dataRow in cre.Data.Tables[1].Rows)
  6051. {
  6052. if (dataRow.RowState == DataRowState.Deleted ||
  6053. dataRow.RowState == DataRowState.Detached)
  6054. {
  6055. continue;
  6056. }
  6057. sqlString = "INSERT INTO TP_MST_MouldLablePRINTITEM"
  6058. + "(LayoutID"
  6059. + ",LayoutItemID"
  6060. + ",ItemCode"
  6061. + ")"
  6062. + "VALUES"
  6063. + " (:LayoutID"
  6064. + ",:layoutItemID"
  6065. + ",:ItemCode"
  6066. + ")";
  6067. parameters.Clear();
  6068. parameters.Add(new OracleParameter(":LayoutID", OracleDbType.Int32, layoutID, ParameterDirection.Input));
  6069. parameters.Add(new OracleParameter(":layoutItemID", OracleDbType.Int32, dataRow["layoutItemID"], ParameterDirection.Input));
  6070. parameters.Add(new OracleParameter(":ItemCode", OracleDbType.NVarchar2, dataRow["ItemCode"], ParameterDirection.Input));
  6071. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6072. }
  6073. oracleTrConn.Commit();
  6074. return sre;
  6075. }
  6076. catch (Exception ex)
  6077. {
  6078. if (oracleTrConn != null &&
  6079. oracleTrConn.ConnState == ConnectionState.Open)
  6080. {
  6081. oracleTrConn.Rollback();
  6082. }
  6083. throw ex;
  6084. }
  6085. finally
  6086. {
  6087. if (oracleTrConn != null &&
  6088. oracleTrConn.ConnState == ConnectionState.Open)
  6089. {
  6090. oracleTrConn.Disconnect();
  6091. }
  6092. }
  6093. }
  6094. /// <summary>
  6095. /// 编辑打印模板
  6096. /// </summary>
  6097. /// <param name="cre"></param>
  6098. /// <returns></returns>
  6099. public static ServiceResultEntity SaveEditMouldLablePrintLayoutData(ClientRequestEntity cre, SUserInfo sUserInfo)
  6100. {
  6101. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6102. try
  6103. {
  6104. oracleTrConn.Connect();
  6105. DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  6106. ServiceResultEntity sre = new ServiceResultEntity();
  6107. string sqlString = "UPDATE TP_MST_MouldLablePRINTLAYOUT t\n" +
  6108. " SET t.LAYOUTDATA = :LAYOUTDATA, t.WIDTH = :WIDTH, t.HEIGHT = :HEIGHT, t.UPDATEUSERID=:UPDATEUSERID\n" +
  6109. " WHERE t.LAYOUTID = :LAYOUTID";
  6110. List<OracleParameter> parameters = new List<OracleParameter>();
  6111. parameters.Add(new OracleParameter(":LAYOUTDATA", OracleDbType.Blob, layoutdata["LAYOUTDATA"], ParameterDirection.Input));
  6112. parameters.Add(new OracleParameter(":WIDTH", OracleDbType.Int32, layoutdata["WIDTH"], ParameterDirection.Input));
  6113. parameters.Add(new OracleParameter(":HEIGHT", OracleDbType.Int32, layoutdata["HEIGHT"], ParameterDirection.Input));
  6114. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  6115. parameters.Add(new OracleParameter(":UPDATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  6116. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6117. if (result == 0)
  6118. {
  6119. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6120. return sre;
  6121. }
  6122. sre.Result = result;
  6123. sqlString = "DELETE FROM TP_MST_MouldLablePRINTITEM WHERE LAYOUTID = :LAYOUTID";
  6124. parameters.Clear();
  6125. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  6126. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6127. // 插入新的项目明细
  6128. foreach (DataRow dataRow in cre.Data.Tables[1].Rows)
  6129. {
  6130. if (dataRow.RowState == DataRowState.Deleted ||
  6131. dataRow.RowState == DataRowState.Detached)
  6132. {
  6133. continue;
  6134. }
  6135. sqlString = "INSERT INTO TP_MST_MouldLablePRINTITEM"
  6136. + "(LayoutID"
  6137. + ",LayoutItemID"
  6138. + ",ItemCode"
  6139. + ")"
  6140. + "VALUES"
  6141. + " (:LayoutID"
  6142. + ",:layoutItemID"
  6143. + ",:ItemCode"
  6144. + ")";
  6145. parameters.Clear();
  6146. parameters.Add(new OracleParameter(":LayoutID", OracleDbType.Int32, layoutdata["LAYOUTID"], ParameterDirection.Input));
  6147. parameters.Add(new OracleParameter(":layoutItemID", OracleDbType.Int32, dataRow["layoutItemID"], ParameterDirection.Input));
  6148. parameters.Add(new OracleParameter(":ItemCode", OracleDbType.NVarchar2, dataRow["ItemCode"], ParameterDirection.Input));
  6149. oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6150. }
  6151. oracleTrConn.Commit();
  6152. return sre;
  6153. }
  6154. catch (Exception ex)
  6155. {
  6156. if (oracleTrConn != null &&
  6157. oracleTrConn.ConnState == ConnectionState.Open)
  6158. {
  6159. oracleTrConn.Rollback();
  6160. }
  6161. throw ex;
  6162. }
  6163. finally
  6164. {
  6165. if (oracleTrConn != null &&
  6166. oracleTrConn.ConnState == ConnectionState.Open)
  6167. {
  6168. oracleTrConn.Disconnect();
  6169. }
  6170. }
  6171. }
  6172. /// <summary>
  6173. /// 查询打印模板信息
  6174. /// </summary>
  6175. /// <param name="cre"></param>
  6176. /// <returns></returns>
  6177. public static ServiceResultEntity GetMouldLablePrintLayoutInfo(ClientRequestEntity cre, SUserInfo sUserInfo)
  6178. {
  6179. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6180. try
  6181. {
  6182. oracleConn.Open();
  6183. string sqlString =
  6184. "SELECT t.layoutid\n" +
  6185. " ,t.layoutname\n" +
  6186. " ,t.valueflag\n" +
  6187. " ,t.goodstypeid\n" +
  6188. " ,gt.goodstypecode\n" +
  6189. " ,gt.goodstypename\n" +
  6190. //" ,t.logoid\n" +
  6191. //" ,decode(t.logoid, null, '', logo.logoname || '[' || logo.logocode || ']') logoNameCode\n" +
  6192. //" ,logo.logoName || '[' || logo.logocode || ']' logoNameCode\n" +
  6193. " ,t.remarks\n" +
  6194. " FROM tp_mst_MouldLableprintlayout t\n" +
  6195. " LEFT JOIN tp_mst_goodstype gt\n" +
  6196. " ON gt.goodstypeid = t.goodstypeid\n" +
  6197. //" LEFT JOIN tp_mst_Logo logo\n" +
  6198. //" ON logo.logoid = t.logoid\n" +
  6199. " WHERE t.layoutid = :layoutid";
  6200. List<OracleParameter> parameters = new List<OracleParameter>();
  6201. parameters.Add(new OracleParameter(":layoutid", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  6202. DataTable data = oracleConn.GetSqlResultToDt(sqlString, parameters.ToArray());
  6203. ServiceResultEntity sre = new ServiceResultEntity();
  6204. sre.Data = new DataSet();
  6205. sre.Data.Tables.Add(data);
  6206. return sre;
  6207. }
  6208. catch (Exception ex)
  6209. {
  6210. throw ex;
  6211. }
  6212. finally
  6213. {
  6214. if (oracleConn != null &&
  6215. oracleConn.ConnState == ConnectionState.Open)
  6216. {
  6217. oracleConn.Close();
  6218. }
  6219. }
  6220. }
  6221. /// <summary>
  6222. /// 编辑打印模板信息
  6223. /// </summary>
  6224. /// <param name="cre"></param>
  6225. /// <returns></returns>
  6226. public static ServiceResultEntity SaveEditMouldLablePrintLayoutInfo(ClientRequestEntity cre, SUserInfo sUserInfo)
  6227. {
  6228. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6229. try
  6230. {
  6231. oracleTrConn.Connect();
  6232. //DataRow layoutdata = cre.Data.Tables[0].Rows[0];
  6233. ServiceResultEntity sre = new ServiceResultEntity();
  6234. string sqlString = "UPDATE TP_MST_MouldLablePRINTLAYOUT t\n" +
  6235. " SET t.LAYOUTNAME = :LAYOUTNAME, t.GOODSTYPEID = :GOODSTYPEID, t.GOODSTYPECODE = :GOODSTYPECODE\n" +
  6236. " ,t.REMARKS = :REMARKS, t.Valueflag = :Valueflag, t.UPDATEUSERID=:UPDATEUSERID\n" +
  6237. //" ,t.LogoID = :LogoID\n" +
  6238. " WHERE t.LAYOUTID = :LAYOUTID";
  6239. List<OracleParameter> parameters = new List<OracleParameter>();
  6240. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  6241. parameters.Add(new OracleParameter(":LAYOUTNAME", OracleDbType.NVarchar2, cre.Properties["LayoutName"], ParameterDirection.Input));
  6242. parameters.Add(new OracleParameter(":GOODSTYPEID", OracleDbType.Int32, cre.Properties["GoodsTypeID"], ParameterDirection.Input));
  6243. parameters.Add(new OracleParameter(":GOODSTYPECODE", OracleDbType.NVarchar2, cre.Properties["GoodsTypeCode"], ParameterDirection.Input));
  6244. parameters.Add(new OracleParameter(":REMARKS", OracleDbType.NVarchar2, cre.Properties["Remarks"], ParameterDirection.Input));
  6245. parameters.Add(new OracleParameter(":Valueflag", OracleDbType.NVarchar2, cre.Properties["ValueFlag"], ParameterDirection.Input));
  6246. parameters.Add(new OracleParameter(":UPDATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  6247. //parameters.Add(new OracleParameter(":LogoID", OracleDbType.Int32, cre.Properties["LogoID"], ParameterDirection.Input));
  6248. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6249. if (result == 0)
  6250. {
  6251. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6252. return sre;
  6253. }
  6254. oracleTrConn.Commit();
  6255. return sre;
  6256. }
  6257. catch (Exception ex)
  6258. {
  6259. if (oracleTrConn != null &&
  6260. oracleTrConn.ConnState == ConnectionState.Open)
  6261. {
  6262. oracleTrConn.Rollback();
  6263. }
  6264. throw ex;
  6265. }
  6266. finally
  6267. {
  6268. if (oracleTrConn != null &&
  6269. oracleTrConn.ConnState == ConnectionState.Open)
  6270. {
  6271. oracleTrConn.Disconnect();
  6272. }
  6273. }
  6274. }
  6275. /// <summary>
  6276. /// 删除条码打印模板
  6277. /// </summary>
  6278. /// <param name="cre"></param>
  6279. /// <returns></returns>
  6280. public static ServiceResultEntity DeleteMouldLablePrintLayout(ClientRequestEntity cre, SUserInfo sUserInfo)
  6281. {
  6282. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6283. try
  6284. {
  6285. oracleTrConn.Connect();
  6286. ServiceResultEntity sre = new ServiceResultEntity();
  6287. string sqlString = "DELETE FROM TP_MST_MouldLablePrintItem t\n" +
  6288. " WHERE t.LAYOUTID = :LAYOUTID";
  6289. string sqlString1 = "DELETE FROM TP_MST_MouldLablePRINTLAYOUT t\n" +
  6290. " WHERE t.LAYOUTID = :LAYOUTID";
  6291. List<OracleParameter> parameters = new List<OracleParameter>();
  6292. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  6293. // 删除明细
  6294. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6295. // 删除总单
  6296. result = oracleTrConn.ExecuteNonQuery(sqlString1, parameters.ToArray());
  6297. if (result == 0)
  6298. {
  6299. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6300. return sre;
  6301. }
  6302. oracleTrConn.Commit();
  6303. return sre;
  6304. }
  6305. catch (Exception ex)
  6306. {
  6307. if (oracleTrConn != null &&
  6308. oracleTrConn.ConnState == ConnectionState.Open)
  6309. {
  6310. oracleTrConn.Rollback();
  6311. }
  6312. throw ex;
  6313. }
  6314. finally
  6315. {
  6316. if (oracleTrConn != null &&
  6317. oracleTrConn.ConnState == ConnectionState.Open)
  6318. {
  6319. oracleTrConn.Disconnect();
  6320. }
  6321. }
  6322. }
  6323. /// <summary>
  6324. /// 获取条码打印信息(模板,数据)
  6325. /// </summary>
  6326. /// <param name="cre"></param>
  6327. /// <returns></returns>
  6328. public static ServiceResultEntity GetMouldLablePrintDATA(ClientRequestEntity cre, SUserInfo sUserInfo)
  6329. {
  6330. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6331. try
  6332. {
  6333. oracleConn.Open();
  6334. string barcode = cre.Properties["Barcode"].ToString();
  6335. //bool isGBarcode = (bool)cre.Properties["IsGBarcode"];
  6336. //if (!isGBarcode)
  6337. //{
  6338. // string sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
  6339. // OracleParameter[] paras1 = new OracleParameter[]{
  6340. // new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
  6341. // new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
  6342. // };
  6343. // barcode = oracleConn.GetSqlResultToStr(sqlString, paras1);
  6344. //}
  6345. ServiceResultEntity sre = new ServiceResultEntity();
  6346. List<OracleParameter> parameters = new List<OracleParameter>();
  6347. parameters.Add(new OracleParameter("in_Barcode", OracleDbType.NVarchar2, barcode, ParameterDirection.Input));
  6348. parameters.Add(new OracleParameter("in_AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  6349. //parameters.Add(new OracleParameter("in_UserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  6350. parameters.Add(new OracleParameter("out_Status", OracleDbType.Int32, ParameterDirection.Output));
  6351. parameters.Add(new OracleParameter("out_Message", OracleDbType.NVarchar2, 2000, null, ParameterDirection.Output));
  6352. parameters.Add(new OracleParameter("out_LayoutData", OracleDbType.RefCursor, ParameterDirection.Output));
  6353. parameters.Add(new OracleParameter("out_PrintData", OracleDbType.RefCursor, ParameterDirection.Output));
  6354. DataSet data = oracleConn.ExecStoredProcedure("PRO_PM_GETMouldLablePrintDATA", parameters.ToArray());
  6355. int status = Convert.ToInt32(parameters[2].Value.ToString());
  6356. if (status < 0)
  6357. {
  6358. sre.Status = Constant.ServiceResultStatus.Other;
  6359. sre.Message = parameters[3].Value.ToString();
  6360. }
  6361. sre.Data = data;
  6362. return sre;
  6363. }
  6364. catch (Exception ex)
  6365. {
  6366. throw ex;
  6367. }
  6368. finally
  6369. {
  6370. if (oracleConn != null &&
  6371. oracleConn.ConnState == ConnectionState.Open)
  6372. {
  6373. oracleConn.Close();
  6374. }
  6375. }
  6376. }
  6377. /// <summary>
  6378. /// 记录条码打印日志
  6379. /// </summary>
  6380. /// <param name="cre"></param>
  6381. /// <returns></returns>
  6382. public static ServiceResultEntity SetMouldLablePrintLog(ClientRequestEntity cre, SUserInfo sUserInfo)
  6383. {
  6384. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6385. try
  6386. {
  6387. oracleTrConn.Connect();
  6388. ServiceResultEntity sre = new ServiceResultEntity();
  6389. string sqlString = "INSERT INTO TP_MST_MouldLablePrintLog\n" +
  6390. " (BARCODE, LAYOUTID, ACCOUNTID, CREATEUSERID)\n" +
  6391. "VALUES\n" +
  6392. " (:BARCODE, :LAYOUTID, :ACCOUNTID, :CREATEUSERID)";
  6393. List<OracleParameter> parameters = new List<OracleParameter>();
  6394. parameters.Add(new OracleParameter(":BARCODE", OracleDbType.NVarchar2, cre.Properties["Barcode"], ParameterDirection.Input));
  6395. parameters.Add(new OracleParameter(":LAYOUTID", OracleDbType.Int32, cre.Properties["LayoutID"], ParameterDirection.Input));
  6396. parameters.Add(new OracleParameter(":ACCOUNTID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
  6397. parameters.Add(new OracleParameter(":CREATEUSERID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input));
  6398. int result = oracleTrConn.ExecuteNonQuery(sqlString, parameters.ToArray());
  6399. if (result == 0)
  6400. {
  6401. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6402. return sre;
  6403. }
  6404. oracleTrConn.Commit();
  6405. return sre;
  6406. }
  6407. catch (Exception ex)
  6408. {
  6409. if (oracleTrConn != null &&
  6410. oracleTrConn.ConnState == ConnectionState.Open)
  6411. {
  6412. oracleTrConn.Rollback();
  6413. }
  6414. throw ex;
  6415. }
  6416. finally
  6417. {
  6418. if (oracleTrConn != null &&
  6419. oracleTrConn.ConnState == ConnectionState.Open)
  6420. {
  6421. oracleTrConn.Disconnect();
  6422. }
  6423. }
  6424. }
  6425. #endregion
  6426. #region 成型破损
  6427. /// <summary>
  6428. /// 获取成型破损原因左侧树的数据
  6429. /// </summary>
  6430. /// <returns>DataSet</returns>
  6431. /// <remarks>
  6432. /// 2018.03.26 周兴 新建
  6433. /// </remarks>
  6434. public static ServiceResultEntity GetScrapReasonData(ClientRequestEntity cre, SUserInfo sUserInfo, string valueFlag = null)
  6435. {
  6436. ServiceResultEntity result = new ServiceResultEntity();
  6437. DataSet returnData = new DataSet();
  6438. try
  6439. {
  6440. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6441. try
  6442. {
  6443. oracleConn.Open();
  6444. DataTable returnTable;
  6445. if (valueFlag == null)
  6446. {
  6447. string sqlString = "SELECT ScrapReasonID,ScrapReason,DisplayNo,ScrapType,Remarks,ValueFlag FROM TP_MST_ScrapReason "
  6448. + " WHERE AccountID = :AccountID Order By DisplayNo";
  6449. OracleParameter[] oracleParameter = new OracleParameter[]
  6450. {
  6451. new OracleParameter(":AccountID",sUserInfo.AccountID)
  6452. };
  6453. returnTable = oracleConn.GetSqlResultToDt(sqlString, oracleParameter);
  6454. }
  6455. else
  6456. {
  6457. string sqlString = "SELECT ScrapReasonID,ScrapReason,DisplayNo,ScrapType,Remarks,ValueFlag FROM TP_MST_ScrapReason "
  6458. + " WHERE AccountID = :AccountID and valueflag = :valueflag Order By DisplayNo";
  6459. OracleParameter[] oracleParameter = new OracleParameter[]
  6460. {
  6461. new OracleParameter(":AccountID",sUserInfo.AccountID),
  6462. new OracleParameter(":valueflag",valueFlag)
  6463. };
  6464. returnTable = oracleConn.GetSqlResultToDt(sqlString, oracleParameter);
  6465. }
  6466. returnTable.TableName = "TP_MST_ScrapReason";
  6467. oracleConn.Close();
  6468. returnData.Tables.Add(returnTable);
  6469. result.Data = returnData;
  6470. return result;
  6471. }
  6472. catch (Exception ex)
  6473. {
  6474. if (oracleConn.ConnState == ConnectionState.Open)
  6475. {
  6476. oracleConn.Close();
  6477. }
  6478. throw ex;
  6479. }
  6480. }
  6481. catch (Exception ex)
  6482. {
  6483. throw ex;
  6484. }
  6485. }
  6486. #endregion
  6487. #region 3#条码打印机(PDA用)
  6488. #region 配置3#条码打印机
  6489. /// <summary>
  6490. /// 获取3#条码打印机配置(PDA用)
  6491. /// </summary>
  6492. /// <param name="cre"></param>
  6493. /// <param name="sUserInfo"></param>
  6494. /// <returns></returns>
  6495. public static ServiceResultEntity GetWorkStationPrinter3(SUserInfo sUserInfo)
  6496. {
  6497. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6498. try
  6499. {
  6500. ServiceResultEntity sre = new ServiceResultEntity();
  6501. sre.Data = new DataSet();
  6502. DataTable dtReturnData = null;
  6503. OracleParameter[] paras = null;
  6504. string sqlString = string.Empty;
  6505. oracleConn.Open();
  6506. #region 获取工位信息
  6507. sqlString = "SELECT ws.workstationid\n" +
  6508. " ,ws.workstationname\n" +
  6509. " FROM tp_mst_workstation ws\n" +
  6510. " WHERE ws.valueflag = '1'\n" +
  6511. " AND ws.workstationtypeid = 3161\n" +
  6512. " AND ws.accountid = :accountid\n" +
  6513. " ORDER BY ws.displayno";
  6514. paras = new OracleParameter[] { new OracleParameter(":accountid", sUserInfo.AccountID) };
  6515. dtReturnData = oracleConn.GetSqlResultToDt(sqlString, paras);
  6516. dtReturnData.TableName = "WorkStation";
  6517. sre.Data.Tables.Add(dtReturnData);
  6518. #endregion
  6519. #region 获取服务码打印机
  6520. sqlString = "SELECT bp.printerid\n" +
  6521. " ,bp.printername\n" +
  6522. " FROM tp_mst_barcodeprinter bp\n" +
  6523. " WHERE bp.valueflag = '1'\n" +
  6524. " AND bp.printtype = 3\n" +
  6525. " AND bp.accountid = :accountid\n" +
  6526. " ORDER BY bp.displayno";
  6527. dtReturnData = oracleConn.GetSqlResultToDt(sqlString, paras);
  6528. dtReturnData.TableName = "ServerPrinter";
  6529. sre.Data.Tables.Add(dtReturnData);
  6530. #endregion
  6531. #region 获取外箱码打印机
  6532. sqlString = "SELECT bp.printerid\n" +
  6533. " ,bp.printername\n" +
  6534. " FROM tp_mst_barcodeprinter bp\n" +
  6535. " WHERE bp.valueflag = '1'\n" +
  6536. " AND bp.printtype = 2\n" +
  6537. " AND bp.accountid = :accountid\n" +
  6538. " ORDER BY bp.displayno";
  6539. // 外箱码打印机1
  6540. dtReturnData = oracleConn.GetSqlResultToDt(sqlString, paras);
  6541. dtReturnData.TableName = "PackingPrinter1";
  6542. sre.Data.Tables.Add(dtReturnData);
  6543. // 外箱码打印机2
  6544. dtReturnData = dtReturnData.Copy();
  6545. dtReturnData.TableName = "PackingPrinter2";
  6546. sre.Data.Tables.Add(dtReturnData);
  6547. #endregion
  6548. #region 获取工位打印机关联表
  6549. sqlString = "SELECT wsp.workstationid\n" +
  6550. " ,wsp.printerstation\n" +
  6551. " ,wsp.printerid\n" +
  6552. " FROM tp_mst_workstationprinter wsp\n" +
  6553. " WHERE wsp.valueflag = '1'\n" +
  6554. " AND wsp.accountid = :accountid\n" +
  6555. " ORDER BY wsp.workstationid\n" +
  6556. " ,wsp.printerstation";
  6557. paras = new OracleParameter[] { new OracleParameter(":accountid", sUserInfo.AccountID) };
  6558. dtReturnData = oracleConn.GetSqlResultToDt(sqlString, paras);
  6559. dtReturnData.TableName = "WorkStationPrinter";
  6560. sre.Data.Tables.Add(dtReturnData);
  6561. #endregion
  6562. oracleConn.Close();
  6563. return sre;
  6564. }
  6565. catch (Exception ex)
  6566. {
  6567. if (oracleConn.ConnState == ConnectionState.Open)
  6568. {
  6569. oracleConn.Close();
  6570. }
  6571. throw ex;
  6572. }
  6573. }
  6574. /// <summary>
  6575. /// 保存3#条码打印机配置(PDA用)
  6576. /// </summary>
  6577. /// <param name="cre"></param>
  6578. /// <param name="sUserInfo"></param>
  6579. /// <returns></returns>
  6580. public static ServiceResultEntity SaveWorkStationPrinter3(ClientRequestEntity cre, SUserInfo sUserInfo)
  6581. {
  6582. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6583. try
  6584. {
  6585. ServiceResultEntity sre = new ServiceResultEntity();
  6586. int workStationID = Convert.ToInt32(cre.Properties["WorkStationID"]);
  6587. int PrinterID1 = Convert.ToInt32(cre.Properties["PrinterID1"]);
  6588. int PrinterID2 = Convert.ToInt32(cre.Properties["PrinterID2"]);
  6589. int PrinterID3 = Convert.ToInt32(cre.Properties["PrinterID3"]);
  6590. string sqlString = string.Empty;
  6591. string message = string.Empty;
  6592. OracleParameter[] paras = null;
  6593. object isExists = null;
  6594. oracleTrConn.Connect();
  6595. #region 校验
  6596. if (PrinterID1 == PrinterID2 || PrinterID1 == PrinterID3 || PrinterID2 == PrinterID3)
  6597. {
  6598. sre.Message = "不同位置的打印机不能相同,请重新确认。";
  6599. sre.OtherStatus = Constant.INT_IS_NEGATIE_ONE;
  6600. return sre;
  6601. }
  6602. sqlString = "SELECT bp.printername\n" +
  6603. " FROM tp_mst_workstationprinter wsp\n" +
  6604. " LEFT JOIN tp_mst_barcodeprinter bp\n" +
  6605. " ON bp.printerid = wsp.printerid\n" +
  6606. " WHERE bp.printerid = :printerid\n" +
  6607. " AND EXISTS (SELECT 1\n" +
  6608. " FROM tp_mst_workstationprinter wsp\n" +
  6609. " WHERE wsp.printerid = bp.printerid\n" +
  6610. " AND wsp.valueflag = '1'\n" +
  6611. " AND wsp.accountid = :accountid\n" +
  6612. " AND wsp.workstationid <> :workstationid)";
  6613. paras = new OracleParameter[]
  6614. {
  6615. new OracleParameter(":printerid", PrinterID1),
  6616. new OracleParameter(":accountid", sUserInfo.AccountID),
  6617. new OracleParameter(":workstationid", workStationID)
  6618. };
  6619. isExists = oracleTrConn.GetSqlResultToObj(sqlString, paras);
  6620. if (isExists != null)
  6621. {
  6622. message += isExists;
  6623. }
  6624. paras = new OracleParameter[]
  6625. {
  6626. new OracleParameter(":printerid", PrinterID2),
  6627. new OracleParameter(":accountid", sUserInfo.AccountID),
  6628. new OracleParameter(":workstationid", workStationID)
  6629. };
  6630. isExists = oracleTrConn.GetSqlResultToObj(sqlString, paras);
  6631. if (isExists != null)
  6632. {
  6633. message += "," + isExists;
  6634. }
  6635. paras = new OracleParameter[]
  6636. {
  6637. new OracleParameter(":printerid", PrinterID3),
  6638. new OracleParameter(":accountid", sUserInfo.AccountID),
  6639. new OracleParameter(":workstationid", workStationID)
  6640. };
  6641. isExists = oracleTrConn.GetSqlResultToObj(sqlString, paras);
  6642. if (isExists != null)
  6643. {
  6644. message += "," + isExists;
  6645. }
  6646. if (!string.IsNullOrEmpty(message))
  6647. {
  6648. sre.Message = "【" + message + "】:已被别的工位使用,请重新确认。";
  6649. sre.OtherStatus = Constant.INT_IS_NEGATIE_ONE;
  6650. return sre;
  6651. }
  6652. #endregion
  6653. #region 删除原工位打印机关系
  6654. sqlString = "DELETE FROM tp_mst_workstationprinter wsp\n" +
  6655. " WHERE wsp.workstationid = :workstationid";
  6656. paras = new OracleParameter[] { new OracleParameter(":workstationid", workStationID) };
  6657. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
  6658. #endregion
  6659. #region 新建工位打印机关系
  6660. sqlString = "INSERT INTO tp_mst_workstationprinter\n" +
  6661. " (printerid\n" +
  6662. " ,workstationid\n" +
  6663. " ,printerstation\n" +
  6664. " ,accountid\n" +
  6665. " ,createuserid)\n" +
  6666. "VALUES\n" +
  6667. " (:printerid\n" +
  6668. " ,:workstationid\n" +
  6669. " ,:printerstation\n" +
  6670. " ,:accountid\n" +
  6671. " ,:userid)";
  6672. // 机位1
  6673. paras = new OracleParameter[]
  6674. {
  6675. new OracleParameter(":printerid", PrinterID1),
  6676. new OracleParameter(":workstationid", workStationID),
  6677. new OracleParameter(":printerstation", 1),
  6678. new OracleParameter(":accountid", sUserInfo.AccountID),
  6679. new OracleParameter(":userid", sUserInfo.UserID),
  6680. };
  6681. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
  6682. // 机位2
  6683. paras = new OracleParameter[]
  6684. {
  6685. new OracleParameter(":printerid", PrinterID2),
  6686. new OracleParameter(":workstationid", workStationID),
  6687. new OracleParameter(":printerstation", 2),
  6688. new OracleParameter(":accountid", sUserInfo.AccountID),
  6689. new OracleParameter(":userid", sUserInfo.UserID),
  6690. };
  6691. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
  6692. // 机位3
  6693. paras = new OracleParameter[]
  6694. {
  6695. new OracleParameter(":printerid", PrinterID3),
  6696. new OracleParameter(":workstationid", workStationID),
  6697. new OracleParameter(":printerstation", 3),
  6698. new OracleParameter(":accountid", sUserInfo.AccountID),
  6699. new OracleParameter(":userid", sUserInfo.UserID),
  6700. };
  6701. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString, paras);
  6702. #endregion
  6703. oracleTrConn.Commit();
  6704. oracleTrConn.Disconnect();
  6705. return sre;
  6706. }
  6707. catch (Exception ex)
  6708. {
  6709. if (oracleTrConn.ConnState == ConnectionState.Open)
  6710. {
  6711. oracleTrConn.Rollback();
  6712. oracleTrConn.Disconnect();
  6713. }
  6714. throw ex;
  6715. }
  6716. }
  6717. #endregion
  6718. #region 3#条码打印
  6719. /// <summary>
  6720. /// 3#条码打印(PDA用)
  6721. /// </summary>
  6722. /// <param name="cre"></param>
  6723. /// <param name="sUserInfo"></param>
  6724. /// <returns></returns>
  6725. public static ServiceResultEntity PrintBarcode_3BL(ClientRequestEntity cre, SUserInfo sUserInfo)
  6726. {
  6727. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6728. try
  6729. {
  6730. ServiceResultEntity sre = BarcodePrintLogic.PrintBarcode_3BL(
  6731. cre.Properties["Barcode"] + "", Convert.ToInt32(cre.Properties["WorkStationID"]), sUserInfo);
  6732. return sre;
  6733. }
  6734. catch (Exception ex)
  6735. {
  6736. if (oracleTrConn.ConnState == ConnectionState.Open)
  6737. {
  6738. oracleTrConn.Rollback();
  6739. oracleTrConn.Disconnect();
  6740. }
  6741. throw ex;
  6742. }
  6743. }
  6744. /// <summary>
  6745. /// 补打3#条码(PDA用)
  6746. /// </summary>
  6747. /// <param name="cre"></param>
  6748. /// <param name="sUserInfo"></param>
  6749. /// <returns></returns>
  6750. public static ServiceResultEntity PrintBarcode_3BL_B(ClientRequestEntity cre, SUserInfo sUserInfo)
  6751. {
  6752. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6753. try
  6754. {
  6755. List<int> list = new List<int>();
  6756. if (!string.IsNullOrEmpty(cre.Properties["PrinterID1"] + ""))
  6757. list.Add(Convert.ToInt32(cre.Properties["PrinterID1"] + ""));
  6758. if (!string.IsNullOrEmpty(cre.Properties["PrinterID2"] + ""))
  6759. list.Add(Convert.ToInt32(cre.Properties["PrinterID2"] + ""));
  6760. if (!string.IsNullOrEmpty(cre.Properties["PrinterID3"] + ""))
  6761. list.Add(Convert.ToInt32(cre.Properties["PrinterID3"] + ""));
  6762. ServiceResultEntity sre = BarcodePrintLogic.PrintBarcode_3BL_B(
  6763. cre.Properties["Barcode"] + "", list.ToArray(), sUserInfo);
  6764. return sre;
  6765. }
  6766. catch (Exception ex)
  6767. {
  6768. if (oracleTrConn.ConnState == ConnectionState.Open)
  6769. {
  6770. oracleTrConn.Rollback();
  6771. oracleTrConn.Disconnect();
  6772. }
  6773. throw ex;
  6774. }
  6775. }
  6776. #endregion
  6777. #endregion
  6778. #region 发货单
  6779. /// <summary>
  6780. /// 获取仓库全部数据
  6781. /// </summary>
  6782. /// <param name="sUserInfo">用户基本信息</param>
  6783. /// <returns></returns>
  6784. /// <remarks>
  6785. /// 2024.1.15 张忠帅 新建
  6786. /// </remarks>
  6787. public static ServiceResultEntity GetSendWareHouse()
  6788. {
  6789. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6790. try
  6791. {
  6792. ServiceResultEntity sre = new ServiceResultEntity();
  6793. string sqlString = @"SELECT WAREHOUSECODE , WAREHOUSENAME,
  6794. CASE WHEN WAREHOUSETYPE=1 THEN '出库'
  6795. WHEN WAREHOUSETYPE=2 THEN '入库'
  6796. ELSE '' END AS WAREHOUSETYPE ,VALUEFLAG,CREATETIME,CREATEUSERID,
  6797. UPDATETIME,UPDATEUSERID,WAREHOUSEID
  6798. FROM TP_PC_SENDWAREHOUSE";
  6799. oracleConn.Open();
  6800. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  6801. oracleConn.Close();
  6802. sre.Data = result;
  6803. return sre;
  6804. }
  6805. catch (Exception ex)
  6806. {
  6807. if (oracleConn.ConnState == ConnectionState.Open)
  6808. {
  6809. oracleConn.Close();
  6810. }
  6811. throw ex;
  6812. }
  6813. }
  6814. /// <summary>
  6815. /// 仓库管理增删改方法
  6816. /// </summary>
  6817. /// <param name="cre"></param>
  6818. /// <param name="sUserInfo"></param>
  6819. /// <returns></returns>
  6820. public static ServiceResultEntity AddSendWareHouse(ClientRequestEntity cre, SUserInfo sUserInfo)
  6821. {
  6822. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  6823. try
  6824. {
  6825. oracleTrConn.Connect();
  6826. ServiceResultEntity sre = new ServiceResultEntity();
  6827. // 检验参数的有效性
  6828. if (cre.Data.Tables[0] == null && cre.Data.Tables[0].Rows.Count < Constant.INT_IS_ZERO)
  6829. {
  6830. sre.Result = Constant.INT_IS_THREE;
  6831. return sre;
  6832. }
  6833. int returnResult = Constant.INT_IS_TWO;
  6834. oracleTrConn.Connect();
  6835. #region 对要保存的数据进行必要的验证
  6836. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  6837. {
  6838. if (dataRow["VALUEFLAG"].ToString() == "1")
  6839. {
  6840. // 新建
  6841. if (dataRow.RowState == DataRowState.Added)
  6842. {
  6843. #region 判断是否存在相同仓库代码
  6844. string sqlString = "SELECT Count(*) FROM TP_PC_SENDWAREHOUSE WHERE WAREHOUSECODE =:WAREHOUSECODE AND VALUEFLAG=1";
  6845. OracleParameter[] oracleParameter = new OracleParameter[]
  6846. {
  6847. new OracleParameter(":WAREHOUSECODE",dataRow["WAREHOUSECODE"].ToString())
  6848. };
  6849. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
  6850. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  6851. {
  6852. returnResult = Constant.INT_IS_ONE;
  6853. break;
  6854. }
  6855. #endregion
  6856. }
  6857. else if (dataRow.RowState == DataRowState.Modified)
  6858. {
  6859. #region 判断是否存在相同代码
  6860. string sqlStrings = "SELECT Count(*) FROM TP_PC_SENDWAREHOUSE WHERE WAREHOUSECODE = :WAREHOUSECODE AND VALUEFLAG=1";
  6861. OracleParameter[] oracleParameters = new OracleParameter[]
  6862. {
  6863. new OracleParameter(":WAREHOUSECODE",dataRow["WAREHOUSECODE"]),
  6864. };
  6865. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
  6866. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  6867. {
  6868. returnResult = Constant.INT_IS_ONE;
  6869. break;
  6870. }
  6871. #endregion
  6872. }
  6873. }
  6874. }
  6875. if (returnResult == Constant.INT_IS_ONE)
  6876. {
  6877. oracleTrConn.Rollback();
  6878. oracleTrConn.Disconnect();
  6879. sre.Result = Constant.INT_IS_ONE;
  6880. return sre;
  6881. }
  6882. #endregion
  6883. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  6884. {
  6885. string types = dataRow["WAREHOUSETYPE"].ToString();
  6886. if (dataRow["WAREHOUSETYPE"].ToString() == "出库")
  6887. {
  6888. types = "1";
  6889. }
  6890. else if (dataRow["WAREHOUSETYPE"].ToString() == "入库")
  6891. {
  6892. types = "2";
  6893. }
  6894. // 新建
  6895. if (dataRow.RowState == DataRowState.Added)
  6896. {
  6897. #region 新增
  6898. #region 插入数据
  6899. string sqlInsertString = @"INSERT INTO TP_PC_SENDWAREHOUSE(WAREHOUSECODE,WAREHOUSENAME,WAREHOUSETYPE,VALUEFLAG,CREATEUSERID,UPDATEUSERID)
  6900. VALUES(:WAREHOUSECODE,:WAREHOUSENAME,:WAREHOUSETYPE,:VALUEFLAG,:CREATEUSERID,:UPDATEUSERID)";
  6901. OracleParameter[] oracleParameter = new OracleParameter[]
  6902. {
  6903. new OracleParameter(":WAREHOUSECODE",dataRow["WAREHOUSECODE"].ToString()),
  6904. new OracleParameter(":WAREHOUSENAME",dataRow["WAREHOUSENAME"].ToString()),
  6905. new OracleParameter(":WAREHOUSETYPE",types),
  6906. new OracleParameter(":VALUEFLAG", dataRow["VALUEFLAG"].ToString()),
  6907. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  6908. new OracleParameter(":UPDATEUSERID",sUserInfo.UserID)
  6909. };
  6910. oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
  6911. sre.Result = 2;
  6912. #endregion
  6913. #endregion
  6914. }
  6915. else if (dataRow.RowState == DataRowState.Modified)
  6916. {
  6917. #region 更新信息
  6918. string sqlUpdateString = "UPDATE TP_PC_SENDWAREHOUSE SET "
  6919. + " WAREHOUSECODE = :WAREHOUSECODE,"
  6920. + " WAREHOUSENAME = :WAREHOUSENAME,"
  6921. + " WAREHOUSETYPE = :WAREHOUSETYPE,"
  6922. + " VALUEFLAG = :VALUEFLAG,"
  6923. + " UPDATEUSERID = :UPDATEUSERID"
  6924. + " WHERE WAREHOUSEID = :WAREHOUSEID";
  6925. OracleParameter[] oracleParameter = new OracleParameter[]
  6926. {
  6927. new OracleParameter(":WAREHOUSECODE",dataRow["WAREHOUSECODE"].ToString()),
  6928. new OracleParameter(":WAREHOUSENAME",dataRow["WAREHOUSENAME"].ToString()),
  6929. new OracleParameter(":WAREHOUSETYPE",types),
  6930. new OracleParameter(":VALUEFLAG",dataRow["VALUEFLAG"].ToString()),
  6931. new OracleParameter(":UPDATEUSERID",sUserInfo.UserID),
  6932. new OracleParameter(":WAREHOUSEID",dataRow["WAREHOUSEID"].ToString()),
  6933. };
  6934. oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
  6935. sre.Result = 2;
  6936. #endregion
  6937. }
  6938. else if (dataRow.RowState == DataRowState.Deleted)
  6939. {
  6940. #region 删除信息
  6941. string sqlDeleteString = "DELETE TP_PC_SENDWAREHOUSE WHERE WAREHOUSEID = :WAREHOUSEID";
  6942. OracleParameter[] oracleParameter = new OracleParameter[]
  6943. {
  6944. new OracleParameter(":WAREHOUSEID",dataRow["WAREHOUSEID",DataRowVersion.Original].ToString())
  6945. };
  6946. oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
  6947. sre.Result = 2;
  6948. #endregion
  6949. }
  6950. }
  6951. if (Convert.ToInt32(sre.Result) == 0)
  6952. {
  6953. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  6954. return sre;
  6955. }
  6956. oracleTrConn.Commit();
  6957. return sre;
  6958. }
  6959. catch (Exception ex)
  6960. {
  6961. if (oracleTrConn != null &&
  6962. oracleTrConn.ConnState == ConnectionState.Open)
  6963. {
  6964. oracleTrConn.Rollback();
  6965. }
  6966. throw ex;
  6967. }
  6968. finally
  6969. {
  6970. if (oracleTrConn != null &&
  6971. oracleTrConn.ConnState == ConnectionState.Open)
  6972. {
  6973. oracleTrConn.Disconnect();
  6974. }
  6975. }
  6976. }
  6977. /// <summary>
  6978. /// 获取车牌号全部数据
  6979. /// </summary>
  6980. /// <param name="sUserInfo">用户基本信息</param>
  6981. /// <returns></returns>
  6982. /// <remarks>
  6983. /// 2024.1.15 张忠帅 新建
  6984. /// </remarks>
  6985. public static ServiceResultEntity GetNumberplate()
  6986. {
  6987. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  6988. try
  6989. {
  6990. ServiceResultEntity sre = new ServiceResultEntity();
  6991. string sqlString = @"SELECT * FROM TP_PC_NUMBERPLATE ";
  6992. oracleConn.Open();
  6993. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  6994. oracleConn.Close();
  6995. sre.Data = result;
  6996. return sre;
  6997. }
  6998. catch (Exception ex)
  6999. {
  7000. if (oracleConn.ConnState == ConnectionState.Open)
  7001. {
  7002. oracleConn.Close();
  7003. }
  7004. throw ex;
  7005. }
  7006. }
  7007. /// <summary>
  7008. /// 车牌号增删改方法
  7009. /// </summary>
  7010. /// <param name="cre"></param>
  7011. /// <param name="sUserInfo"></param>
  7012. /// <returns></returns>
  7013. public static ServiceResultEntity AddNumberplate(ClientRequestEntity cre, SUserInfo sUserInfo)
  7014. {
  7015. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  7016. try
  7017. {
  7018. oracleTrConn.Connect();
  7019. ServiceResultEntity sre = new ServiceResultEntity();
  7020. // 检验参数的有效性
  7021. if (cre.Data.Tables[0] == null && cre.Data.Tables[0].Rows.Count < Constant.INT_IS_ZERO)
  7022. {
  7023. sre.Result = Constant.INT_IS_THREE;
  7024. return sre;
  7025. }
  7026. int returnResult = Constant.INT_IS_TWO;
  7027. oracleTrConn.Connect();
  7028. #region 对要保存的数据进行必要的验证
  7029. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  7030. {
  7031. if (dataRow["VALUEFLAG"].ToString() == "1")
  7032. {
  7033. // 新建窑车
  7034. if (dataRow.RowState == DataRowState.Added)
  7035. {
  7036. #region 判断是否存在相同仓库代码
  7037. string sqlString = "SELECT Count(*) FROM TP_PC_NUMBERPLATE WHERE NUMBERPLATECODE =:NUMBERPLATECODE AND VALUEFLAG=1";
  7038. OracleParameter[] oracleParameter = new OracleParameter[]
  7039. {
  7040. new OracleParameter(":NUMBERPLATECODE",dataRow["NUMBERPLATECODE"].ToString())
  7041. };
  7042. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
  7043. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  7044. {
  7045. returnResult = Constant.INT_IS_ONE;
  7046. break;
  7047. }
  7048. #endregion
  7049. }
  7050. else if (dataRow.RowState == DataRowState.Modified)
  7051. {
  7052. #region 判断是否存在相同代码
  7053. string sqlStrings = "SELECT Count(*) FROM TP_PC_NUMBERPLATE WHERE NUMBERPLATECODE = :NUMBERPLATECODE AND VALUEFLAG=1 ";
  7054. OracleParameter[] oracleParameters = new OracleParameter[]
  7055. {
  7056. new OracleParameter(":NUMBERPLATECODE",dataRow["NUMBERPLATECODE"]),
  7057. };
  7058. string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
  7059. if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
  7060. {
  7061. returnResult = Constant.INT_IS_ONE;
  7062. break;
  7063. }
  7064. #endregion
  7065. }
  7066. }
  7067. }
  7068. if (returnResult == Constant.INT_IS_ONE)
  7069. {
  7070. oracleTrConn.Rollback();
  7071. oracleTrConn.Disconnect();
  7072. sre.Result = Constant.INT_IS_ONE;
  7073. return sre;
  7074. }
  7075. #endregion
  7076. foreach (DataRow dataRow in cre.Data.Tables[0].Rows)
  7077. {
  7078. // 新建
  7079. if (dataRow.RowState == DataRowState.Added)
  7080. {
  7081. #region 新增
  7082. #region 插入数据
  7083. string sqlInsertString = @"INSERT INTO TP_PC_NUMBERPLATE(NUMBERPLATECODE,VALUEFLAG,CREATEUSERID,UPDATEUSERID)
  7084. VALUES(:NUMBERPLATECODE,:VALUEFLAG,:CREATEUSERID,:UPDATEUSERID)";
  7085. OracleParameter[] oracleParameter = new OracleParameter[]
  7086. {
  7087. new OracleParameter(":NUMBERPLATECODE",dataRow["NUMBERPLATECODE"].ToString()),
  7088. new OracleParameter(":VALUEFLAG", dataRow["VALUEFLAG"].ToString()),
  7089. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  7090. new OracleParameter(":UPDATEUSERID",sUserInfo.UserID)
  7091. };
  7092. oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
  7093. sre.Result = 2;
  7094. #endregion
  7095. #endregion
  7096. }
  7097. else if (dataRow.RowState == DataRowState.Modified)
  7098. {
  7099. #region 更新信息
  7100. string sqlUpdateString = "UPDATE TP_PC_NUMBERPLATE SET "
  7101. + " NUMBERPLATECODE = :NUMBERPLATECODE,"
  7102. + " VALUEFLAG = :VALUEFLAG,"
  7103. + " UPDATEUSERID = :UPDATEUSERID"
  7104. + " WHERE NUMBERPLATEID = :NUMBERPLATEID";
  7105. OracleParameter[] oracleParameter = new OracleParameter[]
  7106. {
  7107. new OracleParameter(":NUMBERPLATECODE",dataRow["NUMBERPLATECODE"].ToString()),
  7108. new OracleParameter(":VALUEFLAG",dataRow["VALUEFLAG"].ToString()),
  7109. new OracleParameter(":UPDATEUSERID",sUserInfo.UserID),
  7110. new OracleParameter(":NUMBERPLATEID",dataRow["NUMBERPLATEID"].ToString()),
  7111. };
  7112. oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
  7113. sre.Result = 2;
  7114. #endregion
  7115. }
  7116. else if (dataRow.RowState == DataRowState.Deleted)
  7117. {
  7118. #region 删除信息
  7119. string sqlDeleteString = "DELETE TP_PC_NUMBERPLATE WHERE NUMBERPLATEID = :NUMBERPLATEID";
  7120. OracleParameter[] oracleParameter = new OracleParameter[]
  7121. {
  7122. new OracleParameter(":NUMBERPLATEID",dataRow["NUMBERPLATEID",DataRowVersion.Original].ToString())
  7123. };
  7124. oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
  7125. sre.Result = 2;
  7126. #endregion
  7127. }
  7128. }
  7129. if (Convert.ToInt32(sre.Result) == 0)
  7130. {
  7131. sre.Status = Constant.ServiceResultStatus.NoModifyData;
  7132. return sre;
  7133. }
  7134. oracleTrConn.Commit();
  7135. return sre;
  7136. }
  7137. catch (Exception ex)
  7138. {
  7139. if (oracleTrConn != null &&
  7140. oracleTrConn.ConnState == ConnectionState.Open)
  7141. {
  7142. oracleTrConn.Rollback();
  7143. }
  7144. throw ex;
  7145. }
  7146. finally
  7147. {
  7148. if (oracleTrConn != null &&
  7149. oracleTrConn.ConnState == ConnectionState.Open)
  7150. {
  7151. oracleTrConn.Disconnect();
  7152. }
  7153. }
  7154. }
  7155. #endregion
  7156. #region 产品线性图
  7157. /// <summary>
  7158. /// 获取产品线性图
  7159. /// </summary>
  7160. /// <param name="sUserInfo">产品线性图</param>
  7161. /// <returns></returns>
  7162. /// <remarks>
  7163. /// 2024.4.17 冯林勇 新建
  7164. /// </remarks>
  7165. public static ServiceResultEntity GetGoodsImage(SUserInfo sUserInfo, ClientRequestEntity cre)
  7166. {
  7167. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7168. try
  7169. {
  7170. oracleConn.Open();
  7171. ServiceResultEntity sre = new ServiceResultEntity();
  7172. string sqlString = @"SELECT * FROM TP_MST_GOODSFILENAME WHERE 1=1";
  7173. if (cre.Properties["MATNR"] != null)
  7174. {
  7175. sqlString += @"AND MATERIALCODE = :MATERIALCODE";
  7176. }
  7177. OracleParameter[] oracleParameter = new OracleParameter[]
  7178. {
  7179. new OracleParameter(":MATERIALCODE",cre.Properties["MATNR"])
  7180. };
  7181. DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
  7182. //byte[] a = oracleConn.GetSqlResultToBt(sqlString, oracleParameter);
  7183. oracleConn.Close();
  7184. sre.Data = result;
  7185. sre.Status = Constant.ServiceResultStatus.Success;
  7186. return sre;
  7187. }
  7188. catch (Exception ex)
  7189. {
  7190. if (oracleConn.ConnState == ConnectionState.Open)
  7191. {
  7192. oracleConn.Close();
  7193. }
  7194. throw ex;
  7195. }
  7196. }
  7197. /// <summary>
  7198. /// 插入
  7199. /// </summary>
  7200. /// <param name="cre"></param>
  7201. /// <param name="sUserInfo"></param>
  7202. /// <returns></returns>
  7203. public static ServiceResultEntity AddGoodsImage(SUserInfo sUserInfo, ClientRequestEntity cre, List<GoodsImageEntity> imgList)
  7204. {
  7205. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  7206. try
  7207. {
  7208. oracleTrConn.Connect();
  7209. ServiceResultEntity sre = new ServiceResultEntity();
  7210. int res = 0;
  7211. foreach (GoodsImageEntity img in imgList)
  7212. {
  7213. #region 插入数据
  7214. string sqlInsertString = @"INSERT INTO TP_MST_GOODSFILENAME (MATERIALCODE,IMAGE)VALUES(:MATERIALCODE,:IMAGE)";
  7215. OracleParameter[] addoracleParameter = new OracleParameter[]
  7216. {
  7217. new OracleParameter(":MATERIALCODE",cre.Properties["MATNR"].ToString()),
  7218. new OracleParameter(":IMAGE",OracleDbType.Blob,img.Image,ParameterDirection.Input)
  7219. };
  7220. res += oracleTrConn.ExecuteNonQuery(sqlInsertString, addoracleParameter);
  7221. if (res > 0)
  7222. {
  7223. sre.Status = Constant.ServiceResultStatus.Success;
  7224. sre.OtherStatus = res;
  7225. }
  7226. else
  7227. {
  7228. sre.Status = Constant.ServiceResultStatus.SystemError;
  7229. sre.OtherStatus = 0;
  7230. }
  7231. #endregion
  7232. }
  7233. oracleTrConn.Commit();
  7234. return sre;
  7235. }
  7236. catch (Exception ex)
  7237. {
  7238. if (oracleTrConn != null &&
  7239. oracleTrConn.ConnState == ConnectionState.Open)
  7240. {
  7241. oracleTrConn.Rollback();
  7242. }
  7243. throw ex;
  7244. }
  7245. finally
  7246. {
  7247. if (oracleTrConn != null &&
  7248. oracleTrConn.ConnState == ConnectionState.Open)
  7249. {
  7250. oracleTrConn.Disconnect();
  7251. }
  7252. }
  7253. }
  7254. /// <summary>
  7255. /// 删除产品线性图
  7256. /// </summary>
  7257. /// <param name="cre"></param>
  7258. /// <param name="sUserInfo"></param>
  7259. /// <returns></returns>
  7260. public static ServiceResultEntity DeleteGoodsImage(SUserInfo sUserInfo, ClientRequestEntity cre)
  7261. {
  7262. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  7263. try
  7264. {
  7265. oracleTrConn.Connect();
  7266. ServiceResultEntity sre = new ServiceResultEntity();
  7267. #region 删除数据
  7268. string sqlInsertString = @"DELETE FROM TP_MST_GOODSFILENAME WHERE MATERIALCODE = :MATERIALCODE";
  7269. OracleParameter[] addoracleParameter = new OracleParameter[]
  7270. {
  7271. new OracleParameter(":MATERIALCODE",cre.Properties["MATERIALCODE"].ToString()),
  7272. };
  7273. int res = oracleTrConn.ExecuteNonQuery(sqlInsertString, addoracleParameter);
  7274. if (res > 0)
  7275. {
  7276. sre.Status = Constant.ServiceResultStatus.Success;
  7277. sre.OtherStatus = res;
  7278. }
  7279. else
  7280. {
  7281. sre.Status = Constant.ServiceResultStatus.SystemError;
  7282. sre.OtherStatus = 0;
  7283. }
  7284. #endregion
  7285. oracleTrConn.Commit();
  7286. return sre;
  7287. }
  7288. catch (Exception ex)
  7289. {
  7290. if (oracleTrConn != null &&
  7291. oracleTrConn.ConnState == ConnectionState.Open)
  7292. {
  7293. oracleTrConn.Rollback();
  7294. }
  7295. throw ex;
  7296. }
  7297. finally
  7298. {
  7299. if (oracleTrConn != null &&
  7300. oracleTrConn.ConnState == ConnectionState.Open)
  7301. {
  7302. oracleTrConn.Disconnect();
  7303. }
  7304. }
  7305. }
  7306. #endregion
  7307. /// <summary>
  7308. /// 查找最后的责任工序
  7309. /// </summary>
  7310. /// <param name="sUserInfo"></param>
  7311. /// <param name="cre"></param>
  7312. /// <returns></returns>
  7313. public static ServiceResultEntity ReadAllDataByProductCode(SUserInfo sUserInfo, ClientRequestEntity cre)
  7314. {
  7315. ServiceResultEntity sre = new ServiceResultEntity();
  7316. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7317. try
  7318. {
  7319. string sqlString = "SELECT P.*, A.ProcedureCode, A.ProcedureName FROM " +
  7320. "TP_PM_INPRODUCTION P INNER JOIN TP_PC_PROCEDURE A ON P.PROCEDUREID = A.PROCEDUREID " +
  7321. "WHERE P.BARCODE = '"+ cre.Properties["BARCODE"].ToString() + "' ";
  7322. oracleConn.Open();
  7323. DataSet result = oracleConn.GetSqlResultToDs(sqlString);
  7324. oracleConn.Close();
  7325. sre.Data = result;
  7326. sre.Status = Constant.ServiceResultStatus.Success;
  7327. return sre;
  7328. }
  7329. catch (Exception ex)
  7330. {
  7331. if (oracleConn.ConnState == ConnectionState.Open)
  7332. {
  7333. oracleConn.Close();
  7334. }
  7335. throw ex;
  7336. }
  7337. }
  7338. /// <summary>
  7339. /// 查找员工信息
  7340. /// </summary>
  7341. /// <param name="sUserInfo"></param>
  7342. /// <param name="cre"></param>
  7343. /// <returns></returns>
  7344. public static ServiceResultEntity ReadStaffInformation(SUserInfo sUserInfo, ClientRequestEntity cre)
  7345. {
  7346. ServiceResultEntity sre = new ServiceResultEntity();
  7347. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7348. try
  7349. {
  7350. string strSql = " SELECT TUser.userid,Staff.Staffid,Staff.Staffname,Staff.Organizationid,"
  7351. + " Staff.Jobs,Staff.Staffstatus,Staff.Staffcode,'' Remarks,"
  7352. + " (CASE Staff.staffStatus"
  7353. + " WHEN 0 THEN '未入职'"
  7354. + " WHEN 1 THEN '试用 '"
  7355. + " WHEN 2 THEN '转正'"
  7356. + " WHEN 3 THEN '离职'"
  7357. + " ELSE '' END) AS staffStatusName,"
  7358. + " Jobs.Jobsname,Org.Organizationname,TUser.UserCode,TUser.UserName,TUserJobs.Jobsname as UJobsName,TUserJobs.JobsId as UJobsId"
  7359. + " FROM TP_HR_Staff Staff "
  7360. + " LEFT JOIN TP_MST_Jobs Jobs ON Jobs.Jobsid = Staff.Jobs "
  7361. + " LEFT JOIN TP_MST_Organization Org ON Org.Organizationid = Staff.Organizationid "
  7362. + " LEFT JOIN TP_MST_UserStaff TUserStaff on TUserStaff.StaffID = Staff.StaffID "
  7363. + " LEFT JOIN TP_MST_User TUser on TUserStaff.Userid = TUser.Userid"
  7364. + " LEFT JOIN TP_MST_Jobs TUserJobs on TUserJobs.Jobsid = TUserStaff.Ujobsid"
  7365. + " WHERE Staff.Accountid = :accountID "
  7366. + " AND TUser.Userid = :userId"
  7367. + " AND Staff.Staffstatus in(1,2)";
  7368. OracleParameter[] paras = new OracleParameter[]{
  7369. new OracleParameter(":accountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input),
  7370. new OracleParameter(":userId", OracleDbType.Int32, cre.Properties["USERID"], ParameterDirection.Input),
  7371. };
  7372. oracleConn.Open();
  7373. DataSet result = oracleConn.GetSqlResultToDs(strSql, paras);
  7374. oracleConn.Close();
  7375. sre.Data = result;
  7376. sre.Status = Constant.ServiceResultStatus.Success;
  7377. return sre;
  7378. }
  7379. catch (Exception ex)
  7380. {
  7381. if (oracleConn.ConnState == ConnectionState.Open)
  7382. {
  7383. oracleConn.Close();
  7384. }
  7385. throw ex;
  7386. }
  7387. }
  7388. /// <summary>
  7389. /// QC检验计划分析明细汇总表
  7390. /// </summary>
  7391. /// <param name="sUserInfo"></param>
  7392. /// <param name="cre"></param>
  7393. /// <returns></returns>
  7394. public static ServiceResultEntity huizhong(SUserInfo sUserInfo, ClientRequestEntity cre)
  7395. {
  7396. ServiceResultEntity sre = new ServiceResultEntity();
  7397. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7398. string classes = (cre.Properties["classes"] == null || cre.Properties["classes"] == "" || cre.Properties["classes"] == string.Empty) ? "" : "AND fp.classestype = '" + cre.Properties["classes"].ToString() + "'";
  7399. string summary = bool.Parse(cre.Properties["summary"].ToString()) == true ? "WHERE tt.gid in(6, 7)" : "";
  7400. try
  7401. {
  7402. string strSql = "SELECT tt.gid , tt.goodscode ,tt.goodsid ,decode(tt.gid , 6 , '小计【' || tt.configtype || '】' , 7 , '总计' , 0 , tt.configtype " +
  7403. ", '--') configtype ,tt.planquantity1 ,tt.quantity1 ,to_char((tt.quantity1 / tt.planquantity1) * 100, '990.00') || '%' AS avgquantity" +
  7404. ", tt.unqualifiedquantity1 ,case when tt.quantity1 = 0 then 0 || '%' else to_char((tt.unqualifiedquantity1 / tt.quantity1) * 100, '990.00') || '%' end AS unqualifiedrate" +
  7405. " FROM (SELECT grouping_id(t.goodscode, t.goodsid, t.configtype) gid " +
  7406. ", t.goodscode , t.goodsid , t.configtype , t.planquantity , t.quantity , t.avgquantity , t.unqualifiedquantity , t.unqualifiedrate , sum(t.planquantity) planquantity1 , sum(t.quantity) quantity1 , sum(t.unqualifiedquantity) unqualifiedquantity1" +
  7407. " FROM (SELECT fp.goodscode , fp.goodsid , fp.configtype , SUM(fp.planinspectionquantity) planquantity , SUM(fp.inspectionquantity) quantity " +
  7408. " , SUM(fp.inspectionquantity) / SUM(fp.planinspectionquantity) * 100 || '%' AS avgquantity , COUNT(DISTINCT fd.barcode) unqualifiedquantity , " +
  7409. "CASE WHEN SUM(fp.inspectionquantity) = 0 THEN SUM(0) || '%' ELSE COUNT(DISTINCT fd.barcode) / SUM(fp.inspectionquantity) * 100 || '%' END AS unqualifiedrate " +
  7410. " FROM tp_pm_fqcitemsplan fp LEFT JOIN tp_pm_fqcitemsdata fd ON fd.planid = fp.planid AND fd.isqualified = 0 " +
  7411. "WHERE fp.plandate >= DATE '" + cre.Properties["startdata"].ToString() + "' AND fp.plandate <= DATE '"+ cre.Properties["enddata"].ToString() + "' " +
  7412. classes +
  7413. "AND fp.configtype IN('大件', '小件') AND fp.planinspectionquantity <> 0 GROUP BY fp.goodsid, fp.goodscode , fp.configtype) t " +
  7414. "GROUP BY GROUPING SETS((t.goodscode, t.goodsid, t.configtype, t.planquantity, t.quantity, t.avgquantity, t.unqualifiedquantity, t.unqualifiedrate), (t.configtype), ())) tt " +
  7415. summary;
  7416. oracleConn.Open();
  7417. DataSet result = oracleConn.GetSqlResultToDs(strSql );
  7418. oracleConn.Close();
  7419. sre.Data = result;
  7420. sre.Status = Constant.ServiceResultStatus.Success;
  7421. return sre;
  7422. }
  7423. catch (Exception ex)
  7424. {
  7425. if (oracleConn.ConnState == ConnectionState.Open)
  7426. {
  7427. oracleConn.Close();
  7428. }
  7429. throw ex;
  7430. }
  7431. }
  7432. /// <summary>
  7433. /// QC检验计划分析明细表
  7434. /// </summary>
  7435. /// <param name="sUserInfo"></param>
  7436. /// <param name="cre"></param>
  7437. /// <returns></returns>
  7438. public static ServiceResultEntity mingxi(SUserInfo sUserInfo, ClientRequestEntity cre)
  7439. {
  7440. ServiceResultEntity sre = new ServiceResultEntity();
  7441. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7442. string classes = (cre.Properties["classes"] == null || cre.Properties["classes"].ToString() == "" || cre.Properties["classes"].ToString() == string.Empty) ? "" : "AND fp.classestype = '" + cre.Properties["classes"] .ToString()+ "'";
  7443. string GOODSID = (cre.Properties["GOODSID"] == null || cre.Properties["GOODSID"].ToString() == "" || cre.Properties["GOODSID"].ToString() == string.Empty) ? "" : "AND fd.goodsid = '"+ cre.Properties["GOODSID"] .ToString().Trim()+ "'";
  7444. string configtype= (cre.Properties["configtype"] == null || cre.Properties["configtype"].ToString() == "" || cre.Properties["configtype"].ToString() == string.Empty) ? "" :"AND fp.configtype = '"+ cre.Properties["configtype"] .ToString()+ "' ";
  7445. try
  7446. {
  7447. string strSql = " SELECT " +
  7448. "fd.barcode ," +
  7449. "g.goodscode ," +
  7450. "fp.configtype ," +
  7451. "d.dictionaryvalue ," +
  7452. "fid.inspectitem ," +
  7453. "fid.inspectmark ," +
  7454. "fid.technicalrequirement ," +
  7455. "fid.upperlimit2 ," +
  7456. "fid.lowerlimit2 ," +
  7457. "fid.inspectcount ," +
  7458. "'不合格' inspectvalue ," +
  7459. "fid.createtime ,u.usercode ,u.username " +
  7460. ",listagg(inspectvalue, ', ') within GROUP(ORDER BY inspectvalue) AS remarks " +
  7461. " FROM tp_pm_fqcitemsplan fp " +
  7462. " LEFT JOIN tp_pm_fqcitemsdata fd " +
  7463. "ON fd.planid = fp.planid " +
  7464. " LEFT JOIN tp_pm_fqcitemsdetail fid " +
  7465. "ON fid.itemsdetailid = fd.itemsdetailid " +
  7466. " LEFT JOIN tp_mst_goods g " +
  7467. "ON g.goodsid = fd.goodsid " +
  7468. "LEFT JOIN tp_mst_datadictionary d " +
  7469. "ON d.dictionaryid = fd.inspecttype " +
  7470. " LEFT JOIN tp_mst_user u " +
  7471. "ON u.userid = fd.createuserid " +
  7472. "WHERE fp.plandate >= DATE '" + cre.Properties["startdata"].ToString() + "' " +
  7473. " AND fp.plandate <= DATE '" + cre.Properties["enddata"].ToString() + "' " +
  7474. classes +
  7475. configtype +
  7476. "AND fp.planinspectionquantity <> 0 " +
  7477. "AND fd.isqualified = 0 " +
  7478. GOODSID +
  7479. "GROUP BY fd.barcode " +
  7480. " ,g.goodscode ," +
  7481. "fp.configtype," +
  7482. "d.dictionaryvalue ," +
  7483. "fid.inspectitem ," +
  7484. "fid.inspectmark ," +
  7485. "fid.technicalrequirement ," +
  7486. "fid.upperlimit2 ," +
  7487. "fid.lowerlimit2 ," +
  7488. "fid.inspectcount ," +
  7489. "'不合格' ," +
  7490. "fid.createtime ," +
  7491. "u.usercode ," +
  7492. "u.username";
  7493. oracleConn.Open();
  7494. DataSet result = oracleConn.GetSqlResultToDs(strSql);
  7495. oracleConn.Close();
  7496. sre.Data = result;
  7497. sre.Status = Constant.ServiceResultStatus.Success;
  7498. return sre;
  7499. }
  7500. catch (Exception ex)
  7501. {
  7502. if (oracleConn.ConnState == ConnectionState.Open)
  7503. {
  7504. oracleConn.Close();
  7505. }
  7506. throw ex;
  7507. }
  7508. }
  7509. /// <summary>
  7510. /// 获取商标
  7511. /// </summary>
  7512. /// <param name="sUserInfo"></param>
  7513. /// <param name="cre"></param>
  7514. /// <remarks>李士越 2024-12-10</remarks>
  7515. public static ServiceResultEntity ReadTrademark(SUserInfo sUserInfo, ClientRequestEntity cre)
  7516. {
  7517. ServiceResultEntity sre = new ServiceResultEntity();
  7518. IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  7519. string goodsid = (cre.Properties["goodsid"] == null || cre.Properties["goodsid"].ToString() == "" || cre.Properties["goodsid"].ToString() == string.Empty) ? "" : cre.Properties["goodsid"].ToString();
  7520. try
  7521. {
  7522. string strSql = "SELECT DISTINCT TO_CHAR(L.LOGONAME) AS LOGO, L.LOGOID " +
  7523. " FROM TP_MST_GOODSLOGOSAP GLS " +
  7524. "INNER JOIN TP_MST_LOGO L ON L.LOGOID = GLS.LOGOID " +
  7525. "WHERE GLS.GOODSID IN("+ goodsid + ")";
  7526. oracleConn.Open();
  7527. DataSet result = oracleConn.GetSqlResultToDs(strSql);
  7528. oracleConn.Close();
  7529. sre.Data = result;
  7530. sre.Status = Constant.ServiceResultStatus.Success;
  7531. return sre;
  7532. }
  7533. catch (Exception ex)
  7534. {
  7535. if (oracleConn.ConnState == ConnectionState.Open)
  7536. {
  7537. oracleConn.Close();
  7538. }
  7539. throw ex;
  7540. }
  7541. }
  7542. /// <summary>
  7543. /// 更新成型线商标
  7544. /// </summary>
  7545. /// <param name="sUserInfo"></param>
  7546. /// <param name="cre"></param>
  7547. /// <returns></returns>
  7548. public static ServiceResultEntity UpDataTrademark(SUserInfo sUserInfo, ClientRequestEntity cre)
  7549. {
  7550. ServiceResultEntity sre = new ServiceResultEntity();
  7551. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  7552. List<Dictionary<string, string>> actualList = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(cre.Properties["Respone"].ToString());
  7553. try
  7554. {
  7555. foreach (var item in actualList)
  7556. {
  7557. string result = oracleTrConn.GetSqlResultToStr("SELECT LOGOID FROM TP_MST_GOODS WHERE GOODSID= " + item["GOODSID"]);
  7558. if (result!= item["LOGOID"]&& item["LOGOID"]!="")
  7559. {
  7560. string strSql = "UPDATE TP_PC_GROUTINGLINEDETAIL SET LOGOID=" + item["LOGOID"] + " WHERE GROUTINGLINEDETAILID=" + item["GROUTINGLINEDETAILID"];
  7561. oracleTrConn.ExecuteNonQuery(strSql);
  7562. }
  7563. }
  7564. oracleTrConn.Commit();
  7565. sre.Status = Constant.ServiceResultStatus.Success;
  7566. }
  7567. catch (Exception ex)
  7568. {
  7569. sre.Status = Constant.ServiceResultStatus.SystemError;
  7570. if (oracleTrConn != null &&
  7571. oracleTrConn.ConnState == ConnectionState.Open)
  7572. {
  7573. oracleTrConn.Rollback();
  7574. }
  7575. throw ex;
  7576. }
  7577. finally
  7578. {
  7579. if (oracleTrConn != null &&
  7580. oracleTrConn.ConnState == ConnectionState.Open)
  7581. {
  7582. oracleTrConn.Disconnect();
  7583. }
  7584. }
  7585. return sre;
  7586. }
  7587. }
  7588. }