SystemModuleLogic.cs 288 KB

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