SystemModuleLogic.cs 289 KB

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