SystemModuleLogic.cs 300 KB

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