| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271 |
- /*******************************************************************************
- * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:SystemModuleDAL.cs
- * 2.功能描述:系统管理更新db逻辑处理
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 张国印 2014/09/12 1.00 新建
- *******************************************************************************/
- using System;
- using System.Text;
- using System.Data;
- using Dongke.IBOSS.PRD.Basics.DataAccess;
- using Dongke.IBOSS.PRD.Basics.BaseResources;
- using Dongke.IBOSS.PRD.Basics.Library;
- using Dongke.IBOSS.PRD.Service.DataModels;
- using Dongke.IBOSS.PRD.WCF.DataModels;
- using Oracle.DataAccess.Client;
- namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
- {
- /// <summary>
- /// 系统管理更新db逻辑处理
- /// </summary>
- public partial class SystemModuleDAL
- {
- #region 数据字典和基础数据相关
- /// <summary>
- /// 保存窑炉数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatKilnData">窑炉数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.01 任海 新建
- /// </remarks>
- public static int SaveKilnData(SUserInfo sUserInfo, DataTable datatKilnData)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatKilnData == null && datatKilnData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的窑炉数据进行必要的验证
- foreach (DataRow dataRow in datatKilnData.Rows)
- {
- // 新建窑炉
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的窑炉代码
- string sqlString = "SELECT Count(*) FROM TP_MST_Kiln WHERE AccountID = :AccountID and KilnCode =:KilnCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":KilnCode",dataRow["KilnCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的窑炉代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_Kiln WHERE AccountID = :AccountID and KilnCode = :KilnCode and KilnID <> :KilnID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":KilnCode",dataRow["KilnCode"]),
- new OracleParameter(":KilnID",dataRow["KilnID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatKilnData.Rows)
- {
- // 新建窑炉
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增窑炉信息
- #region 向T_MST_Kiln插入数据
- string sqlInsertString = "INSERT INTO TP_MST_Kiln "
- + "(KilnCode"
- + ",KilnName"
- + ",KilnType"
- + ",InOutMinTimeIinterval"
- + ",OutMinTimeIinterval"
- + ",TurnoverInterval"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:KilnCode"
- + ",:KilnName"
- + ",:KilnType"
- + ",decode(:InOutMinTimeIinterval, null, 0, :InOutMinTimeIinterval)"
- + ",decode(:OutMinTimeIinterval, null, 0, :OutMinTimeIinterval)"
- + ",decode(:TurnoverInterval, null, 0, :TurnoverInterval)"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnCode",dataRow["KilnCode"].ToString()),
- new OracleParameter(":KilnName",dataRow["KilnName"].ToString()),
- new OracleParameter(":KilnType",dataRow["KilnType"].ToString()),
- new OracleParameter(":InOutMinTimeIinterval",dataRow["InOutMinTimeIinterval"]),
- new OracleParameter(":OutMinTimeIinterval",dataRow["OutMinTimeIinterval"]),
- new OracleParameter(":TurnoverInterval",dataRow["TurnoverInterval"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新窑炉信息
- string sqlUpdateString = "UPDATE TP_MST_Kiln SET "
- + " KilnCode = :KilnCode,"
- + " KilnName = :KilnName,"
- + " KilnType = :KilnType,"
- + " InOutMinTimeIinterval = decode(:InOutMinTimeIinterval, null, 0, :InOutMinTimeIinterval),"
- + " OutMinTimeIinterval = decode(:OutMinTimeIinterval, null, 0, :OutMinTimeIinterval),"
- + " TurnoverInterval = decode(:TurnoverInterval, null, 0, :TurnoverInterval),"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE KilnID = :KilnID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnCode",dataRow["KilnCode"].ToString()),
- new OracleParameter(":KilnName",dataRow["KilnName"].ToString()),
- new OracleParameter(":KilnType",dataRow["KilnType"].ToString()),
- new OracleParameter(":InOutMinTimeIinterval",dataRow["InOutMinTimeIinterval"]),
- new OracleParameter(":OutMinTimeIinterval",dataRow["OutMinTimeIinterval"]),
- new OracleParameter(":TurnoverInterval",dataRow["TurnoverInterval"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":KilnID",dataRow["KilnID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除窑炉信息
- string sqlDeleteString = "DELETE TP_MST_Kiln WHERE KilnID = :KilnID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnID",dataRow["KilnID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存窑车数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatKilnCarData">窑车数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.01 任海 新建
- /// </remarks>
- public static int SaveKilnCarData(SUserInfo sUserInfo, DataTable datatKilnCarData)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatKilnCarData == null && datatKilnCarData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的窑车数据进行必要的验证
- foreach (DataRow dataRow in datatKilnCarData.Rows)
- {
- // 新建窑车
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的窑车代码
- string sqlString = "SELECT Count(*) FROM TP_MST_KilnCar WHERE AccountID = :AccountID and KilnCarCode =:KilnCarCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":KilnCarCode",dataRow["KilnCarCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的窑车代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_KilnCar WHERE AccountID = :AccountID and KilnCarCode = :KilnCarCode and KilnCarID <> :KilnCarID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":KilnCarCode",dataRow["KilnCarCode"]),
- new OracleParameter(":KilnCarID",dataRow["KilnCarID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatKilnCarData.Rows)
- {
- // 新建窑车
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增窑车信息
- #region 向TP_MST_KilnCar插入数据
- string sqlInsertString = "INSERT INTO TP_MST_KilnCar "
- + "(KilnID"
- + ",KilnCarCode"
- + ",KilnCarName"
- + ",MaxGoodsNum"
- + ",KilnCarNum"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:KilnID"
- + ",:KilnCarCode"
- + ",:KilnCarName"
- + ",:MaxGoodsNum"
- + ",:KilnCarNum"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnID",dataRow["KilnID"].ToString()),
- new OracleParameter(":KilnCarCode",dataRow["KilnCarCode"].ToString()),
- new OracleParameter(":KilnCarName",dataRow["KilnCarName"].ToString()),
- new OracleParameter(":MaxGoodsNum",(dataRow["MaxGoodsNum"] == null || dataRow["MaxGoodsNum"] == DBNull.Value)?0:dataRow["MaxGoodsNum"]),
- new OracleParameter(":KilnCarNum",dataRow["KilnCarNum"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新窑车信息
- string sqlUpdateString = "UPDATE TP_MST_KilnCar SET "
- + " KilnID = :KilnID,"
- + " KilnCarCode = :KilnCarCode,"
- + " KilnCarName = :KilnCarName,"
- + " MaxGoodsNum = :MaxGoodsNum,"
- + " KilnCarNum = :KilnCarNum,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE KilnCarID = :KilnCarID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnID",dataRow["KilnID"].ToString()),
- new OracleParameter(":KilnCarCode",dataRow["KilnCarCode"].ToString()),
- new OracleParameter(":KilnCarName",dataRow["KilnCarName"].ToString()),
- new OracleParameter(":MaxGoodsNum",(dataRow["MaxGoodsNum"] == null || dataRow["MaxGoodsNum"] == DBNull.Value)?0:dataRow["MaxGoodsNum"]),
- new OracleParameter(":KilnCarNum",dataRow["KilnCarNum"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":KilnCarID",dataRow["KilnCarID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除窑车信息
- string sqlDeleteString = "DELETE TP_MST_KilnCar WHERE KilnCarID = :KilnCarID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":KilnCarID",dataRow["KilnCarID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存数据字典数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDictionaryData">数据字典数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.05 任海 新建
- /// </remarks>
- public static int SaveDictionaryData(SUserInfo sUserInfo, DataTable dataDictionaryData)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDictionaryData == null && dataDictionaryData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- foreach (DataRow dataRow in dataDictionaryData.Rows)
- {
- // 新建数据字典
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增数据字典信息
- #region 向T_MST_DataDictionary插入数据
- string sqlInsertString = "INSERT INTO TP_MST_DataDictionary "
- + "(DictionaryType"
- + ",DictionaryValue"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DictionaryType"
- + ",:DictionaryValue"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DictionaryType",dataRow["DictionaryType"].ToString()),
- new OracleParameter(":DictionaryValue",dataRow["DictionaryValue"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新数据字典信息
- string sqlUpdateString = "UPDATE TP_MST_DataDictionary SET "
- + " DictionaryType = :DictionaryType,"
- + " DictionaryValue = :DictionaryValue,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DictionaryID = :DictionaryID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DictionaryType",dataRow["DictionaryType"].ToString()),
- new OracleParameter(":DictionaryValue",dataRow["DictionaryValue"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DictionaryID",dataRow["DictionaryID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除数据字典信息
- string sqlDeleteString = "DELETE TP_MST_DataDictionary WHERE DictionaryID = :DictionaryID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DictionaryID",dataRow["DictionaryID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存系统参数数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatSystemData">系统参数数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.15 任海 新建
- /// </remarks>
- public static int SaveSystemData(DataTable datatSystemData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatSystemData == null && datatSystemData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的操作时间戳进行必要的验证
- foreach (DataRow dataRow in datatSystemData.Rows)
- {
- #region 判断是否存在相同的系统参数代码
- string sqlStrings = "SELECT OPTimeStamp FROM TP_MST_SystemSetting WHERE AccountID = :AccountID and SettingCode = :SettingCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":SettingCode",dataRow["SettingCode"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameter);
- if (sqlReturnStr != dataRow["OPTimeStamp"].ToString())
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- string sqlString = string.Empty;
- foreach (DataRow drowRow in datatSystemData.Rows)
- {
- // 行状态为编辑
- if (drowRow.RowState == DataRowState.Modified)
- {
- // 如果修改账务时间,需要进行判断
- if (Constant.SettingType.S_CMN_0004.ToString().Equals(drowRow["SettingCode"]))
- {
- continue;
- //bool isCanEdit = true;
- //DateTime serverDate = DateTime.MinValue;
- //DataTable dtServertime = oracleTrConn.GetSqlResultToDt("SELECT sysdate FROM dual");
- //if (dtServertime != null && dtServertime.Rows.Count > 0)
- //{
- // serverDate = Convert.ToDateTime(dtServertime.Rows[0][0]);
- //}
- //DateTime nowAccountTime = Utility.ConvertTimeStr(serverDate, drowRow["SettingValue"] + "");
- //DateTime orginalAccountTime = Utility.ConvertTimeStr(serverDate,
- // drowRow["SettingValue", DataRowVersion.Original] + "");
- //// 当前时间大于原来账务日期不可进行修改
- //if (serverDate >= orginalAccountTime)
- //{
- // isCanEdit = false;
- //}
- //else
- //{
- // // 当前时间小于原来账务日期,但修改后的账务日期在当前时间之前也是不能进行修改的
- // if (nowAccountTime <= serverDate)
- // {
- // isCanEdit = false;
- // }
- //}
- //if (!isCanEdit)
- //{
- // oracleTrConn.Rollback();
- // oracleTrConn.Disconnect();
- // return Constant.RETURN_IS_ERRORACCOUNTTIME;
- //}
- }
- //更新系统参数信息
- sqlString = "UPDATE TP_MST_SystemSetting "
- + "SET SettingValue = :SettingValue, "
- //+ "UpdateTime = sysdate, "
- //+ "OPTimeStamp = systimestamp, "
- + "UpdateUserID = :UpdateUserID "
- + "WHERE SettingCode = :SettingCode "
- + "and AccountID = :AccountID ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":SettingValue", drowRow["SettingValue"].ToString()),
- new OracleParameter(":UpdateUserID", sUserInfo.UserID),
- new OracleParameter(":AccountID", sUserInfo.AccountID),
- new OracleParameter(":SettingCode", drowRow["SettingCode"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, oracleParameter);
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存工种数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatJobsData">工种数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.09 任海 新建
- /// </remarks>
- public static int SavetJobsData(DataTable datatJobsData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatJobsData == null && datatJobsData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的工种数据进行必要的验证
- foreach (DataRow dataRow in datatJobsData.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的工种代码
- string sqlString = "SELECT Count(*) FROM TP_MST_Jobs WHERE AccountID = :AccountID and JobsCode =:JobsCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":JobsCode",dataRow["JobsCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的工种代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_Jobs WHERE AccountID = :AccountID and JobsCode = :JobsCode and JobsID <> :JobsID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":JobsCode",dataRow["JobsCode"]),
- new OracleParameter(":JobsID",dataRow["JobsID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatJobsData.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增工种信息
- #region 向T_MST_Jobs插入数据
- string sqlInsertString = "INSERT INTO TP_MST_Jobs "
- + "(JobsCode"
- + ",JobsName"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:JobsCode"
- + ",:JobsName"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":JobsCode",dataRow["JobsCode"].ToString()),
- new OracleParameter(":JobsName",dataRow["JobsName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新工种信息
- string sqlUpdateString = "UPDATE TP_MST_Jobs SET "
- + " JobsCode = :JobsCode,"
- + " JobsName = :JobsName,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE JobsID = :JobsID";
- OracleParameter[] oracleParametere = new OracleParameter[]
- {
- new OracleParameter(":JobsCode",dataRow["JobsCode"].ToString()),
- new OracleParameter(":JobsName",dataRow["JobsName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":JobsID",dataRow["JobsID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParametere);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除工种信息
- string sqlDeleteString = "DELETE TP_MST_Jobs WHERE JobsID = :JobsID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":JobsID",dataRow["JobsID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存职务数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatPostData">职务数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.10 任海 新建
- /// </remarks>
- public static int SavePostData(DataTable datatPostData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatPostData == null && datatPostData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的职务数据进行必要的验证
- foreach (DataRow dataRow in datatPostData.Rows)
- {
- // 新建职务
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的职务代码
- string sqlString = "SELECT Count(*) FROM TP_MST_Post WHERE AccountID = :AccountID and PostCode =:PostCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":PostCode",dataRow["PostCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的职务代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_Post WHERE AccountID = :AccountID and PostCode = :PostCode and PostID <> :PostID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":PostCode",dataRow["PostCode"]),
- new OracleParameter(":PostID",dataRow["PostID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatPostData.Rows)
- {
- // 新建职务
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增职务信息
- #region 向TP_MST_Post插入数据
- string sqlInsertString = "INSERT INTO TP_MST_Post "
- + "(PostCode"
- + ",PostName"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:PostCode"
- + ",:PostName"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":PostCode",dataRow["PostCode"].ToString()),
- new OracleParameter(":PostName",dataRow["PostName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新职务信息
- string sqlUpdateString = "UPDATE TP_MST_Post SET "
- + " PostCode = :PostCode,"
- + " PostName = :PostName,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE PostID = :PostID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":PostCode",dataRow["PostCode"].ToString()),
- new OracleParameter(":PostName",dataRow["PostName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":PostID",dataRow["PostID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除职务信息
- string sqlDeleteString = "DELETE TP_MST_Post WHERE PostID = :PostID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":PostID",dataRow["PostID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存产品缺陷数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDefectData">产品缺陷数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.10 任海 新建
- /// </remarks>
- public static int SaveDefectData(DataTable dataDefectData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectData == null && dataDefectData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的产品缺陷数据进行必要的验证
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建产品缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的产品缺陷代码
- string sqlString = "SELECT Count(*) FROM TP_MST_Defect WHERE AccountID = :AccountID and DefectCode =:DefectCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的产品缺陷代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_Defect WHERE AccountID = :AccountID and DefectCode = :DefectCode and DefectID <> :DefectID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectCode",dataRow["DefectCode"]),
- new OracleParameter(":DefectID",dataRow["DefectID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建产品缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增产品缺陷信息
- #region 向TP_MST_Defect插入数据
- string sqlInsertString = "INSERT INTO TP_MST_Defect"
- + "(DefectCode"
- + ",DefectName"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID"
- + ",DefectTypeID)"
- + " VALUES "
- + "(:DefectCode"
- + ",:DefectName"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID"
- + ",:DefectTypeID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString()),
- new OracleParameter(":DefectName",dataRow["DefectName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID),
- new OracleParameter(":DefectTypeID",dataRow["DefectTypeID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新产品缺陷信息
- string sqlUpdateString = "UPDATE TP_MST_Defect SET "
- + " DefectCode = :DefectCode,"
- + " DefectName = :DefectName,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime,"
- + " DefectTypeID = :DefectTypeID"
- + " WHERE DefectID = :DefectID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString()),
- new OracleParameter(":DefectName",dataRow["DefectName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString()),
- new OracleParameter(":DefectTypeID",dataRow["DefectTypeID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除产品缺陷信息
- string sqlDeleteString = "DELETE TP_MST_Defect WHERE DefectID = :DefectID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- /// <summary>
- /// 保存成型线类型数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatGMouldTypeData">成型线类型数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.11 任海 新建
- /// </remarks>
- public static int SavetGMouldTypeData(DataTable datatGMouldTypeData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatGMouldTypeData == null && datatGMouldTypeData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的成型线类型数据进行必要的验证
- foreach (DataRow dataRow in datatGMouldTypeData.Rows)
- {
- // 新建成型线类型
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的成型线类型代码
- string sqlString = "SELECT Count(*) FROM TP_MST_GMouldType WHERE AccountID = :AccountID and GMouldTypeCode =:GMouldTypeCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":GMouldTypeCode",dataRow["GMouldTypeCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的成型线类型代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_GMouldType WHERE AccountID = :AccountID and GMouldTypeCode = :GMouldTypeCode and GMouldTypeID <> :GMouldTypeID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":GMouldTypeCode",dataRow["GMouldTypeCode"]),
- new OracleParameter(":GMouldTypeID",dataRow["GMouldTypeID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatGMouldTypeData.Rows)
- {
- // 新建成型线类型
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增成型线类型信息
- #region 向TP_MST_GMouldType插入数据
- string sqlInsertString = "INSERT INTO TP_MST_GMouldType "
- + "(GMouldTypeCode"
- + ",GMouldTypeName"
- + ",CanManyTimes"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:GMouldTypeCode"
- + ",:GMouldTypeName"
- + ",:CanManyTimes"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":GMouldTypeCode",dataRow["GMouldTypeCode"].ToString()),
- new OracleParameter(":GMouldTypeName",dataRow["GMouldTypeName"].ToString()),
- new OracleParameter(":CanManyTimes",dataRow["CanManyTimes"].ToString()=="True"?"1"
- :dataRow["CanManyTimes"].ToString()=="Flase"?"0":dataRow["CanManyTimes"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新成型线类型信息
- string sqlUpdateString = "UPDATE TP_MST_GMouldType SET "
- + " GMouldTypeCode = :GMouldTypeCode,"
- + " GMouldTypeName = :GMouldTypeName,"
- + " CanManyTimes = :CanManyTimes,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE GMouldTypeID = :GMouldTypeID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":GMouldTypeCode",dataRow["GMouldTypeCode"].ToString()),
- new OracleParameter(":GMouldTypeName",dataRow["GMouldTypeName"].ToString()),
- new OracleParameter(":CanManyTimes",dataRow["CanManyTimes"].ToString()=="True"?"1"
- :dataRow["CanManyTimes"].ToString()=="Flase"?"0":dataRow["CanManyTimes"].ToString()==""?"0":"1"),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":GMouldTypeID",dataRow["GMouldTypeID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除成型线类型信息
- string sqlDeleteString = "DELETE TP_MST_GMouldType WHERE GMouldTypeID = :GMouldTypeID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":GMouldTypeID",dataRow["GMouldTypeID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存产品分级的数据
- /// </summary>
- /// <param name="datatGoodsLevelData">产品分级的数据</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.10.22 任海 新建
- /// </remarks>
- public static int SaveGoodsLevelData(DataTable datatGoodsLevelData, SUserInfo sUserInfo)
- {
- int returnRows = Constant.INT_IS_TWO;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- foreach (DataRow dataRow in datatGoodsLevelData.Rows)
- {
- string sqlUpdateString = "UPDATE tp_mst_goodslevel SET "
- + " GoodsLevelName = :GoodsLevelName,"
- + " GoodsLevelTypeID = :GoodsLevelTypeID,"
- + " IsSemiFinishedEx = :IsSemiFinishedEx,"
- + " SFEDisplayNo = :SFEDisplayNo,"
- + " IsFinishedEx = :IsFinishedEx,"
- + " FEDisplayNo = :FEDisplayNo,"
- + " IsFinished = :IsFinished,"
- + " IsScrapped = :IsScrapped,"
- + " CanDisable = :CanDisable,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE GoodsLevelID = :GoodsLevelID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":GoodsLevelName",dataRow["GoodsLevelName"].ToString()),
- new OracleParameter(":GoodsLevelTypeID",dataRow["GoodsLevelTypeID"].ToString()),
- new OracleParameter(":IsSemiFinishedEx",dataRow["IsSemiFinishedEx"].ToString()),
- new OracleParameter(":SFEDisplayNo",dataRow["SFEDisplayNo"].ToString()),
- new OracleParameter(":IsFinishedEx",dataRow["IsFinishedEx"].ToString()),
- new OracleParameter(":FEDisplayNo",dataRow["FEDisplayNo"].ToString()),
- new OracleParameter(":IsFinished",dataRow["IsFinished"].ToString()),
- new OracleParameter(":IsScrapped",dataRow["IsScrapped"].ToString()),
- new OracleParameter(":CanDisable",dataRow["CanDisable"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":GoodsLevelID",dataRow["GoodsLevelID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRows;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存配置员工的数据
- /// </summary>
- /// <param name="userID">用户ID</param>
- /// <param name="dataDeploystaffData">员工数据表</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.10.13 任海 新建
- /// </remarks>
- public static int SaveDeploystaffData(int userID, DataTable dataDeploystaffData, SUserInfo sUserInfo)
- {
- int returnRows = Constant.INT_IS_ZERO;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- foreach (DataRow dataRow in dataDeploystaffData.Rows)
- {
- if (dataRow.RowState == DataRowState.Added)
- {
- int intStaffID = Convert.ToInt32(dataRow["StaffID"]);
- string sqlUpdateString = "UPDATE TP_HR_Staff SET UserID=:pUuserID"
- + " Where StaffID = :pStaffID And AccountID = :pAccountID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":pUuserID",OracleDbType.Int32,userID,ParameterDirection.Input),
- new OracleParameter(":pStaffID",OracleDbType.Int32,intStaffID,ParameterDirection.Input),
- new OracleParameter(":pAccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- returnRows += oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- int intStaffID = Convert.ToInt32(dataRow["StaffID", DataRowVersion.Original].ToString());
- string sqlUpdateString2 = "UPDATE TP_HR_Staff SET UserID=null"
- + " Where StaffID = :pStaffID And AccountID = :pAccountID";
- OracleParameter[] oracleParameter2 = new OracleParameter[]
- {
- new OracleParameter(":pStaffID",OracleDbType.Int32,intStaffID,ParameterDirection.Input),
- new OracleParameter(":pAccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- returnRows += oracleTrConn.ExecuteNonQuery(sqlUpdateString2, oracleParameter2);
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRows;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存缺陷位置数据
- /// </summary>
- /// <param name="dataDefectPositionData">缺陷数据</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.11 冯雪 新建
- /// </remarks>
- public static int SaveDefectPositionsData(DataTable dataDefectPositionData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectPositionData == null && dataDefectPositionData.Rows.Count < 0)
- {
- return 3;
- }
- int intResult = 2;
- oracleTrConn.Connect();
- #region 对要保存的帐套数据进行必要的验证
- foreach (DataRow dataRow in dataDefectPositionData.Rows)
- {
- // 新建缺陷位置
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的位置代码
- string sqlString1 = "SELECT Count(*) FROM TP_MST_DefectPosition WHERE AccountID = :AccountID and DefectPositionCode =:DefectPositionCode ";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString())
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString1, parmeters1);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的位置代码
- string sqlString2 = "SELECT Count(*) FROM TP_MST_DefectPosition WHERE AccountID = :AccountID and DefectPositionCode = :DefectPositionCode and DefectPositionID <> :DefectPositionID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"]),
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID"])
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- }
- if (intResult == 1)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return intResult;
- }
- #endregion
- //string accountID = ""; // 存储新插入账套ID
- //string userID = ""; //用户ID
- foreach (DataRow dataRow in dataDefectPositionData.Rows)
- {
- // 新建缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增缺陷位置信息
- #region 向TP_MST_DEFECTPOSITION插入数据
- string sqlString1 = "INSERT INTO TP_MST_DefectPosition "
- + "(DefectPositionCode"
- + ",DefectPositionName"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectPositionCode"
- + ",:DefectPositionName"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString()),
- new OracleParameter(":DefectPositionName",dataRow["DefectPositionName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新缺陷信息
- string sqlString = "UPDATE TP_MST_DefectPosition SET "
- + " DefectPositionCode = :DefectPositionCode,"
- + " DefectPositionName = :DefectPositionName,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectPositionID = :DefectPositionID";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString()),
- new OracleParameter(":DefectPositionName",dataRow["DefectPositionName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- //new OracleParameter(":KilnType",dataRow["KilnType"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters1);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除缺陷信息
- string sqlDeleteString = "DELETE TP_MST_DefectPosition WHERE DefectPositionID = :DefectPositionID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, parmeters2);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return intResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存产品类型数据
- /// </summary>
- /// <param name="dataGoodsTypeData">产品类型数据</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.12 冯雪 新建
- /// </remarks>
- public static int SaveGoodsTypeData(DataTable dataGoodsTypeData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataGoodsTypeData == null && dataGoodsTypeData.Rows.Count < 0)
- {
- return 3;
- }
- int intResult = 2;
- oracleTrConn.Connect();
- #region 对要保存的帐套数据进行必要的验证
- foreach (DataRow dataRow in dataGoodsTypeData.Rows)
- {
- // 新建缺陷位置
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的位置代码
- string sqlString1 = "SELECT Count(*) FROM TP_MST_GoodsType WHERE AccountID = :AccountID and goodstypecode =:goodstypecode ";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":goodstypecode",dataRow["goodstypecode"].ToString())
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString1, parmeters1);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- string datRowSub = dataRow["goodstypecode"].ToString().Substring(0, dataRow["goodstypecode"].ToString().Length - 3);
- string sqlString2 = @"select count(*) from Tp_Mst_Goods
- where goodstypeid = (select distinct goodsTypeId from tp_mst_goodstype where GoodstypeCode = :GoodstypeCode and accountid=:accountid)";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":GoodstypeCode",datRowSub),
- };
- string strTemp2 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp2 != "0")
- {
- intResult = 4;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的产品类型代码
- string sqlString2 = "SELECT Count(*) FROM TP_MST_GoodsType WHERE AccountID = :AccountID and Goodstypecode = :goodstypecode and GoodsTypeID <> :goodsTypeID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":goodstypecode",dataRow["goodstypecode"]),
- new OracleParameter(":goodsTypeID",dataRow["goodsTypeID"])
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- }
- if (intResult == 1 || intResult == 4)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return intResult;
- }
- #endregion
- //string accountID = ""; // 存储新插入账套ID
- //string userID = ""; //用户ID
- foreach (DataRow dataRow in dataGoodsTypeData.Rows)
- {
- // 新建产品类型
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增产品类型信息
- string sqlString1 = "INSERT INTO TP_MST_GoodsType "
- + "(GoodsTypeCode"
- + ",GoodsTypeName"
- + ",GoodsTypeFullName"
- + ",Remarks"
- + ",AccountID"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID"
- + ",IsLeafNode)"
- + " VALUES "
- + "(:goodsTypeCode"
- + ",:goodsTypeName"
- + ",:goodsTypeFullName"
- + ",:Remarks"
- + ",:AccountID"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID,1)";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":goodsTypeCode",dataRow["goodsTypeCode"].ToString()),
- new OracleParameter(":goodsTypeName",dataRow["goodsTypeName"].ToString()),
- new OracleParameter(":goodsTypeFullName",dataRow["goodsTypeFullName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- sqlString1 = " update TP_MST_GoodsType SET IsLeafNode =0 "
- + " where GoodsTypeCode = :goodsTypeCode "
- + " and AccountID = :accountID";
- parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":goodsTypeCode",dataRow["goodsTypeCode"].ToString().Substring(0, dataRow["goodsTypeCode"].ToString().Length - 3)),
- new OracleParameter(":accountID",sUserInfo.AccountID),
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新产品类型信息
- string sqlString = "UPDATE TP_MST_GoodsType SET "
- + " GoodsTypeName = :goodsTypeName,"
- + " GoodsTypeFullName = :GoodsTypeFullName,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE GoodsTypeID = :goodsTypeID";
- string[] sub = dataRow["GoodsTypeFullName"].ToString().Split('→');
- string oldGoodsTypeFullName = dataRow["GoodsTypeFullName"].ToString();
- if (sub.Length > 0)
- {
- if (sub[sub.Length - 1] != dataRow["goodsTypeName"].ToString())
- {
- sub[sub.Length - 1] = dataRow["goodsTypeName"].ToString();
- }
- string newFullName = "";
- for (int i = 0; i < sub.Length; i++)
- {
- if (i != sub.Length - 1)
- newFullName += sub[i] + "→";
- else
- newFullName += sub[i];
- }
- dataRow["GoodsTypeFullName"] = newFullName;
- }
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":goodsTypeName",dataRow["goodsTypeName"].ToString()),
- new OracleParameter(":GoodsTypeFullName",dataRow["GoodsTypeFullName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":goodsTypeID",dataRow["goodsTypeID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters1);
- string sqlUpdateOtherFullName = @"select * from TP_MST_GoodsType
- where TP_MST_GoodsType.AccountID=" + sUserInfo.AccountID + " and TP_MST_GoodsType.GoodsTypeCode like '" + dataRow["GoodsTypeCode"].ToString() + "%' and GoodsTypeID<>" + dataRow["goodsTypeID"].ToString();
- DataSet returnDataset5 = oracleTrConn.GetSqlResultToDs(sqlUpdateOtherFullName);
- if (returnDataset5 != null && returnDataset5.Tables[0].Rows.Count > 0) // 更新所有子级
- {
- for (int i = 0; i < returnDataset5.Tables[0].Rows.Count; i++)
- {
- string sqlReplace = @"update TP_MST_GoodsType set GoodsTypeFullName=replace(GoodsTypeFullName,:oldGoodsTypeFullName,:newGoodsTypeFullName)
- where GoodsTypeID=:GoodsTypeID";
- OracleParameter[] Updateparmeters = new OracleParameter[]
- {
- new OracleParameter(":oldGoodsTypeFullName",oldGoodsTypeFullName),
- new OracleParameter(":newGoodsTypeFullName",dataRow["GoodsTypeFullName"].ToString()),
- new OracleParameter(":GoodsTypeID",returnDataset5.Tables[0].Rows[i]["GoodsTypeID"].ToString()),
- };
- oracleTrConn.ExecuteNonQuery(sqlReplace, Updateparmeters);
- ;
- }
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除产品类型信息
- string sqlDeleteString = "DELETE TP_MST_GoodsType WHERE GoodsTypeID = :goodsTypeID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":goodsTypeID",dataRow["goodsTypeID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, parmeters2);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return intResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 新建温湿计信息
- /// </summary>
- /// <param name="thermometerEntity">温湿计信息实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.12.25 任海 新建
- /// </remarks>
- public static int AddThermometerEntity(ThermometerEntity thermometerEntity, SUserInfo userInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- int returnResult = Constant.INT_IS_ONE;
- oracleTrConn.Connect();
- StringBuilder sbSql = new StringBuilder();
- //获取序列ID
- sbSql.Clear();
- sbSql.Append("select SEQ_MST_THERMOMETER_ID.nextval from dual");
- int entityId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_Thermometer
- (ThermometerID,BuildingNo,FloorNo,
- LocationCode,ThermometerCode,ManagerName,Remarks,ValueFlag,AccountID,CreateUserID,UpdateUserID)
- Values
- (:ThermometerID,:BuildingNo,:FloorNo,
- :LocationCode,:ThermometerCode,:ManagerName,:Remarks,:ValueFlag,:AccountID,:CreateUserID,:UpdateUserID)");
- OracleParameter[] DFParas = new OracleParameter[] {
- new OracleParameter(":ThermometerID",OracleDbType.Int32,
- entityId,ParameterDirection.Input),
- new OracleParameter(":BuildingNo",OracleDbType.NVarchar2,
- thermometerEntity.BuildingNo,ParameterDirection.Input),
- new OracleParameter(":FloorNo",OracleDbType.NVarchar2,
- thermometerEntity.FloorNo,ParameterDirection.Input),
- new OracleParameter(":LocationCode",OracleDbType.NVarchar2,
- thermometerEntity.LocationCode,ParameterDirection.Input),
- new OracleParameter(":Remarks",OracleDbType.NVarchar2,
- thermometerEntity.Remarks,ParameterDirection.Input),
- new OracleParameter(":ThermometerCode",OracleDbType.NVarchar2,
- thermometerEntity.ThermometerCode,ParameterDirection.Input),
- new OracleParameter(":ManagerName",OracleDbType.NVarchar2,
- thermometerEntity.ManagerName,ParameterDirection.Input),
- new OracleParameter(":ValueFlag",OracleDbType.Int32,
- thermometerEntity.ValueFlag,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32,
- userInfo.AccountID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DFParas);
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 编辑温湿计信息
- /// </summary>
- /// <param name="thermometerEntity">温湿计信息实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.12.25 任海 新建
- /// </remarks>
- public static int UpdateThermometerEntity(ThermometerEntity thermometerEntity, SUserInfo userInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- int returnResult = Constant.INT_IS_ONE;
- oracleTrConn.Connect();
- StringBuilder sbSql = new StringBuilder();
- sbSql.Append(@"Update TP_MST_Thermometer
- Set BuildingNo=:BuildingNo,
- FloorNo=:FloorNo,
- LocationCode=:LocationCode,
- ThermometerCode=:ThermometerCode,
- ManagerName=:ManagerName,
- ValueFlag=:ValueFlag,
- Remarks=:Remarks,
- UpdateUserID=:UpdateUserID
- Where ThermometerID=:ThermometerID
- And OPTimeStamp=:OPTimeStamp");
- OracleParameter[] DFParas = new OracleParameter[] {
- new OracleParameter(":BuildingNo",OracleDbType.NVarchar2,
- thermometerEntity.BuildingNo,ParameterDirection.Input),
- new OracleParameter(":FloorNo",OracleDbType.NVarchar2,
- thermometerEntity.FloorNo,ParameterDirection.Input),
- new OracleParameter(":LocationCode",OracleDbType.NVarchar2,
- thermometerEntity.LocationCode,ParameterDirection.Input),
- new OracleParameter(":ThermometerCode",OracleDbType.NVarchar2,
- thermometerEntity.ThermometerCode,ParameterDirection.Input),
- new OracleParameter(":ManagerName",OracleDbType.NVarchar2,
- thermometerEntity.ManagerName,ParameterDirection.Input),
- new OracleParameter(":ValueFlag",OracleDbType.Int32,
- thermometerEntity.ValueFlag,ParameterDirection.Input),
- new OracleParameter(":Remarks",OracleDbType.NVarchar2,
- thermometerEntity.Remarks,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":ThermometerID",OracleDbType.Int32,
- thermometerEntity.ThermometerID,ParameterDirection.Input),
- new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
- thermometerEntity.OPTimeStamp,ParameterDirection.Input),
- };
- oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DFParas);
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- #endregion
- #region 用户处理相关逻辑
- /// <summary>
- /// 新增组织机构OrganizationCode
- /// </summary>
- /// <param name="v_parentOrganizationCode">上级组织机构编码</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static string GetOrganizationCode(string v_parentOrganizationCode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sqlString = "select Max(OrganizationCode) from TP_MST_Organization "
- + " where OrganizationCode like '" + v_parentOrganizationCode + "%'"
- + "and length(OrganizationCode) = length('" + v_parentOrganizationCode + "')+3"
- + "and AccountID = " + sUserInfo.AccountID;
- DataSet returnDatasetHuoQu2 = oracleConn.GetSqlResultToDs(sqlString);
- oracleConn.Close();
- string v_MaxOrganizationCode = "";
- if (returnDatasetHuoQu2 != null && returnDatasetHuoQu2.Tables[0].Rows.Count > 0)
- {
- v_MaxOrganizationCode = returnDatasetHuoQu2.Tables[0].Rows[0][0].ToString();
- }
- if (v_MaxOrganizationCode == "")
- {
- v_MaxOrganizationCode = v_MaxOrganizationCode + v_parentOrganizationCode + "001";
- }
- else
- {
- string v_tempCode = "";
- v_tempCode = Convert.ToString(Convert.ToInt32(v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3)) + 1);
- v_MaxOrganizationCode = "000" + v_tempCode;
- v_MaxOrganizationCode = v_parentOrganizationCode + v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3);
- }
- return v_MaxOrganizationCode;
- }
- catch (Exception ex)
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 新增组织机构
- /// </summary>
- /// <param name="organization">OrganizationEntity对象</param>
- /// <returns>int</returns>
- public static int SaveOrganization(OrganizationEntity organization)
- {
- int returnRows = 0;
- if (organization == null)
- {
- return returnRows;
- }
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- #region 生成全称
- //string fullName = string.Empty; // 生成的全称
- //if (organization.ParentOrganizationID <= 0)
- //{
- // fullName = organization.OrganizationName;
- //}
- //else
- //{
- // string sqlString1 = "SELECT OrganizationFullName FROM TP_MST_Organization"
- // + " WHERE OrganizationID = :in_ParentOrganizationID";
- // OracleParameter[] parmeters1 = new OracleParameter[]
- // {
- // new OracleParameter(":in_ParentOrganizationID",organization.ParentOrganizationID)
- // };
- // DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString1, parmeters1);
- // if (returnDataset.Tables[0].Rows.Count != 0)
- // {
- // if (!string.IsNullOrEmpty(returnDataset.Tables[0].Rows[0][0] + ""))
- // {
- // fullName = Convert.ToString(returnDataset.Tables[0].Rows[0][0]);
- // fullName += "→" + organization.OrganizationName;
- // }
- // else
- // {
- // return returnRows;
- // }
- // }
- // else
- // {
- // return returnRows;
- // }
- //}
- #endregion
- // 编辑
- if (organization.OrganizationID > 0)
- {
- #region 组织机构下级存在有效子级,员工和用户的时候不允许被设置为无效
- if (organization.ValueFlag == 0)
- {
- string sqlString2 = "SELECT OrganizationCode FROM TP_MST_Organization WHERE OrganizationCode LIKE '" + organization.OrganizationCode + "%'"
- + " AND LENGTH(OrganizationCode) >" + organization.OrganizationCode.Length + " AND ValueFlag = 1 AND AccountID =:AccountID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",organization.in_AccountID)
- };
- DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString2, parmeters2);
- if (returnDataset != null
- && returnDataset.Tables.Count > 0
- && returnDataset.Tables[0].Rows.Count > 0)
- {
- return -5;//// 子级中存在有效数据
- }
- string sqlString3 = "SELECT STAFFID"
- + " FROM TP_HR_STAFF"
- + " WHERE OrganizationID =:OrganizationID "
- + " AND ValueFlag = 1";
- OracleParameter[] parmeters3 = new OracleParameter[]
- {
- new OracleParameter(":OrganizationID",organization.OrganizationID)
- };
- DataSet returnDataset3 = oracleTrConn.GetSqlResultToDs(sqlString3, parmeters3);
- if (returnDataset3 != null
- && returnDataset3.Tables.Count > 0
- && returnDataset3.Tables[0].Rows.Count > 0)
- {
- return -53;//// 当前数据状态不符合操作条件
- }
- string sqlString4 = "SELECT UserID"
- + " FROM TP_MST_User"
- + " WHERE OrganizationID =:OrganizationID "
- + " AND ValueFlag = 1";
- OracleParameter[] parmeters4 = new OracleParameter[]
- {
- new OracleParameter(":OrganizationID",organization.OrganizationID)
- };
- DataSet returnDataset4 = oracleTrConn.GetSqlResultToDs(sqlString4, parmeters4);
- if (returnDataset3 != null
- && returnDataset3.Tables.Count > 0
- && returnDataset3.Tables[0].Rows.Count > 0)
- {
- return -8;//// // 操作数据不合法
- }
- }
- #endregion
- string sqlUpdateString = "UPDATE TP_MST_Organization SET "
- + "OrganizationCode = :organizationCode"
- + ",OrganizationName = :organizationName"
- + ",OrganizationFullName = :organizationFullName"
- + ",Leader = :leader"
- + ",LetterMarket = :letterMarket"
- + ",Telephone = :telephone"
- + ",Address = :address"
- + ",AccountID = :accountID"
- + ",UpdateUserID =" + organization.in_UserID
- + ",ValueFlag=" + organization.ValueFlag
- + ",remarks=:remarks"
- + " WHERE OrganizationID = :organizationID";
- //string[] sub = organization.OrganizationFullName.Split('→');
- //string oldOrganizationFullName = organization.OrganizationFullName;
- //if (sub.Length > 0)
- //{
- // if (sub[sub.Length - 1] != organization.OrganizationName)
- // {
- // sub[sub.Length - 1] = organization.OrganizationName;
- // }
- // string newFullName = "";
- // for (int i = 0; i < sub.Length; i++)
- // {
- // if (i != sub.Length - 1)
- // newFullName += sub[i] + "→";
- // else
- // newFullName += sub[i];
- // }
- // organization.OrganizationFullName = newFullName;
- //}
- OracleParameter[] parmeters = new OracleParameter[]
- {
- new OracleParameter(":organizationCode",organization.OrganizationCode),
- new OracleParameter(":organizationName",organization.OrganizationName),
- new OracleParameter(":organizationFullName",organization.OrganizationFullName),
- new OracleParameter(":leader",organization.Leader),
- new OracleParameter(":letterMarket",organization.LetterMarket),
- new OracleParameter(":telephone",organization.Telephone),
- new OracleParameter(":address",organization.Address),
- new OracleParameter(":accountID",organization.in_AccountID),
- new OracleParameter(":remarks",organization.Remarks),
- new OracleParameter(":organizationID",organization.OrganizationID),
- };
- returnRows = oracleTrConn.ExecuteNonQuery(sqlUpdateString, parmeters);
- // string sqlUpdateOtherFullName = @"select tp_mst_organization.organizationid,tp_mst_organization.organizationfullname from tp_mst_organization
- // where tp_mst_organization.accountID = " + organization.AccountID + " and tp_mst_organization.organizationcode like '" + organization.OrganizationCode + "%' and organizationid<>" + organization.OrganizationID;
- // DataSet returnDataset5 = oracleTrConn.GetSqlResultToDs(sqlUpdateOtherFullName);
- // if (returnDataset5 != null && returnDataset5.Tables[0].Rows.Count > 0) // 更新所有子级
- // {
- // for (int i = 0; i < returnDataset5.Tables[0].Rows.Count; i++)
- // {
- // string sqlReplace = @"update tp_mst_organization set organizationfullname=replace(organizationfullname,:oldorganizationFullName,:neworganizationFullName)
- // where organizationid=:organizationid";
- // OracleParameter[] Updateparmeters = new OracleParameter[]
- // {
- // new OracleParameter(":oldorganizationFullName",oldOrganizationFullName),
- // new OracleParameter(":neworganizationFullName",organization.OrganizationFullName),
- // new OracleParameter(":organizationid",returnDataset5.Tables[0].Rows[i]["organizationid"].ToString()),
- // };
- // oracleTrConn.ExecuteNonQuery(sqlReplace, Updateparmeters);
- // }
- // }
- }
- else
- {
- #region 判断上级组织机构是否已经被置为无效
- string sqlString11 = "SELECT ValueFlag FROM TP_MST_Organization"
- + " WHERE OrganizationID = " + organization.ParentOrganizationID;
- DataSet returnDataset11 = oracleTrConn.GetSqlResultToDs(sqlString11);
- bool valueFlag = false;
- if (returnDataset11.Tables[0].Rows.Count != 0)
- {
- if (!string.IsNullOrEmpty(returnDataset11.Tables[0].Rows[0][0] + ""))
- {
- valueFlag = Convert.ToBoolean(Convert.ToInt32(returnDataset11.Tables[0].Rows[0][0]));
- }
- }
- if (!valueFlag)
- {
- return returnRows;
- }
- // 判断所选节点是已到最底层,不能新建
- if (7 <= organization.ParentOrganizationCode.Length / 3)
- {
- return returnRows;
- }
- // 上级部门包含的部门不能超过最大值999
- if (999 <= GetOrgLevelMax(oracleTrConn,
- organization.ParentOrganizationCode, organization.in_AccountID.ToString()))
- {
- return returnRows;
- }
- // 判断选择的组织机构下是否有员工
- //if (IsExistStaff(oracleTrConn, organization.ParentOrganizationID, organization.in_AccountID.ToString()))
- //{
- // return returnRows;
- //}
- #endregion
- string inString = "INSERT INTO TP_MST_Organization "
- + "(OrganizationCode"
- + ",OrganizationName"
- + ",OrganizationFullName"
- + ",Leader"
- + ",LetterMarket"
- + ",Telephone"
- + ",Address"
- + ",AccountID"
- + ",ValueFlag"
- + ",Remarks"
- + ",CreateUserID"
- + ",UpdateUserID,ISLEAFNODE)"
- + " VALUES "
- + "(:OrganizationCode"
- + ",:organizationName"
- + ",:organizationFullName"
- + ",:leader"
- + ",:letterMarket"
- + ",:telephone"
- + ",:address"
- + ",:accountID"
- + ",:valueFlag"
- + ",:remarks"
- + ",:createUserID"
- + ",:updateUserID,1)";
- #region 获取组织机构编码
- string v_parentOrganizationCode = "";
- string sql1 = "SELECT OrganizationCode FROM TP_MST_Organization"
- + " WHERE OrganizationID = " + organization.ParentOrganizationID + " and AccountID = " + organization.in_AccountID;
- DataSet returnDatasetHuoQu = oracleTrConn.GetSqlResultToDs(sql1);
- if (returnDatasetHuoQu != null && returnDatasetHuoQu.Tables[0].Rows.Count > 0)
- {
- v_parentOrganizationCode = returnDatasetHuoQu.Tables[0].Rows[0]["OrganizationCode"].ToString();
- }
- string sql2 = "select Max(OrganizationCode) from TP_MST_Organization "
- + " where OrganizationCode like '" + v_parentOrganizationCode + "%'"
- + "and length(OrganizationCode) = length('" + v_parentOrganizationCode + "')+3"
- + "and AccountID = " + organization.in_AccountID;
- DataSet returnDatasetHuoQu2 = oracleTrConn.GetSqlResultToDs(sql2);
- string v_MaxOrganizationCode = "";
- if (returnDatasetHuoQu2 != null && returnDatasetHuoQu2.Tables[0].Rows.Count > 0)
- {
- v_MaxOrganizationCode = returnDatasetHuoQu2.Tables[0].Rows[0][0].ToString();
- }
- if (v_MaxOrganizationCode == "")
- {
- v_MaxOrganizationCode = v_MaxOrganizationCode + v_parentOrganizationCode + "001";
- }
- else
- {
- string v_tempCode = "";
- v_tempCode = Convert.ToString(Convert.ToInt32(v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3)) + 1);
- v_MaxOrganizationCode = "000" + v_tempCode;
- v_MaxOrganizationCode = v_parentOrganizationCode + v_MaxOrganizationCode.Substring(v_MaxOrganizationCode.Length - 3);
- }
- #endregion
- OracleParameter[] parmeters10 = new OracleParameter[]
- {
- new OracleParameter(":OrganizationCode",v_MaxOrganizationCode),
- new OracleParameter(":organizationName",organization.OrganizationName),
- new OracleParameter(":organizationFullName",organization.OrganizationName),
- new OracleParameter(":leader",organization.Leader),
- new OracleParameter(":letterMarket",organization.LetterMarket),
- new OracleParameter(":telephone",organization.Telephone),
- new OracleParameter(":address",organization.Address),
- new OracleParameter(":accountID",organization.in_AccountID),
- new OracleParameter(":valueFlag",organization.ValueFlag),
- new OracleParameter(":remarks",organization.Remarks),
- new OracleParameter(":createUserID",organization.in_UserID),
- new OracleParameter(":updateUserID",organization.in_UserID),
- };
- returnRows = oracleTrConn.ExecuteNonQuery(inString, parmeters10);
- //oracleTrConn.Commit();
- //oracleTrConn.Disconnect();
- //return returnRows;
- }
- string sqlString = "select t.organizationid from tp_mst_organization t where t.accountid = " + organization.in_AccountID
- + " order by t.organizationcode";
- DataTable dt = oracleTrConn.GetSqlResultToDt(sqlString, null);
- if (dt != null && dt.Rows.Count > 0)
- {
- foreach (DataRow item in dt.Rows)
- {
- sqlString =
- "UPDATE tp_mst_organization t\n" +
- " SET t.isleafnode =\n" +
- " (SELECT decode(COUNT(tlf.organizationid), 1, '1', '0')\n" +
- " FROM tp_mst_organization tlf\n" +
- " WHERE t.accountid = tlf.accountid\n" +
- " AND tlf.valueflag = '1'\n" +
- " AND INSTR(tlf.organizationcode, t.organizationcode) = 1)\n" +
- " ,t.organizationfullname =\n" +
- " (SELECT listagg(to_char(tfn.organizationname), '→') within GROUP(ORDER BY tfn.organizationcode)\n" +
- " FROM tp_mst_organization tfn\n" +
- " WHERE t.accountid = tfn.accountid\n" +
- " AND INSTR(t.organizationcode, tfn.organizationcode) = 1)\n" +
- " WHERE t.organizationid = :organizationid";
- OracleParameter[] parmeters = new OracleParameter[]
- {
- new OracleParameter(":organizationid",item["organizationid"]),
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters);
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRows;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 添加用户信息
- /// </summary>
- /// <param name="userInfo">用户实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int AddUserInfo(SUserEntity userInfo, SUserInfo sUserInfo)
- {
- int returnUserID = 0;
- if (userInfo == null)
- {
- return returnUserID;
- }
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- oracleTrConn.Connect();
- try
- {
- string sqlString = "SELECT OrganizationCode FROM TP_MST_Organization WHERE OrganizationID = :organizationID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":organizationID",userInfo.OrganizationID)
- };
- DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString, parmeters2);
- if (returnDataset.Tables[0].Rows.Count != 0)
- {
- if (returnDataset.Tables[0].Rows[0][0].ToString().Length == 3)
- {
- return -2;
- }
- }
- else
- {
- return -1;
- }
- string userTempID = oracleTrConn.GetSqlResultToStr("Select seq_mst_user_userid.nextval from dual");
- int affectRows = 0;
- string sqlString4 = "INSERT INTO TP_MST_User "
- + "(UserID"
- + ",UserCode"
- + ",UserName"
- + ",Password"
- + ",OrganizationID"
- + ",AccountID"
- + ",AccountCode"
- + ",ValueFlag"
- + ",CreateUserID"
- + ",UpdateUserID"
- + ",CreateTime"
- + ",UpdateTime"
- + ",LimitMAC"
- + ",LimitStartTime"
- + ",LimitEndTime"
- + ",CanSmartLogin"
- + ",CanPCLogin"
- + ",IsWorker"
- + ",IsGroutingWorker"
- + ",Remarks"
- + ",ispublicbody"
- + ",post"
- + ",canloginprd"
- + ",canloginmbc"
- + ",BarcodePrinterID"
- + ",PLCID"
- + ")"
- + " VALUES( "
- + ":userID"
- + ",:userCode"
- + ",:UserName"
- + ",:Password"
- + ",:organizationID"
- + ",:accountID"
- + ",:accountCode"
- + ",:valueFlag"
- + ",:createUserID"
- + ",:updateUserID"
- + ",sysdate"
- + ",sysdate"
- + ",:LimitMAC"
- + ",:LimitStartTime"
- + ",:LimitEndTime"
- + ",:CanSmartLogin"
- + ",:CanPCLogin"
- + ",:IsWorker"
- + ",:IsGroutingWorker"
- + ",:Remarks"
- + ",:ispublicbody"
- + ",:post"
- + ",:canloginprd"
- + ",:canloginmbc"
- + ",:BarcodePrinterID"
- + ",:PLCID"
- + ")";
- OracleParameter[] parmeters4 = new OracleParameter[]
- {
- new OracleParameter(":userID",userTempID),
- new OracleParameter(":userCode",userInfo.UserCode),
- new OracleParameter(":UserName",userInfo.UserName),
- new OracleParameter(":Password",userInfo.Password),
- new OracleParameter(":organizationID",userInfo.OrganizationID),
- new OracleParameter(":accountID",sUserInfo.AccountID),
- new OracleParameter(":accountCode",sUserInfo.AccountCode),
- new OracleParameter(":valueFlag",userInfo.ValueFlag),
- new OracleParameter(":createUserID", sUserInfo.UserID),
- new OracleParameter(":updateUserID", sUserInfo.UserID),
- new OracleParameter(":LimitMAC", userInfo.LimitMAC),
- new OracleParameter(":LimitStartTime",userInfo.LimitStartTime),
- new OracleParameter(":LimitEndTime",userInfo.LimitEndTime),
- new OracleParameter(":CanSmartLogin", userInfo.CanSmartLogin),
- new OracleParameter(":CanPCLogin", userInfo.CanPCLogin),
- new OracleParameter(":IsWorker", userInfo.IsWorker),
- new OracleParameter(":IsGroutingWorker", userInfo.IsGroutingWorker),
- new OracleParameter(":Remarks",userInfo.Remarks),
- new OracleParameter(":ispublicbody",userInfo.Ispublicbody),
- new OracleParameter(":post",userInfo.PostID),
- new OracleParameter(":canloginprd",userInfo.CanLoginPRD),
- new OracleParameter(":canloginmbc",userInfo.CanLoginMBC),
- new OracleParameter(":BarcodePrinterID",userInfo.BarcodePrinterID),
- new OracleParameter(":PLCID",userInfo.PLCID),
- };
- affectRows = oracleTrConn.ExecuteNonQuery(sqlString4, parmeters4);
- //添加工号工种关联----庄天威 2014.10.23
- int jobsCount = 0;
- foreach (DataRow drFor in userInfo.UserJobs.Rows)
- {
- if (drFor.RowState != DataRowState.Deleted)
- {
- if (drFor["JobsID"] == DBNull.Value)
- {
- continue;
- }
- string sqlstring5 = @"Insert into TP_MST_UserJobs(UserID,JobsID,CreateUserID)
- Values(:UserID,:JobsID,:CreateUserID)";
- OracleParameter[] parmeters5 = new OracleParameter[]
- {
- new OracleParameter(":UserID",userTempID),
- new OracleParameter(":JobsID",drFor["JobsID"].ToString()),
- new OracleParameter(":CreateUserID",sUserInfo.UserID),
- };
- jobsCount += oracleTrConn.ExecuteNonQuery(sqlstring5, parmeters5);
- }
- }
- int newuserid = Convert.ToInt32(userTempID);
- if (userInfo.UserID > 0)
- {
- OracleParameter[] parright = new OracleParameter[]
- {
- new OracleParameter(":newuserid",newuserid),
- new OracleParameter(":oruserid",userInfo.UserID),
- new OracleParameter(":createuserid",sUserInfo.UserID),
- };
- // 复制功能权限
- string sqlright = "insert into tp_mst_userright\n" +
- " (userid, functioncode, createuserid)\n" +
- "select :newuserid, functioncode, :createuserid from tp_mst_userright ur\n" +
- " where ur.userid = :oruserid";
- oracleTrConn.ExecuteNonQuery(sqlright, parright);
- // 复制范围权限
- string sqlpurview = "insert into tp_mst_userpurview\n" +
- " (userid, purviewid, purviewtype, createuserid)\n" +
- "select :newuserid, purviewid, purviewtype, :createuserid from tp_mst_userpurview up\n" +
- " where up.userid = :oruserid";
- oracleTrConn.ExecuteNonQuery(sqlpurview, parright);
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return newuserid;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 添加工号对应员工
- /// </summary>
- /// <param name="UserId">工号ID</param>
- /// <param name="StaffTable">员工数据表</param>
- /// <param name="userInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int AddUserStaff(int UserId, DataTable StaffTable, SUserInfo userInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- //操作工号工种关联----庄天威 2014.10.23
- int StaffCount = 0;
- foreach (DataRow drFor in StaffTable.Rows)
- {
- if (drFor.RowState == DataRowState.Added)
- {
- if (drFor["StaffID"] == DBNull.Value)
- {
- continue;
- }
- string sqlstring5 = @"Insert into TP_MST_UserStaff(UserID,UJobsID,StaffID,AccountID,CreateUserID,UpdateUserID)
- Values(:UserID,:UJobsID,:StaffID,:AccountID,:CreateUserID,:UpdateUserID)";
- OracleParameter[] parmeters5 = new OracleParameter[]
- {
- new OracleParameter(":UserID",UserId),
- new OracleParameter(":UJobsID",drFor["UserJobsID"].ToString()),
- new OracleParameter(":StaffID",drFor["StaffID"].ToString()),
- new OracleParameter(":AccountID",userInfo.AccountID),
- new OracleParameter(":CreateUserID",userInfo.UserID),
- new OracleParameter(":UpdateUserID",userInfo.UserID),
- };
- StaffCount += oracleTrConn.ExecuteNonQuery(sqlstring5, parmeters5);
- }
- else if (drFor.RowState == DataRowState.Deleted)
- {
- string sqlstring5 = @"Delete from TP_MST_UserStaff Where UserStaffID=:UserStaffID";
- OracleParameter[] parmeters5 = new OracleParameter[]
- {
- new OracleParameter(":UserStaffID",drFor["InfoID",DataRowVersion.Original].ToString()),
- };
- StaffCount += oracleTrConn.ExecuteNonQuery(sqlstring5, parmeters5);
- }
- else if (drFor.RowState == DataRowState.Modified)
- {
- string sqlstring5 = @"Update TP_MST_UserStaff
- Set UJobsID=:UJobsID,
- StaffID=:StaffID,
- UpdateUserID=:UpdateUserID,
- UpdateTime=sysdate
- Where UserStaffID=:UserStaffID";
- OracleParameter[] parmeters5 = new OracleParameter[]
- {
- new OracleParameter(":UJobsID",drFor["UserJobsId"].ToString()),
- new OracleParameter(":StaffID",drFor["StaffID"].ToString()),
- new OracleParameter(":UpdateUserID",userInfo.UserID),
- new OracleParameter(":UserStaffID",drFor["InfoID"].ToString())
- };
- StaffCount += oracleTrConn.ExecuteNonQuery(sqlstring5, parmeters5);
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return StaffCount;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 编辑用户信息
- /// </summary>
- /// <param name="userInfo">用户实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int EditUserInfo(SUserEntity userInfo, SUserInfo sUserInfo)
- {
- int returnUserID = 0;
- if (userInfo == null)
- {
- return returnUserID;
- }
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- oracleTrConn.Connect();
- try
- {
- string sqlString = "SELECT OrganizationCode FROM TP_MST_Organization WHERE OrganizationID = :organizationID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":organizationID",userInfo.OrganizationID)
- };
- DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString, parmeters2);
- if (returnDataset.Tables[0].Rows.Count != 0)
- {
- if (returnDataset.Tables[0].Rows[0][0].ToString().Length == 3)
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return -2;
- }
- }
- else
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return -1;
- }
- int affectRows = 0;
- string inString = "update TP_MST_User set "
- + " UserCode=:UserCode"
- + ",UserName=:UserName"
- + ",OrganizationID=:OrganizationID"
- + ",LimitMAC=:LimitMAC"
- + ",LimitStartTime=:LimitStartTime"
- + ",LimitEndTime=:LimitEndTime"
- + ",CanSmartLogin=:CanSmartLogin"
- + ",CanPCLogin=:CanPCLogin"
- + ",Remarks=:Remarks"
- + ",AccountID=:AccountID"
- + ",AccountCode=:AccountCode"
- + ",ValueFlag=:ValueFlag"
- + ",UpdateTime=sysdate"
- + ",IsWorker=:IsWorker"
- + ",IsGroutingWorker=:IsGroutingWorker"
- + ",ispublicbody=:ispublicbody"
- + ",post=:post"
- + ",canloginprd=:canloginprd"
- + ",canloginmbc=:canloginmbc"
- + ",BarcodePrinterID=:BarcodePrinterID"
- + ",PLCID=:PLCID"
- + ",UpdateUserID=:UpdateUserID where UserID=" + userInfo.UserID;
- OracleParameter[] parmeters10 = new OracleParameter[]
- {
- new OracleParameter(":UserCode",userInfo.UserCode),
- new OracleParameter(":UserName",userInfo.UserName),
- new OracleParameter(":OrganizationID",userInfo.OrganizationID),
- new OracleParameter(":LimitMAC",userInfo.LimitMAC),
- new OracleParameter(":LimitStartTime",userInfo.LimitStartTime),
- new OracleParameter(":LimitEndTime",userInfo.LimitEndTime),
- new OracleParameter(":CanSmartLogin",userInfo.CanSmartLogin),
- new OracleParameter(":CanPCLogin",userInfo.CanPCLogin),
- new OracleParameter(":Remarks",userInfo.Remarks),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":AccountCode",sUserInfo.AccountCode),
- new OracleParameter(":ValueFlag",userInfo.ValueFlag),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":IsWorker",userInfo.IsWorker),
- new OracleParameter(":IsGroutingWorker",userInfo.IsGroutingWorker),
- new OracleParameter(":ispublicbody",userInfo.Ispublicbody),
- new OracleParameter(":post",userInfo.PostID),
- new OracleParameter(":canloginprd",userInfo.CanLoginPRD),
- new OracleParameter(":canloginmbc",userInfo.CanLoginMBC),
- new OracleParameter(":BarcodePrinterID",userInfo.BarcodePrinterID),
- new OracleParameter(":PLCID",userInfo.PLCID),
- };
- affectRows = oracleTrConn.ExecuteNonQuery(inString, parmeters10);
- //编辑工号关联工种----庄天威 2014.10.24
- string deleteSql = "Delete from TP_MST_UserJobs where UserID=" + userInfo.UserID;
- int deleteRows = oracleTrConn.ExecuteNonQuery(deleteSql, null);
- int jobsCount = 0;
- foreach (DataRow drFor in userInfo.UserJobs.Rows)
- {
- if (drFor.RowState != DataRowState.Deleted)
- {
- if (drFor["JobsID"] == DBNull.Value)
- {
- continue;
- }
- string sqlstring5 = @"Insert into TP_MST_UserJobs(UserID,JobsID,CreateUserID)
- Values(:UserID,:JobsID,:CreateUserID)";
- OracleParameter[] parmeters5 = new OracleParameter[]
- {
- new OracleParameter(":UserID",userInfo.UserID),
- new OracleParameter(":JobsID",drFor["JobsID"].ToString()),
- new OracleParameter(":CreateUserID",sUserInfo.UserID),
- };
- jobsCount += oracleTrConn.ExecuteNonQuery(sqlstring5, parmeters5);
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return affectRows;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 用户解锁
- /// </summary>
- /// <param name="UserID">用户ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int UnlockUserStatus(int UserID, SUserInfo sUserInfo)
- {
- int returnRows = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- oracleTrConn.Connect();
- try
- {
- #region 对应要执行的SQL语句
- string sqlString = "update tp_mst_userlogin set locktime=null,islocked=0 where userid=:userid";
- Oracle.DataAccess.Client.OracleParameter[] paras = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":userid", OracleDbType.Int32, UserID, ParameterDirection.Input)
- };
- #endregion
- returnRows = oracleTrConn.ExecuteNonQuery(sqlString, paras);
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRows;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 用户范围权限保存
- /// </summary>
- /// <param name="userRightData">用户权限记录集</param>
- /// <param name="userID">用户ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int SaveUserRight(DataSet userRightData, int userID, SUserInfo sUserInfo)
- {
- int returnRowCount = 0;//返回影响行数
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- string sql = "DELETE TP_MST_UserPurview WHERE UserID = :userID"
- + " AND (PurviewType <>:PurviewType "
- + " OR (PurviewType =:PurviewType AND PurviewID IN (SELECT OrganizationID FROM TP_MST_Organization WHERE ValueFlag = 1))) ";
- Oracle.DataAccess.Client.OracleParameter[] paras = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",2),
- new Oracle.DataAccess.Client.OracleParameter(":userID",userID)
- };
- returnRowCount += oracleTrConn.ExecuteNonQuery(sql, paras);//删除以前所设置的权限
- // 顺序插入现有的权限数据
- DataSet dsExist = null;
- for (int i = 0; i < userRightData.Tables.Count - 2; i++)
- {
- // 对每一种权限进行遍历
- foreach (DataRow dataRow in userRightData.Tables[i].Rows)
- {
- if (Convert.ToBoolean(dataRow["RightFlag"]))
- {
- if (Convert.ToInt32(dataRow["PurviewID"]) == -1)
- {
- sql = "select 1 from TP_MST_UserPurview where UserID=:UserID and PurviewID=:PurviewID and PurviewType=:PurviewType";
- paras = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID",userID),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewID", Convert.ToInt32(dataRow["PurviewID"])),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",Convert.ToInt32(dataRow["PurviewType"])),
- };
- dsExist = oracleTrConn.GetSqlResultToDs(sql, paras);
- if (dsExist != null && dsExist.Tables[0].Rows.Count == 0)
- {
- sql = "INSERT INTO TP_MST_UserPurview"
- + "(UserID"
- + " ,PurviewID"
- + " ,PurviewType "
- + " ,CreateUserID) "
- + " VALUES "
- + "(:UserID"
- + " ,:PurviewID"
- + " ,:PurviewType"
- + " ,:CreateUserID) ";
- paras = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID",userID),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewID", Convert.ToInt32(dataRow["PurviewID"])),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",Convert.ToInt32(dataRow["PurviewType"])),
- new Oracle.DataAccess.Client.OracleParameter(":CreateUserID",sUserInfo.UserID),
- };
- returnRowCount += oracleTrConn.ExecuteNonQuery(sql, paras);
- }
- }
- else
- {
- sql = "INSERT INTO TP_MST_UserPurview"
- + "(UserID"
- + " ,PurviewID"
- + " ,PurviewType "
- + " ,CreateUserID) "
- + " VALUES "
- + "(:UserID"
- + " ,:PurviewID"
- + " ,:PurviewType"
- + " ,:CreateUserID) ";
- paras = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID",userID),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewID", Convert.ToInt32(dataRow["PurviewID"])),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",Convert.ToInt32(dataRow["PurviewType"])),
- new Oracle.DataAccess.Client.OracleParameter(":CreateUserID",sUserInfo.UserID),
- };
- returnRowCount += oracleTrConn.ExecuteNonQuery(sql, paras);
- }
- }
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRowCount;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存用户的功能权限
- /// </summary>
- /// <param name="userRightData">用户权限记录集</param>
- /// <param name="userID">用户ID</param>
- /// <param name="licenseType">License授权方式:1→按站点 2→按用户</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>
- /// 执行更新影响的数据行数
- /// 大于0:正常操作,返回
- /// 等于0:无任何影响行数
- /// -1:更新的功能权限有超过授权站点数
- /// </returns>
- public static FunRightResultEntity SaveUserFunctionRight(DataSet userRightData, int userID, int licenseType, SUserInfo sUserInfo)
- {
- FunRightResultEntity result = new FunRightResultEntity();
- result.OperationStatus = 0;
- result.LicenseFunctions = "";
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- if (userRightData == null || userRightData.Tables.Count < 1 || userID < 1)
- {
- return result;
- }
- oracleTrConn.Connect();
- #region 删除数据
- string sqlString1 = "DELETE TP_MST_UserRight WHERE UserID = :pUserID";
- Oracle.DataAccess.Client.OracleParameter[] paras1 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input)
- };
- #endregion
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString1, paras1);
- #region 增加新的数据
- // 对现有功能权限进行遍历
- foreach (DataRow dataRow in userRightData.Tables[0].Rows)
- {
- if (dataRow["Choose"].ToString() == "1")
- {
- string sqlString2 = "INSERT INTO TP_MST_UserRight "
- + "(UserID"
- + ",FunctionCode"
- + ",CreateUserID)"
- + " VALUES "
- + "(:pUserID"
- + ",:pFunctionCode"
- + ",:pCreateUserID)";
- Oracle.DataAccess.Client.OracleParameter[] paras2 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pFunctionCode",OracleDbType.Varchar2, dataRow["FunctionCode"].ToString(), ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pCreateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input)
- };
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString2, paras2);
- }
- }
- #endregion
- #region 按站点授权时,需要检查每一个站点是否超出授权数
- //if (licenseType == Constant.SYSTEM_LICENSETYPE_BASE_FUNCTION)
- //{
- // // 需要对更改的权限进行限制检查,查询已经使用的功能数量
- // string sqlString3 = "SELECT C.FunctionCode, COUNT(C.UserID) UseNum"
- // + " FROM TP_MST_UserRight C INNER JOIN T_MST_User D ON C.UserID = D.UserID"
- // + " INNER JOIN T_SYS_FUNCTION E ON C.FunctionCode = E.FunctionCode"
- // + " WHERE D.ValueFlag > 0 AND (E.FunctionFlag = 1) GROUP BY C.FunctionCode";
- // DataTable dtUserRightNum = oracleTrConn.GetSqlResultToDt(sqlString3);
- // bool isExistOverLicenseNumber = false;
- // foreach (DataRow newRowNum in dtUserRightNum.Rows)
- // {
- // #region 比对是否超出了授权数量
- // DataRow[] dataRow = userRightData.Tables[0].Select("FunctionCode = " + newRowNum["FunctionCode"].ToString() + "");
- // if (dataRow.Length > 0)
- // {
- // /*暂时撤销=,否则使用数等于授权数时保存提示超出授权数 BY 陈建 2014-03-15 Start here*/
- // //if (Convert.ToInt32(dataRow[0]["LicensesNumber"]) <= Convert.ToInt32(sqlDataReader["UseNum"]))
- // if (Convert.ToInt32(dataRow[0]["LicensesNumber"]) < Convert.ToInt32(newRowNum["UseNum"]))
- // /*暂时撤销=,否则使用数等于授权数时保存提示超出授权数 BY 陈建 2014-03-15 End here*/
- // {
- // isExistOverLicenseNumber = true;
- // if (string.IsNullOrEmpty(overLicenseNumberFunctions))
- // {
- // result.LicenseFunctions = "[" + dataRow[0]["FunctionCode"].ToString() + "] "
- // + dataRow[0]["FunctionName"].ToString();
- // }
- // else
- // {
- // result.LicenseFunctions += "; [" + dataRow[0]["FunctionCode"].ToString() + "] "
- // + dataRow[0]["FunctionName"].ToString();
- // }
- // }
- // }
- // #endregion
- // }
- // // 存在超过授权站点数的情况,直接返回
- // if (isExistOverLicenseNumber)
- // {
- // oracleTrConn.Rollback();
- // oracleTrConn.Disconnect();
- // result.OperationStatus = -1;
- // return result;
- // }
- //}
- #endregion
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存用户的功能权限
- /// </summary>
- /// <param name="userRightData">用户权限记录集</param>
- /// <param name="userID">用户ID</param>
- /// <param name="licenseType">License授权方式:1→按站点 2→按用户</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>
- /// 执行更新影响的数据行数
- /// 大于0:正常操作,返回
- /// 等于0:无任何影响行数
- /// -1:更新的功能权限有超过授权站点数
- /// </returns>
- public static FunRightResultEntity SaveUserFunctionTwoRight(DataSet userRightData, int userID, int licenseType, SUserInfo sUserInfo, DataSet userRightTwoData)
- {
- FunRightResultEntity result = new FunRightResultEntity();
- result.OperationStatus = 0;
- result.LicenseFunctions = "";
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- if (userRightData == null || userRightData.Tables.Count < 1 || userID < 1)
- {
- return result;
- }
- oracleTrConn.Connect();
- #region 删除数据
- string sqlString1 = "DELETE TP_MST_UserRight WHERE UserID = :pUserID";
- Oracle.DataAccess.Client.OracleParameter[] paras1 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input)
- };
- #endregion
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString1, paras1);
- #region 增加新的数据
- // 对现有功能权限进行遍历
- foreach (DataRow dataRow in userRightData.Tables[0].Rows)
- {
- if (dataRow["Choose"].ToString() == "1" || dataRow["FunctionCode"].ToString() == "[ALL]")
- {
- string sqlString2 = "INSERT INTO TP_MST_UserRight "
- + "(UserID"
- + ",FunctionCode"
- + ",CreateUserID)"
- + " VALUES "
- + "(:pUserID"
- + ",:pFunctionCode"
- + ",:pCreateUserID)";
- Oracle.DataAccess.Client.OracleParameter[] paras2 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pFunctionCode",OracleDbType.Varchar2, dataRow["FunctionCode"].ToString(), ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pCreateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input)
- };
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString2, paras2);
- }
- }
- #endregion
- // 二期
- #region 增加新的数据
- // 对现有功能权限进行遍历
- foreach (DataRow dataRow in userRightTwoData.Tables[0].Rows)
- {
- if (dataRow["Choose"].ToString() == "1" || dataRow["FunctionCode"].ToString() == "[ALL2]")
- {
- string sqlString2 = "INSERT INTO TP_MST_UserRight "
- + "(UserID"
- + ",FunctionCode"
- + ",CreateUserID)"
- + " VALUES "
- + "(:pUserID"
- + ",:pFunctionCode"
- + ",:pCreateUserID)";
- Oracle.DataAccess.Client.OracleParameter[] paras2 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pFunctionCode",OracleDbType.Varchar2, dataRow["FunctionCode"].ToString(), ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pCreateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input)
- };
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString2, paras2);
- }
- }
- #endregion
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 编辑用户密码
- /// </summary>
- /// <param name="userPassWord">用户密码</param>
- /// <param name="userCode">用户编码</param>
- /// <param name="userName">用户名称</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>string</returns>
- public static string SaveUserPassWord(string userPassWord, string userCode, string userName, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- string strPassWord = Encryption.GetMD5String(userPassWord);
- oracleTrConn.Connect();
- #region 更新TP_MST_User表的密码
- string sqlString1 = " UPDATE TP_MST_User SET Password =:passWord WHERE UserCode =:UserCode and accountid=:accountid";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":accountid",sUserInfo.AccountID),
- new OracleParameter(":passWord",strPassWord),
- new OracleParameter(":UserCode",userCode),
- //new OracleParameter(":UserName",userName)
- };
- #endregion
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- //sUserInfo.SetUserInfoPassWord(strPassWord);
- return strPassWord;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存帐套相关信息
- /// </summary>
- /// <param name="accountData">帐套数据集合</param>
- /// <param name="defaultPassword">默认密码</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>1 存在相同的帐套代码 2表示有数据被修改 3表示没有数据被修改</returns>
- public static int SaveAccountData(DataTable accountData, string defaultPassword, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (accountData == null && accountData.Rows.Count < 0)
- {
- return 3;
- }
- int intResult = 2;
- oracleTrConn.Connect();
- #region 对要保存的帐套数据进行必要的验证
- foreach (DataRow dataRow in accountData.Rows)
- {
- // 新建帐套
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的帐套代码
- string sqlString1 = "SELECT Count(*) FROM TP_MST_Account WHERE AccountCode = :accountCode";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":accountCode",dataRow["AccountCode"].ToString())
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString1, parmeters1);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的帐套代码
- string sqlString2 = "SELECT Count(*) FROM TP_MST_Account WHERE AccountCode = :accountCode and AccountID <> :accountID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":accountCode",dataRow["AccountCode"].ToString()),
- new OracleParameter(":accountID",dataRow["AccountID"])
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- }
- if (intResult == 1)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return intResult;
- }
- #endregion
- string accountID = ""; // 存储新插入帐套ID
- string orgID = ""; // 存储新插入部门ID
- string userID = ""; //用户ID
- foreach (DataRow dataRow in accountData.Rows)
- {
- // 新建帐套
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增帐套信息
- accountID = oracleTrConn.GetSqlResultToStr("SELECT SEQ_MST_ACCOUNT_ACCOUNTID.nextval FROM dual");
- #region 向T_MST_Account插入数据
- string sqlString1 = "INSERT INTO TP_MST_Account "
- + "(AccountId"
- + ",AccountCode"
- + ",AccountName"
- + ",Remarks"
- + ",ValueFlag"
- + ",CreateUserID"
- + ",UpdateUserID)"
- + " VALUES "
- + "(:accountId"
- + ",:accountCode"
- + ",:accountName"
- + ",:remarks"
- + ",:valueFlag"
- + ",:createUserID"
- + ",:updateUserID)";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":accountId", OracleDbType.Int32, accountID, ParameterDirection.Input),
- new OracleParameter(":accountCode",OracleDbType.Varchar2, dataRow["AccountCode"].ToString(), ParameterDirection.Input),
- new OracleParameter(":accountName",OracleDbType.NVarchar2, dataRow["AccountName"].ToString(), ParameterDirection.Input),
- new OracleParameter(":remarks",OracleDbType.NVarchar2, dataRow["Remarks"].ToString(), ParameterDirection.Input),
- new OracleParameter(":valueFlag", OracleDbType.Char, "1", ParameterDirection.Input),
- new OracleParameter(":createUserID", OracleDbType.Int32,sUserInfo.UserID, ParameterDirection.Input),
- new OracleParameter(":updateUserID", OracleDbType.Int32,sUserInfo.UserID, ParameterDirection.Input)
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- #endregion
- orgID = oracleTrConn.GetSqlResultToStr("SELECT SEQ_MST_ORGANIZATION_ID.nextval FROM dual");
- #region 根据新插入的帐套ID,生成该帐套下的组织机构001部门
- string sqlString2 = "INSERT INTO TP_MST_Organization "
- + "(OrganizationID"
- + ",OrganizationCode"
- + ",OrganizationName"
- + ",OrganizationFullName"
- + ",Address"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateUserID"
- + ",UpdateUserID"
- + ",IsLeafNode)"
- + " VALUES "
- + "(:organizationID"
- + ",:organizationCode"
- + ",:organizationName"
- + ",:organizationfullName"
- + ",:address"
- + ",:accountID"
- + ",:valueFlag"
- + ",:createUserID"
- + ",:updateUserID"
- + ",:isLeafNode)";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":organizationID", Convert.ToInt32(orgID)),
- new OracleParameter(":organizationCode","001"),
- new OracleParameter(":organizationName",dataRow["AccountName"].ToString()),
- new OracleParameter(":organizationfullName",dataRow["AccountName"].ToString()),
- new OracleParameter(":address","-"),
- new OracleParameter(":accountID",Convert.ToInt32(accountID)),
- new OracleParameter(":valueFlag","1"),
- new OracleParameter(":createUserID",sUserInfo.UserID),
- new OracleParameter(":updateUserID",sUserInfo.UserID),
- new OracleParameter(":isLeafNode","0")
- };
- oracleTrConn.ExecuteNonQuery(sqlString2, parmeters2);
- #endregion
- string orgID2 = oracleTrConn.GetSqlResultToStr("SELECT SEQ_MST_ORGANIZATION_ID.nextval FROM dual");
- #region 根据新插入的帐套ID,生成该帐套下的组织机构001001部门
- string sqlString21 = "INSERT INTO TP_MST_Organization "
- + "(OrganizationID"
- + ",OrganizationCode"
- + ",OrganizationName"
- + ",OrganizationFullName"
- + ",Address"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateUserID"
- + ",UpdateUserID"
- + ",IsLeafNode)"
- + " VALUES "
- + "(:organizationID"
- + ",:organizationCode"
- + ",:organizationName"
- + ",:organizationfullName"
- + ",:address"
- + ",:accountID"
- + ",:valueFlag"
- + ",:createUserID"
- + ",:updateUserID"
- + ",:isLeafNode)";
- OracleParameter[] parmeters21 = new OracleParameter[]
- {
- new OracleParameter(":organizationID", Convert.ToInt32(orgID2)),
- new OracleParameter(":organizationCode","001001"),
- new OracleParameter(":organizationName",dataRow["AccountName"].ToString()),
- new OracleParameter(":organizationfullName",dataRow["AccountName"].ToString()+"→"+dataRow["AccountName"].ToString()),
- new OracleParameter(":address","-"),
- new OracleParameter(":accountID",Convert.ToInt32(accountID)),
- new OracleParameter(":valueFlag","1"),
- new OracleParameter(":createUserID",sUserInfo.UserID),
- new OracleParameter(":updateUserID",sUserInfo.UserID),
- new OracleParameter(":isLeafNode","1")
- };
- oracleTrConn.ExecuteNonQuery(sqlString21, parmeters21);
- #endregion
- userID = oracleTrConn.GetSqlResultToStr("SELECT SEQ_MST_USER_USERID.nextval FROM dual");
- #region 根据新插入的帐套ID和部门ID 生成admin用户
- string sqlString4 = "INSERT INTO TP_MST_User "
- + "(UserID"
- + ",UserCode"
- + ",UserName"
- + ",Password"
- + ",OrganizationID"
- + ",AccountID"
- + ",AccountCode"
- + ",ValueFlag"
- + ",CreateUserID"
- + ",UpdateUserID"
- //+ ",Relatedobjecttype"
- + ",CanSmartLogin"
- + ",CanPCLogin"
- + ",IsWorker)"
- + " VALUES ("
- + ":userID"
- + ",:userCode"
- + ",:UserName"
- + ",:Password"
- + ",:organizationID"
- + ",:accountID"
- + ",:accountCode"
- + ",:valueFlag"
- + ",:createUserID"
- + ",:updateUserID"
- //+ ",:relatedobjecttype"
- + ",'0'"
- + ",'1'"
- + ",'0'"
- //+ " FROM TP_MST_Account WHERE AccountID=:accountID";
- + ")";
- OracleParameter[] parmeters4 = new OracleParameter[]
- {
- new OracleParameter(":userID",Convert.ToInt32(userID)),
- new OracleParameter(":userCode","admin"),
- new OracleParameter(":UserName","系统管理员"),
- new OracleParameter(":Password",defaultPassword),
- new OracleParameter(":organizationID",Convert.ToInt32(orgID)),
- new OracleParameter(":accountID",Convert.ToInt32(accountID)),
- new OracleParameter(":accountCode",dataRow["AccountCode"].ToString()),
- new OracleParameter(":valueFlag","1"),
- new OracleParameter(":createUserID", sUserInfo.UserID),
- new OracleParameter(":updateUserID", sUserInfo.UserID),
- //new OracleParameter(":relatedobjecttype", 1)
- };
- oracleTrConn.ExecuteNonQuery(sqlString4, parmeters4);
- #endregion
- #region 根据新插入的帐套ID 生成业务系统参数数据
- string sqlString6 = "INSERT INTO TP_MST_SYSTEMSETTING "
- + "("
- + "SETTINGCODE"
- + ",SETTINGNAME"
- + ",CATEGORYNAME"
- + ",SETTINGVALUE"
- + ",SETTINGDEFAULTVALUES"
- + ",ACCOUNTID"
- + ",REMARKS"
- + ",TOOLTIP"
- + ",EDITFLAG"
- + ",UPDATEUSERID"
- + ")"
- + " SELECT "
- + "SETTINGCODE"
- + ",SETTINGNAME"
- + ",CATEGORYNAME"
- //+ ",SETTINGVALUE"
- + ",SETTINGDEFAULTVALUES"
- + ",SETTINGDEFAULTVALUES"
- + ",:accountID"
- + ",REMARKS"
- + ",TOOLTIP"
- + ",EDITFLAG"
- + ",:updateUserID"
- + " FROM TP_MST_SystemSetting "
- //+ " WHERE AccountID IN (SELECT AccountID FROM TP_MST_User WHERE userCode=:userCode)";
- + " WHERE AccountID = :systemaccountID";
- OracleParameter[] parmeters6 = new OracleParameter[]
- {
- new OracleParameter(":accountID",Convert.ToInt32(accountID)),
- new OracleParameter(":updateUserID",sUserInfo.UserID),
- //new OracleParameter(":userCode","system")
- new OracleParameter(":systemaccountID",sUserInfo.AccountID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString6, parmeters6);
- #endregion
- #region 根据新插入的帐套ID 生成系统日期信息
- string sqlString7 = "INSERT INTO TP_MST_SYSTEMDATE "
- + "("
- + "SYSTEMDATETYPE"
- + ",DATEVALUE"
- + ",REMARKS"
- + ",ACCOUNTID"
- + ",UPDATEUSERID"
- + ")"
- + " SELECT "
- + "SYSTEMDATETYPE"
- + ",TRUNC(sysdate)"
- + ",REMARKS"
- + ",:accountid"
- + ",:UPDATEUSERID"
- + " FROM TP_MST_SYSTEMDATE WHERE AccountID = :sysaccountid";
- OracleParameter[] parmeters7 = new OracleParameter[]
- {
- new OracleParameter(":accountid",Convert.ToInt32(accountID)),
- new OracleParameter(":UPDATEUSERID",sUserInfo.UserID),
- new OracleParameter(":sysaccountid",sUserInfo.AccountID),
- };
- oracleTrConn.ExecuteNonQuery(sqlString7, parmeters7);
- #endregion
- #region 根据新插入的产品类别数据信息
- string sqlString8 = "INSERT INTO TP_MST_GoodsType "
- + "("
- + "GOODSTYPECODE"
- + ",GOODSTYPENAME"
- + ",GOODSTYPEFULLNAME"
- + ",ISLEAFNODE"
- + ",REMARKS"
- + ",ACCOUNTID"
- + ",VALUEFLAG"
- //+ ",CREATETIME"
- + ",CREATEUSERID"
- + ",UPDATEUSERID"
- + ") "
- + " VALUES( "
- + "'001'"
- + ",'产品类别'"
- + ",'产品类别'"
- + ",'0'"
- + ",null"
- + ",:accountid"
- + ",'1'"
- //+ ",sysdate"
- + ",:createUserid"
- + ",:updateUserid"
- // + " FROM TP_MST_GoodsType WHERE ACCOUNTID IN (SELECT AccountID FROM TP_MST_User WHERE userCode=:userCode)";
- + ")";
- OracleParameter[] parmeters8 = new OracleParameter[]
- {
- new OracleParameter(":accountid",Convert.ToInt32(accountID)),
- new OracleParameter(":createUserid",sUserInfo.UserID),
- new OracleParameter(":updateUserid",sUserInfo.UserID),
- // new OracleParameter(":userCode","system")
- };
- oracleTrConn.ExecuteNonQuery(sqlString8, parmeters8);
- string sqlString81 = "INSERT INTO TP_MST_GoodsType "
- + "("
- + "GOODSTYPECODE"
- + ",GOODSTYPENAME"
- + ",GOODSTYPEFULLNAME"
- + ",ISLEAFNODE"
- + ",REMARKS"
- + ",ACCOUNTID"
- + ",VALUEFLAG"
- //+ ",CREATETIME"
- + ",CREATEUSERID"
- + ",UPDATEUSERID"
- + ") "
- + " VALUES( "
- + "'001001'"
- + ",'大件'"
- + ",'产品类别→大件'"
- + ",'1'"
- + ",null"
- + ",:accountid"
- + ",'1'"
- //+ ",sysdate"
- + ",:createUserid"
- + ",:updateUserid"
- // + " FROM TP_MST_GoodsType WHERE ACCOUNTID IN (SELECT AccountID FROM TP_MST_User WHERE userCode=:userCode)";
- + ")";
- OracleParameter[] parmeters81 = new OracleParameter[]
- {
- new OracleParameter(":accountid",Convert.ToInt32(accountID)),
- new OracleParameter(":createUserid",sUserInfo.UserID),
- new OracleParameter(":updateUserid",sUserInfo.UserID),
- // new OracleParameter(":userCode","system")
- };
- oracleTrConn.ExecuteNonQuery(sqlString81, parmeters81);
- string sqlString82 = "INSERT INTO TP_MST_GoodsType "
- + "("
- + "GOODSTYPECODE"
- + ",GOODSTYPENAME"
- + ",GOODSTYPEFULLNAME"
- + ",ISLEAFNODE"
- + ",REMARKS"
- + ",ACCOUNTID"
- + ",VALUEFLAG"
- //+ ",CREATETIME"
- + ",CREATEUSERID"
- + ",UPDATEUSERID"
- + ") "
- + " VALUES( "
- + "'001002'"
- + ",'小件'"
- + ",'产品类别→小件'"
- + ",'1'"
- + ",null"
- + ",:accountid"
- + ",'1'"
- //+ ",sysdate"
- + ",:createUserid"
- + ",:updateUserid"
- // + " FROM TP_MST_GoodsType WHERE ACCOUNTID IN (SELECT AccountID FROM TP_MST_User WHERE userCode=:userCode)";
- + ")";
- OracleParameter[] parmeters82 = new OracleParameter[]
- {
- new OracleParameter(":accountid",Convert.ToInt32(accountID)),
- new OracleParameter(":createUserid",sUserInfo.UserID),
- new OracleParameter(":updateUserid",sUserInfo.UserID),
- // new OracleParameter(":userCode","system")
- };
- oracleTrConn.ExecuteNonQuery(sqlString82, parmeters82);
- #endregion
- #region 根据新插入的产品分级数据信息
- string sqlString9 = "INSERT INTO TP_MST_GoodsLevel "
- + "("
- + "GoodsLevelName,"
- + "GoodsLevelTypeID,"
- + "IsSemiFinishedEx,"
- + "SFEDisplayNo,"
- + "IsFinishedEx,"
- + "FEDisplayNo,"
- + "IsFinished,"
- + "IsScrapped,"
- + "CanDisable,"
- + "Remarks,"
- + "AccountID,"
- + "ValueFlag,"
- + "CreateUserID,"
- + "UpdateUserID"
- + ") "
- + " SELECT "
- + "GoodsLevelTypeName,"
- + "GoodsLevelTypeID,"
- + "IsSemiFinishedEx,"
- + "SFEDisplayNo,"
- + "IsFinishedEx,"
- + "FEDisplayNo,"
- + "IsFinished,"
- + "IsScrapped,"
- + "CanDisable,"
- + "Remarks,"
- + ":accountID,"
- + "'1',"
- + ":createUserid,"
- + ":updateUserid"
- + " FROM TP_SYS_GoodsLevelType";
- OracleParameter[] parmeters9 = new OracleParameter[]
- {
- new OracleParameter(":accountID",Convert.ToInt32(accountID)),
- new OracleParameter(":createUserid",sUserInfo.UserID),
- new OracleParameter(":updateUserid",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString9, parmeters9);
- #endregion
- #region 报销 结算方式
- string sqlString10 =
- @"insert into TB_MST_SETTLEMENTTYPE
- (SETTLEMENTTYPENAME,
- ISCURRENCYSETTLEMENT,
- REMARKS,
- ACCOUNTID,
- VALUEFLAG,
- CREATEUSERID,
- UPDATEUSERID,
- SUBJECTID)
- values
- ('(报销)', '0', '报销平账时用', :ACCOUNTID, '9', :createUserid, :createUserid, null)";
- OracleParameter[] parmeters10 = new OracleParameter[]
- {
- new OracleParameter(":ACCOUNTID",Convert.ToInt32(accountID)),
- new OracleParameter(":createUserid",sUserInfo.UserID),
- };
- oracleTrConn.ExecuteNonQuery(sqlString10, parmeters10);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新帐套信息
- string sqlString = "UPDATE TP_MST_Account SET "
- // 编码不允许修改
- //+ " AccountCode = :accountCode,"
- + " AccountName = :accountName,"
- + " Remarks = :remarks,"
- + " ValueFlag = :valueFlag,"
- //+ " UpdateTime = :updateTime,"
- + " UpdateUserID = :updateUserID"
- + " WHERE AccountID = :accountID";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- //new OracleParameter(":accountCode",dataRow["AccountCode"].ToString()),
- new OracleParameter(":accountName",dataRow["AccountName"].ToString()),
- new OracleParameter(":remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":valueFlag",dataRow["ValueFlag"].ToString()),
- //new OracleParameter(":updateTime",DateTime.Now),
- new OracleParameter(":updateUserID",sUserInfo.UserID),
- new OracleParameter(":accountID",dataRow["AccountID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters1);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return intResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- #endregion
- #region 报表工序基础信息
- /// <summary>
- /// 新建报表数据来源
- /// </summary>
- /// <param name="rptProcedureEntity">新建实体</param>
- /// <param name="dsSourse">工序数据源</param>
- /// <param name="userInfo">当前用户信息</param>
- /// <returns>
- /// 受影响行数
- /// </returns>
- public static int AddRptProcedure(RptProcedureEntity rptProcedureEntity, DataSet dsSourse, SUserInfo userInfo)
- {
- int RowsCount = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- StringBuilder sbSql = new StringBuilder();
- #region 添加报表数据来源信息
- //获取序列ID
- sbSql.Clear();
- sbSql.Append("select SEQ_MST_RPTPROCEDURE_ID.NEXTVAL from dual");
- int rptProcedureId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- //添加缺陷扣罚策略主体信息
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_RptProcedure
- (RptProcedureID,RptProcedureCode,RptProcedureName,RptProcedureType,
- AccountID,
- CreateUserID,UpdateUserID,displayno)
- Values
- (:RptProcedureID,:RptProcedureCode,:RptProcedureName,
- :RptProcedureType,:AccountID,
- :CreateUserID,:UpdateUserID,:displayno)");
- OracleParameter[] rptProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureId,ParameterDirection.Input),
- new OracleParameter(":RptProcedureCode",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureCode,ParameterDirection.Input),
- new OracleParameter(":RptProcedureName",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureName,ParameterDirection.Input),
- new OracleParameter(":RptProcedureType",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureTpye,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32,
- userInfo.AccountID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":displayno",OracleDbType.Int32,
- rptProcedureEntity.DisplayNo,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureParas);
- #endregion
- #region 添加数据来源工序信息
- if (dsSourse != null)
- {
- DataTable dtrptSProcedure = dsSourse.Tables[Constant.INT_IS_ZERO];
- foreach (DataRow drFor in dtrptSProcedure.Rows)
- {
- sbSql.Clear();
- //获得序列
- sbSql.Append("select SEQ_MST_RPTSPROCEDURE_ID.NEXTVAL from dual");
- int rptSProcedureId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- //添加信息
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_RptSProcedure
- (RptSProcedureID,ProcedureID,
- ProcedureCode,ProcedureName,
- RptProcedureID,
- CreateUserID)
- Values
- (:RptSProcedureID,:ProcedureID,:ProcedureCode,
- :ProcedureName,:RptProcedureID,:CreateUserID)");
- OracleParameter[] rptSProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptSProcedureID",OracleDbType.Int32,
- rptSProcedureId,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureId,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptSProcedureParas);
- }
- }
- #endregion
- #region 添加数据统计工序信息
- if (dsSourse != null)
- {
- DataTable dtrptTProcedure = dsSourse.Tables[Constant.INT_IS_ONE];
- foreach (DataRow drFor in dtrptTProcedure.Rows)
- {
- sbSql.Clear();
- //获得序列
- sbSql.Append("select SEQ_MST_RPTTPROCEDURE_ID.NEXTVAL from dual");
- int rptTProcedureId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- //添加信息
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_RptTProcedure
- (RptTProcedureID,ProcedureID,
- ProcedureCode,ProcedureName,
- RptProcedureID,
- CreateUserID)
- Values
- (:RptTProcedureID,:ProcedureID,:ProcedureCode,
- :ProcedureName,:RptProcedureID,:CreateUserID)");
- OracleParameter[] rptTProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptTProcedureID",OracleDbType.Int32,
- rptTProcedureId,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureId,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptTProcedureParas);
- }
- }
- #endregion
- if (RowsCount == 0)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- else
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- }
- return RowsCount;
- }
- //catch (Exception ex)
- catch
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return RowsCount;
- }
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- return RowsCount;
- }
- /// <summary>
- /// 修改报表数据来源
- /// </summary>
- /// <param name="rptProcedureEntity">新建实体</param>
- /// <param name="dsSourse">工序数据源</param>
- /// <param name="userInfo">当前用户信息</param>
- /// <returns>
- /// 受影响行数
- /// </returns>
- public static int UpdateRptProcedure(RptProcedureEntity rptProcedureEntity, DataSet dsSourse, SUserInfo userInfo)
- {
- int RowsCount = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- StringBuilder sbSql = new StringBuilder();
- #region 修改报表数据来源信息
- //修改报表数据来源信息
- sbSql.Clear();
- sbSql.Append(@"Update TP_MST_RptProcedure
- Set RptProcedureCode=:RptProcedureCode,
- RptProcedureName=:RptProcedureName,
- RptProcedureType=:RptProcedureType,
- UpdateUserID=:UpdateUserID,
- displayno=:displayno
- Where RptProcedureID=:RptProcedureID
- And OPTimeStamp=:OPTimeStamp");
- OracleParameter[] rptProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptProcedureCode",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureCode,ParameterDirection.Input),
- new OracleParameter(":RptProcedureName",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureName,ParameterDirection.Input),
- new OracleParameter(":RptProcedureType",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureTpye,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
- rptProcedureEntity.OPTimeStamp,ParameterDirection.Input),
- new OracleParameter(":displayno",OracleDbType.Int32,
- rptProcedureEntity.DisplayNo,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureParas);
- #endregion
- if (RowsCount == 1)
- {
- if (dsSourse != null)
- {
- #region 编辑数据来源工序信息
- DataTable dtrptSProcedure = dsSourse.Tables[Constant.INT_IS_ZERO];
- foreach (DataRow drFor in dtrptSProcedure.Rows)
- {
- if (drFor.RowState == DataRowState.Added) //添加
- {
- sbSql.Clear();
- //获得序列
- sbSql.Append("select SEQ_MST_RPTSPROCEDURE_ID.NEXTVAL from dual");
- int rptSProcedureId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- //添加信息
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_RptSProcedure
- (RptSProcedureID,ProcedureID,
- ProcedureCode,ProcedureName,
- RptProcedureID,
- CreateUserID)
- Values
- (:RptSProcedureID,:ProcedureID,:ProcedureCode,
- :ProcedureName,:RptProcedureID,:CreateUserID)");
- OracleParameter[] rptSProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptSProcedureID",OracleDbType.Int32,
- rptSProcedureId,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptSProcedureParas);
- }
- else if (drFor.RowState == DataRowState.Modified)
- {
- //修改报表数据来源信息
- sbSql.Clear();
- sbSql.Append(@"Update TP_MST_RptSProcedure
- Set ProcedureID=:ProcedureID,
- ProcedureCode=:ProcedureCode,
- ProcedureName=:ProcedureName
- Where RptSProcedureID=:RptSProcedureID");
- OracleParameter[] rptProcedureUpdateParas = new OracleParameter[] {
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptSProcedureID",OracleDbType.Int32,
- drFor["RptSProcedureID"],ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureUpdateParas);
- }
- else if (drFor.RowState == DataRowState.Deleted)
- {
- sbSql.Clear();
- sbSql.Append(@"Delete From TP_MST_RptSProcedure
- Where RptSProcedureID = :RptSProcedureID
- ");
- OracleParameter[] rptProcedureDelParas = new OracleParameter[] {
- new OracleParameter(":RptSProcedureID",OracleDbType.Int32,
- drFor["RptSProcedureID",DataRowVersion.Original],ParameterDirection.Input),
- };
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureDelParas);
- }
- }
- #endregion
- #region 编辑数据统计工序信息
- DataTable dtrptTProcedure = dsSourse.Tables[Constant.INT_IS_ONE];
- foreach (DataRow drFor in dtrptTProcedure.Rows)
- {
- if (drFor.RowState == DataRowState.Added) //添加
- {
- sbSql.Clear();
- //获得序列
- sbSql.Append("select SEQ_MST_RPTTPROCEDURE_ID.NEXTVAL from dual");
- int rptTProcedureId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- //添加信息
- sbSql.Clear();
- sbSql.Append(@"Insert into TP_MST_RptTProcedure
- (RptTProcedureID,ProcedureID,
- ProcedureCode,ProcedureName,
- RptProcedureID,
- CreateUserID)
- Values
- (:RptTProcedureID,:ProcedureID,:ProcedureCode,
- :ProcedureName,:RptProcedureID,:CreateUserID)");
- OracleParameter[] rptSProcedureParas = new OracleParameter[] {
- new OracleParameter(":RptTProcedureID",OracleDbType.Int32,
- rptTProcedureId,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- userInfo.UserID,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptSProcedureParas);
- }
- else if (drFor.RowState == DataRowState.Modified)
- {
- //修改报表数据来源信息
- sbSql.Clear();
- sbSql.Append(@"Update TP_MST_RptTProcedure
- Set ProcedureID=:ProcedureID,
- ProcedureCode=:ProcedureCode,
- ProcedureName=:ProcedureName
- Where RptTProcedureID=:RptTProcedureID");
- OracleParameter[] rptProcedureUpdateParas = new OracleParameter[] {
- new OracleParameter(":ProcedureID",OracleDbType.Int32,
- drFor["ProcedureID"],ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.NVarchar2,
- drFor["ProcedureCode"],ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.NVarchar2,
- drFor["ProcedureName"],ParameterDirection.Input),
- new OracleParameter(":RptTProcedureID",OracleDbType.Int32,
- drFor["RptTProcedureID"],ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureUpdateParas);
- }
- else if (drFor.RowState == DataRowState.Deleted)
- {
- sbSql.Clear();
- sbSql.Append(@"Delete From TP_MST_RptTProcedure
- Where RptTProcedureID = :RptTProcedureID
- ");
- OracleParameter[] rptProcedureDelParas = new OracleParameter[] {
- new OracleParameter(":RptTProcedureID",OracleDbType.Int32,
- drFor["RptTProcedureID",DataRowVersion.Original],ParameterDirection.Input),
- };
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptProcedureDelParas);
- }
- }
- #endregion
- }
- }
- if (RowsCount == 0)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- else
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- }
- return RowsCount;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 停用报表数据来源
- /// </summary>
- /// <param name="rptProcedureEntity">新建实体</param>
- /// <param name="userInfo">当前用户信息</param>
- /// <returns>
- /// 受影响行数
- /// </returns>
- public static int StopRptProcedure(RptProcedureEntity rptProcedureEntity, SUserInfo userInfo)
- {
- int RowsCount = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- ServiceResultEntity srEntity = new ServiceResultEntity();
- try
- {
- oracleTrConn.Connect();
- StringBuilder sbSql = new StringBuilder();
- #region 修改报表数据来源信息
- //修改报表数据来源信息
- sbSql.Clear();
- sbSql.Append(@"Update TP_MST_RptProcedure
- Set ValueFlag = 0
- Where RptProcedureID=:RptProcedureID
- And OPTimeStamp=:OPTimeStamp");
- OracleParameter[] rptDelParas = new OracleParameter[] {
-
- new OracleParameter(":RptProcedureID",OracleDbType.NVarchar2,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
- rptProcedureEntity.OPTimeStamp,ParameterDirection.Input),
- };
- //连接数据库并返回结果
- RowsCount = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), rptDelParas);
- #endregion
- if (RowsCount == 1)
- {
- #region 删除相关工序信息
- sbSql.Clear();
- sbSql.Append(@"Delete From TP_MST_RptSProcedure
- Where RptProcedureID = :RptProcedureID
- ");
- OracleParameter[] DeleteRptSParas = new OracleParameter[] {
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- };
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DeleteRptSParas);
- sbSql.Clear();
- sbSql.Append(@"Delete From TP_MST_RptTProcedure
- Where RptProcedureID = :RptProcedureID
- ");
- OracleParameter[] DeleteRPTTParas = new OracleParameter[] {
- new OracleParameter(":RptProcedureID",OracleDbType.Int32,
- rptProcedureEntity.RptProcedureID,ParameterDirection.Input),
- };
- //删除质量考核产品明细数据(右边对应列数据)
- RowsCount += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DeleteRPTTParas);
- #endregion
- }
- //如果插入失败则回滚事务并关闭
- if (RowsCount == 0)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- else
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- }
- return RowsCount;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- srEntity.Exception = ex;
- srEntity.Status = Constant.ServiceResultStatus.SystemError;
- return RowsCount;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- #endregion
- #region 私有方法
- /// <summary>
- /// 获取上级组织机构中已经存在的组织机构数量
- /// </summary>
- /// <param name="oracleTrConn">事务</param>
- /// <param name="parentCode">上级部门Code</param>
- /// <param name="AccountID">帐套ID</param>
- /// <returns>int组织机构数量</returns>
- private static int GetOrgLevelMax(IDBTransaction oracleTrConn,
- string parentCode, string AccountID)
- {
- try
- {
- string sqlString = "SELECT MAX(OrganizationCode)"
- + " FROM TP_MST_Organization"
- + " WHERE OrganizationCode LIKE '" + parentCode + "%'"
- + " AND LENGTH(OrganizationCode) = LENGTH('" + parentCode + "') + 3"
- + " AND AccountID = " + AccountID;
- DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString);
- int orgCount = 0;
- if (returnDataset.Tables[0].Rows.Count != 0)
- {
- if (!string.IsNullOrEmpty(returnDataset.Tables[0].Rows[0][0] + ""))
- {
- string orgCode = Convert.ToString(returnDataset.Tables[0].Rows[0][0]);
- string tmpCode = orgCode.Substring(orgCode.Length - 3);
- orgCount = Convert.ToInt32(tmpCode);
- }
- }
- return orgCount;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 判断该组织机构下是否存在员工
- /// </summary>
- /// <param name="oracleTrConn">事务</param>
- /// <param name="organizationID">组织机构ID</param>
- /// <param name="AccountID">帐套ID</param>
- /// <returns>
- /// true:存在
- /// false:不存在
- /// </returns>
- private static bool IsExistStaff(IDBTransaction oracleTrConn,
- int organizationID, string AccountID)
- {
- try
- {
- string sqlString = "SELECT STAFFID FROM TP_HR_STAFF"
- + " WHERE OrganizationID = " + organizationID;
- DataSet returnDataset = oracleTrConn.GetSqlResultToDs(sqlString);
- if (returnDataset != null
- && returnDataset.Tables.Count > 0
- && returnDataset.Tables[0].Rows.Count > 0)
- {
- return true;
- }
- return false;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- #endregion
- /// <summary>
- /// 保存缺陷类别数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDefectData">缺陷类别数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2014.09.10 任海 新建
- /// </remarks>
- public static int SaveDefectTypeData(DataTable dataDefectData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectData == null && dataDefectData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return 0;
- }
- int returnResult = 1;
- oracleTrConn.Connect();
- #region 对要保存的产品缺陷数据进行必要的验证
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建产品缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的产品缺陷类别名称
- string sqlString = "SELECT Count(*) FROM TP_MST_DefectType WHERE AccountID = :AccountID and DefectTypeName =:DefectTypeName ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectTypeName",dataRow["DefectTypeName"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult =-1;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的产品缺陷类别名称
- string sqlStrings = "SELECT Count(*) FROM TP_MST_DefectType WHERE AccountID = :AccountID and DefectTypeName = :DefectTypeName and DefectTypeID <> :DefectTypeID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectTypeName",dataRow["DefectTypeName"]),
- new OracleParameter(":DefectTypeID",dataRow["DefectTypeID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = -1;
- break;
- }
- #endregion
- }
- }
- if (returnResult == -1)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建产品缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增产品缺陷信息
- #region 向TP_MST_Defect插入数据
- string sqlInsertString = "INSERT INTO TP_MST_DefectType"
- + "(DefectTypeName"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectTypeName"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectTypeName",dataRow["DefectTypeName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新产品缺陷信息
- string sqlUpdateString = "UPDATE TP_MST_DefectType SET "
- + " DefectTypeName = :DefectTypeName,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectTypeID = :DefectTypeID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectTypeName",dataRow["DefectTypeName"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectTypeID",dataRow["DefectTypeID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除产品缺陷信息
- string sqlDeleteString = "DELETE TP_MST_DefectType WHERE DefectTypeID = :DefectTypeID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectTypeID",dataRow["DefectTypeID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存用户的功能权限
- /// </summary>
- /// </returns>
- public static FunRightResultEntity SaveUserFunctionRightList(DataTable userRightData, SUserInfo sUserInfo)
- {
- FunRightResultEntity result = new FunRightResultEntity();
- result.OperationStatus = 0;
- result.LicenseFunctions = "";
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- if (userRightData == null || userRightData.Rows.Count < 1)
- {
- return result;
- }
- oracleTrConn.Connect();
- //#region 删除数据
- //string sqlString1 = "DELETE TP_MST_UserRight WHERE UserID = :pUserID";
- //Oracle.DataAccess.Client.OracleParameter[] paras1 = new Oracle.DataAccess.Client.OracleParameter[]
- // {
- // new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, userID, ParameterDirection.Input)
- // };
- //#endregion
- //result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString1, paras1);
- #region 增加新的数据
- // 对现有功能权限进行遍历
- foreach (DataRow dataRow in userRightData.Rows)
- {
- if (dataRow.RowState == DataRowState.Added)
- {
- string sqlString2 = "INSERT INTO TP_MST_UserRight "
- + "(UserID"
- + ",FunctionCode"
- + ",CreateUserID)"
- + " VALUES "
- + "(:pUserID"
- + ",:pFunctionCode"
- + ",:pCreateUserID)";
- Oracle.DataAccess.Client.OracleParameter[] paras2 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":pUserID", OracleDbType.Int32, dataRow["UserID"], ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pFunctionCode",OracleDbType.Varchar2, dataRow["FunctionCode"].ToString(), ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":pCreateUserID", OracleDbType.Int32, sUserInfo.UserID, ParameterDirection.Input)
- };
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlString2, paras2);
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- string sqlDelete = "delete from TP_MST_UserRight where UserID=:UserID and FunctionCode=:FunctionCode";
- Oracle.DataAccess.Client.OracleParameter[] paras2Delete = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID", OracleDbType.Int32, dataRow["UserID",DataRowVersion.Original], ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":FunctionCode",OracleDbType.Varchar2, dataRow["FunctionCode",DataRowVersion.Original].ToString(), ParameterDirection.Input),
- };
- result.OperationStatus += oracleTrConn.ExecuteNonQuery(sqlDelete, paras2Delete);
- }
- }
- #endregion
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 用户范围权限保存
- /// </summary>
- /// <param name="userRightData">用户权限记录集</param>
- /// <param name="userID">用户ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- public static int SaveUserRightList(DataTable userRightData, SUserInfo sUserInfo)
- {
- int returnRowCount = 0;//返回影响行数
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- foreach (DataRow dataRow in userRightData.Rows)
- {
- if (dataRow.RowState == DataRowState.Added)
- {
- if (Convert.ToInt32(dataRow["PurviewType"]) != -99)
- {
- string sqlString2 = "INSERT INTO TP_MST_UserPurview"
- + "(UserID"
- + " ,PurviewID"
- + " ,PurviewType "
- + " ,CreateUserID) "
- + " VALUES "
- + "(:UserID"
- + " ,:PurviewID"
- + " ,:PurviewType"
- + " ,:CreateUserID) ";
- Oracle.DataAccess.Client.OracleParameter[] paras2 = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID",Convert.ToInt32(dataRow["UserID"])),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewID", Convert.ToInt32(dataRow["PurviewID"])),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",Convert.ToInt32(dataRow["PurviewType"])),
- new Oracle.DataAccess.Client.OracleParameter(":CreateUserID",sUserInfo.UserID),
- };
- returnRowCount += oracleTrConn.ExecuteNonQuery(sqlString2, paras2);
- }
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- string sqlDelete = "delete from TP_MST_UserPurview where UserID=:UserID and PurviewID=:PurviewID and PurviewType=:PurviewType";
- Oracle.DataAccess.Client.OracleParameter[] paras2Delete = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":UserID", OracleDbType.Int32, dataRow["UserID",DataRowVersion.Original], ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewID",OracleDbType.Int32, dataRow["PurviewID",DataRowVersion.Original].ToString(), ParameterDirection.Input),
- new Oracle.DataAccess.Client.OracleParameter(":PurviewType",OracleDbType.Int32, dataRow["PurviewType",DataRowVersion.Original].ToString(), ParameterDirection.Input),
- };
- returnRowCount += oracleTrConn.ExecuteNonQuery(sqlDelete, paras2Delete);
- }
- }
- //// 顺序插入现有的权限数据
- //for (int i = 0; i < userRightData.Rows.Count; i++)
- //{
- // // 对每一种权限进行遍历
- // foreach (DataRow dataRow in userRightData.Tables[i].Rows)
- // {
- // if (Convert.ToBoolean(dataRow["RightFlag"]))
- // {
- // sql = "INSERT INTO TP_MST_UserPurview"
- // + "(UserID"
- // + " ,PurviewID"
- // + " ,PurviewType "
- // + " ,CreateUserID) "
- // + " VALUES "
- // + "(:UserID"
- // + " ,:PurviewID"
- // + " ,:PurviewType"
- // + " ,:CreateUserID) ";
- // paras = new Oracle.DataAccess.Client.OracleParameter[]
- // {
- // new Oracle.DataAccess.Client.OracleParameter(":UserID",userID),
- // new Oracle.DataAccess.Client.OracleParameter(":PurviewID", Convert.ToInt32(dataRow["PurviewID"])),
- // new Oracle.DataAccess.Client.OracleParameter(":PurviewType",Convert.ToInt32(dataRow["PurviewType"])),
- // new Oracle.DataAccess.Client.OracleParameter(":CreateUserID",sUserInfo.UserID),
- // };
- // returnRowCount += oracleTrConn.ExecuteNonQuery(sql, paras);
- // }
- // }
- //}
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnRowCount;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存商标数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatLogoData">商标数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2015.11.12 王鑫 新建
- /// </remarks>
- public static int SaveLogoData(DataTable datatLogoData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatLogoData == null && datatLogoData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的商标数据进行必要的验证
- foreach (DataRow dataRow in datatLogoData.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的商标代码
- string sqlString = "SELECT Count(*) FROM tp_mst_logo WHERE AccountID = :AccountID and LogoCode =:LogoCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":LogoCode",dataRow["LogoCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的商标代码
- string sqlStrings = "SELECT Count(*) FROM tp_mst_logo WHERE AccountID = :AccountID and LogoCode = :LogoCode and LogoID <> :LogoID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":LogoCode",dataRow["LogoCode"]),
- new OracleParameter(":LogoID",dataRow["LogoID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in datatLogoData.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增工种信息
- #region 向商标插入数据
- string sqlInsertString = "INSERT INTO TP_MST_Logo "
- + "(LogoCode"
- + ",LogoName"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID,isdefault,displayno, TagCode)"
- + " VALUES "
- + "(:LogoCode"
- + ",:LogoName"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID,:isdefault,:displayno,:TagCode)";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":LogoCode",dataRow["LogoCode"].ToString()),
- new OracleParameter(":LogoName",dataRow["LogoName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID),
- new OracleParameter(":TagCode",dataRow["TagCode"].ToString()),
- new OracleParameter(":isdefault",dataRow["isdefault"].ToString()==""?"0":dataRow["isdefault"].ToString()),
- new OracleParameter(":displayno",dataRow["displayno"].ToString()==""?"1":dataRow["displayno"].ToString()),
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新商标信息
- string sqlUpdateString = "UPDATE TP_MST_Logo SET "
- + " LogoName = :LogoName,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime,"
- + " isdefault = :isdefault,"
- + " TagCode = :TagCode,"
- + " displayno = :displayno"
- + " WHERE LogoID = :LogoID";
- OracleParameter[] oracleParametere = new OracleParameter[]
- {
- new OracleParameter(":LogoName",dataRow["LogoName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":LogoID",dataRow["LogoID"].ToString()),
- new OracleParameter(":TagCode",dataRow["TagCode"].ToString()),
- new OracleParameter(":isdefault",dataRow["isdefault"].ToString()==""?"0":dataRow["isdefault"].ToString()),
- new OracleParameter(":displayno",dataRow["displayno"].ToString()==""?"1":dataRow["displayno"].ToString()),
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParametere);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除商标信息
- string sqlDeleteString = "DELETE TP_MST_Logo WHERE LogoID = :LogoID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":LogoID",dataRow["LogoID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存缺陷扣罚数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDefectFineData">缺陷扣罚数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.1.5 王鑫 新建
- /// </remarks>
- public static int SaveDefectFineData(DataTable dataDefectFineData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectFineData == null && dataDefectFineData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的工种数据进行必要的验证
- foreach (DataRow dataRow in dataDefectFineData.Rows)
- {
- // 新建缺陷扣罚
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的缺陷扣罚代码
- string sqlString = "SELECT Count(*) FROM TP_MST_DefectFine WHERE AccountID = :AccountID and DefectFineCode =:DefectFineCode ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectFineCode",dataRow["DefectFineCode"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的缺陷扣罚代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_DefectFine WHERE AccountID = :AccountID and DefectFineCode = :DefectFineCode and DefectFineID <> :DefectFineID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectFineCode",dataRow["DefectFineCode"]),
- new OracleParameter(":DefectFineID",dataRow["DefectFineID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in dataDefectFineData.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增工种信息
- #region 向T_MST_Jobs插入数据
- string sqlInsertString = "INSERT INTO TP_MST_DefectFine "
- + "(DefectFineCode"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectFineCode"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectFineCode",dataRow["DefectFineCode"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新工种信息
- string sqlUpdateString = "UPDATE TP_MST_DefectFine SET "
- + " DefectFineCode = :DefectFineCode,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectFineID = :DefectFineID";
- OracleParameter[] oracleParametere = new OracleParameter[]
- {
- new OracleParameter(":DefectFineCode",dataRow["DefectFineCode"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectFineID",dataRow["DefectFineID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParametere);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除工种信息
- string sqlDeleteString = "DELETE TP_MST_DefectFine WHERE DefectFineID = :DefectFineID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectFineID",dataRow["DefectFineID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存缺陷扣除数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDefectDeduction">缺陷扣除数数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.1.5 王鑫 新建
- /// </remarks>
- public static int SaveDefectDeduction(DataTable dataDefectDeduction, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectDeduction == null && dataDefectDeduction.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- #region 对要保存的数据进行必要的验证
- foreach (DataRow dataRow in dataDefectDeduction.Rows)
- {
- // 新建缺陷扣除数
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的缺陷除数代码
- string sqlString = "SELECT Count(*) FROM TP_MST_DefectDeduction WHERE AccountID = :AccountID and DefectDeductionNum =:DefectDeductionNum ";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectDeductionNum",dataRow["DefectDeductionNum"].ToString())
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlString, oracleParameter);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的缺陷扣罚代码
- string sqlStrings = "SELECT Count(*) FROM TP_MST_DefectDeduction WHERE AccountID = :AccountID and DefectDeductionNum = :DefectDeductionNum and DefectDeductionID <> :DefectDeductionID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectDeductionNum",dataRow["DefectDeductionNum"]),
- new OracleParameter(":DefectDeductionID",dataRow["DefectDeductionID"])
- };
- string sqlReturnStr = oracleTrConn.GetSqlResultToStr(sqlStrings, oracleParameters);
- if (!Constant.INT_IS_ZERO.ToString().Equals(sqlReturnStr))
- {
- returnResult = Constant.INT_IS_ONE;
- break;
- }
- #endregion
- }
- }
- if (returnResult == Constant.INT_IS_ONE)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- #endregion
- foreach (DataRow dataRow in dataDefectDeduction.Rows)
- {
- // 新建工种
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增工种信息
- #region 向T_MST_Jobs插入数据
- string sqlInsertString = "INSERT INTO TP_MST_DefectDeduction "
- + "(DefectDeductionNum"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectDeductionNum"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectDeductionNum",dataRow["DefectDeductionNum"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新工种信息
- string sqlUpdateString = "UPDATE TP_MST_DefectDeduction SET "
- + " DefectDeductionNum = :DefectDeductionNum,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectDeductionID = :DefectDeductionID";
- OracleParameter[] oracleParametere = new OracleParameter[]
- {
- new OracleParameter(":DefectDeductionNum",dataRow["DefectDeductionNum"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectDeductionID",dataRow["DefectDeductionID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParametere);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除工种信息
- string sqlDeleteString = "DELETE TP_MST_DefectDeduction WHERE DefectDeductionID = :DefectDeductionID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":DefectDeductionID",dataRow["DefectDeductionID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存缺陷关系数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="dataDefectFineRelation">缺陷扣罚数据</param>
- /// <param name="dataDefectDeductionRelation">缺陷扣除数数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.1.5 王鑫 新建
- /// </remarks>
- public static int SaveDefectRelation(DataTable dataDefectFineRelation, DataTable dataDefectDeductionRelation, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- int returnResult = Constant.INT_IS_ZERO;
- oracleTrConn.Connect();
- // 删除表里的数据,重新添加
- string sqlString = "delete from TP_MST_DefectFineRelation";
- returnResult += oracleTrConn.ExecuteNonQuery(sqlString);
- sqlString = "delete from TP_MST_DefectDeductionRelation";
- returnResult += oracleTrConn.ExecuteNonQuery(sqlString);
- //
- // 插入缺陷扣罚数据
- foreach (DataRow dataRow in dataDefectFineRelation.Rows)
- {
- if (dataRow.RowState != DataRowState.Deleted)
- {
- string sqlExists = "select 1 from TP_MST_DefectFineRelation where DefectID=:DefectID and DefectFineID=:DefectFineID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString()),
- new OracleParameter(":DefectFineID",dataRow["DefectFineID"].ToString()),
- };
- DataSet ds = oracleTrConn.GetSqlResultToDs(sqlExists, oracleParameters);
- if (ds != null && ds.Tables[0].Rows.Count == 0)
- {
- string sqlInsertString = "INSERT INTO TP_MST_DefectFineRelation "
- + "(DefectID"
- + ",DefectFineID"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectID"
- + ",:DefectFineID"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString()),
- new OracleParameter(":DefectFineID",dataRow["DefectFineID"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- }
- }
- }
- // 插入缺陷扣除数数据
- foreach (DataRow dataRow in dataDefectDeductionRelation.Rows)
- {
- if (dataRow.RowState != DataRowState.Deleted)
- {
- string sqlExists = "select 1 from TP_MST_DefectDeductionRelation where DefectID=:DefectID and DefectDeductionID=:DefectDeductionID";
- OracleParameter[] oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString()),
- new OracleParameter(":DefectDeductionID",dataRow["DefectDeductionID"].ToString()),
- };
- DataSet ds = oracleTrConn.GetSqlResultToDs(sqlExists, oracleParameters);
- if (ds != null && ds.Tables[0].Rows.Count == 0)
- {
- string sqlInsertString = "INSERT INTO TP_MST_DefectDeductionRelation "
- + "(DefectID"
- + ",DefectDeductionID"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectID"
- + ",:DefectDeductionID"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- oracleParameters = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString()),
- new OracleParameter(":DefectDeductionID",dataRow["DefectDeductionID"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameters);
- }
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存半成品缺陷数据
- /// </summary>
- /// <param name="dataDefectData">缺陷数据</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.06.22 王鑫 新建
- /// </remarks>
- public static int SaveSemicheckDefect(DataTable dataDefectData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectData == null && dataDefectData.Rows.Count < 0)
- {
- return 3;
- }
- int intResult = 2;
- oracleTrConn.Connect();
- #region 对要保存的帐套数据进行必要的验证
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建缺陷位置
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的位置代码
- string sqlString1 = "SELECT Count(*) FROM tp_mst_semicheckdefect WHERE AccountID = :AccountID and DefectCode =:DefectCode ";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString())
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString1, parmeters1);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的位置代码
- string sqlString2 = "SELECT Count(*) FROM tp_mst_semicheckdefect WHERE AccountID = :AccountID and DefectCode = :DefectCode and DefectID <> :DefectID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectCode",dataRow["DefectCode"]),
- new OracleParameter(":DefectID",dataRow["DefectID"])
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- }
- if (intResult == 1)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return intResult;
- }
- #endregion
- //string accountID = ""; // 存储新插入账套ID
- //string userID = ""; //用户ID
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建缺陷
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增缺陷信息
- #region 向tp_mst_semicheckdefect插入数据
- string sqlString1 = "INSERT INTO tp_mst_semicheckdefect "
- + "(DefectCode"
- + ",DefectName"
- + ",Remarks"
- + ",DisplayNo"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectCode"
- + ",:DefectName"
- + ",:Remarks"
- + ",:DisplayNo"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString()),
- new OracleParameter(":DefectName",dataRow["DefectName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新缺陷信息
- string sqlString = "UPDATE tp_mst_semicheckdefect SET "
- + " DefectCode = :DefectCode,"
- + " DefectName = :DefectName,"
- + " Remarks = :Remarks,"
- + " DisplayNo = :DisplayNo,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectID = :DefectID";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectCode",dataRow["DefectCode"].ToString()),
- new OracleParameter(":DefectName",dataRow["DefectName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectID",dataRow["DefectID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters1);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除缺陷信息
- string sqlDeleteString = "DELETE tp_mst_semicheckdefect WHERE DefectID = :DefectID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":DefectID",dataRow["DefectID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, parmeters2);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return intResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存半成品缺陷位置数据
- /// </summary>
- /// <param name="dataDefectData">缺陷数据</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.06.23 王鑫 新建
- /// </remarks>
- public static int SaveScdefectPosition(DataTable dataDefectData, SUserInfo sUserInfo)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (dataDefectData == null && dataDefectData.Rows.Count < 0)
- {
- return 3;
- }
- int intResult = 2;
- oracleTrConn.Connect();
- #region 对要保存的帐套数据进行必要的验证
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建缺陷位置
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 判断是否存在相同的位置代码
- string sqlString1 = "SELECT Count(*) FROM tp_mst_scdefectposition WHERE AccountID = :AccountID and DefectPositionCode =:DefectPositionCode ";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString())
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString1, parmeters1);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 判断是否存在相同的位置代码
- string sqlString2 = "SELECT Count(*) FROM tp_mst_scdefectposition WHERE AccountID = :AccountID and DefectPositionCode = :DefectPositionCode and DefectPositionID <> :DefectPositionID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"]),
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID"])
- };
- string strTemp1 = oracleTrConn.GetSqlResultToStr(sqlString2, parmeters2);
- if (strTemp1 != "0")
- {
- intResult = 1;
- break;
- }
- #endregion
- }
- }
- if (intResult == 1)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- return intResult;
- }
- #endregion
- //string accountID = ""; // 存储新插入账套ID
- //string userID = ""; //用户ID
- foreach (DataRow dataRow in dataDefectData.Rows)
- {
- // 新建缺陷位置
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增缺陷信息
- #region 向tp_mst_scdefectposition插入数据
- string sqlString1 = "INSERT INTO tp_mst_scdefectposition "
- + "(DefectPositionCode"
- + ",DefectPositionName"
- + ",Remarks"
- + ",DisplayNo"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:DefectPositionCode"
- + ",:DefectPositionName"
- + ",:Remarks"
- + ",:DisplayNo"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString()),
- new OracleParameter(":DefectPositionName",dataRow["DefectPositionName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlString1, parmeters1);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新缺陷信息
- string sqlString = "UPDATE tp_mst_scdefectposition SET "
- + " DefectPositionCode = :DefectPositionCode,"
- + " DefectPositionName = :DefectPositionName,"
- + " Remarks = :Remarks,"
- + " DisplayNo = :DisplayNo,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE DefectPositionID = :DefectPositionID";
- OracleParameter[] parmeters1 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionCode",dataRow["DefectPositionCode"].ToString()),
- new OracleParameter(":DefectPositionName",dataRow["DefectPositionName"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlString, parmeters1);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除缺陷信息
- string sqlDeleteString = "DELETE tp_mst_scdefectposition WHERE DefectPositionID = :DefectPositionID";
- OracleParameter[] parmeters2 = new OracleParameter[]
- {
- new OracleParameter(":DefectPositionID",dataRow["DefectPositionID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, parmeters2);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return intResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存工艺数据
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="datatData">工艺数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2016.07.19 王鑫 新建
- /// </remarks>
- public static int SaveTecDepData(SUserInfo sUserInfo, DataTable datatData)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (datatData == null && datatData.Rows.Count < Constant.INT_IS_ZERO)
- {
- return Constant.INT_IS_THREE;
- }
- int returnResult = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- foreach (DataRow dataRow in datatData.Rows)
- {
- // 新建工艺
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增窑炉信息
- #region 向T_MST_Kiln插入数据
- string sqlInsertString = "INSERT INTO TP_MST_TecDep "
- + "(Name"
- + ",TypeFlag"
- + ",TechnologyFlag"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",CreateTime"
- + ",UpdateTime"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:Name"
- + ",:TypeFlag"
- + ",:TechnologyFlag"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",sysdate"
- + ",sysdate"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":Name",dataRow["Name"].ToString()),
- new OracleParameter(":TypeFlag",dataRow["TypeFlag"].ToString()),
- new OracleParameter(":TechnologyFlag",dataRow["TechnologyFlag"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()==""?"0":dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新窑炉信息
- string sqlUpdateString = "UPDATE TP_MST_TecDep SET "
- + " Name = :Name,"
- + " TypeFlag = :TypeFlag,"
- + " TechnologyFlag = :TechnologyFlag,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID,"
- + " UpdateTime = :UpdateTime"
- + " WHERE ID = :ID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":Name",dataRow["Name"].ToString()),
- new OracleParameter(":TypeFlag",dataRow["TypeFlag"].ToString()),
- new OracleParameter(":TechnologyFlag",dataRow["TechnologyFlag"].ToString()),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"].ToString()==""?"0":dataRow["DisplayNo"].ToString()),
- new OracleParameter(":Remarks",dataRow["Remarks"].ToString()),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"].ToString()),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":UpdateTime",DateTime.Now),
- new OracleParameter(":ID",dataRow["ID"].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除窑炉信息
- string sqlDeleteString = "DELETE TP_MST_TecDep WHERE ID = :ID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":ID",dataRow["ID",DataRowVersion.Original].ToString())
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return returnResult;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- }
- /// <summary>
- /// 保存配置信息
- /// </summary>
- /// <param name="tecDepEntity">配置实体</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>返回受影响行数</returns>
- /// <remarks>
- /// 王鑫 2016.07.19 新建
- /// </remarks>
- public static int SaveTransfer(TecDepEntity tecDepEntity, SUserInfo user)
- {
- int returnRows = 0;
- int detailReturn = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- // 获得账务日期
- // DateTime accountDate = CommonModuleLogic.CommonModuleLogic.GetAccountDate(oracleTrConn, user);
- if (tecDepEntity.PTID == 0)
- {
- //获取配置主表序列ID
- StringBuilder sbSql = new StringBuilder();
- sbSql.Append("select SEQ_MST_RPT_Transfer_ID.nextval from dual");
- int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- sbSql.Clear();
- //添加主表配置信息
- sbSql.Append("Insert into TP_MST_RPT_Transfer");
- sbSql.Append("(PTID,Name,LineID,DisplayNo,GroutingDateBegin,");
- sbSql.Append(" Remarks,AccountID,ValueFlag,");
- sbSql.Append("CreateUserID,UpdateUserID)");
- sbSql.Append("values(:PTID,:Name,:LineID,:DisplayNo,:GroutingDateBegin,");
- sbSql.Append(":Remarks,:AccountID,:ValueFlag,");
- sbSql.Append(":CreateUserID,:UpdateUserID)");
- OracleParameter[] Paras = new OracleParameter[] {
- new OracleParameter(":PTID",OracleDbType.Int32,
- id,ParameterDirection.Input),
- new OracleParameter(":Name",OracleDbType.NVarchar2,
- tecDepEntity.Name,ParameterDirection.Input),
- new OracleParameter(":LineID",OracleDbType.Int32,
- tecDepEntity.LineID,ParameterDirection.Input),
- new OracleParameter(":DisplayNo",OracleDbType.Int32,
- tecDepEntity.DisplayNo,ParameterDirection.Input),
- new OracleParameter(":GroutingDateBegin",OracleDbType.Date,
- tecDepEntity.GroutingDateBegin,ParameterDirection.Input),
- new OracleParameter(":Remarks",OracleDbType.NVarchar2,
- tecDepEntity.Remarks,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter(":ValueFlag",OracleDbType.Int32,
- tecDepEntity.ValueFlag,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- };
- //执行插入SQL语句
- returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
- //此处添加明细信息(循环)
- foreach (DataRow detailInfo in tecDepEntity.TransferSetting.Tables[0].Rows)
- {
- //获取配置明细序列索引
- sbSql.Clear();
- sbSql.Append("select SEQ_MST_RPT_TransferSetting_ID.nextval from dual");
- int detailId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- sbSql.Clear();
- //插入配置细信息
- sbSql.Append("Insert into TP_MST_RPT_TransferSetting");
- sbSql.Append("(PTSID,PTID,PROCEDUREID,OUTTECDEPID,INTECDEPID,PERPROCEDUREID,AccountID,DisplayNo)");
- sbSql.Append("Values(:PTSID,:PTID,:PROCEDUREID,:OUTTECDEPID,:INTECDEPID,:PERPROCEDUREID,:AccountID,:DisplayNo)");
- OracleParameter[] DetailParas = new OracleParameter[] {
- new OracleParameter(":PTSID",OracleDbType.Int32,
- detailId,ParameterDirection.Input),
- new OracleParameter(":PTID",OracleDbType.Int32,
- id,ParameterDirection.Input),
- new OracleParameter(":PROCEDUREID",OracleDbType.Int32,
- detailInfo["PROCEDUREID"],ParameterDirection.Input),
- new OracleParameter(":OUTTECDEPID",OracleDbType.Int32,
- detailInfo["OUTTECDEPID"],ParameterDirection.Input),
- new OracleParameter(":INTECDEPID",OracleDbType.Int32,
- detailInfo["INTECDEPID"],ParameterDirection.Input),
- new OracleParameter(":PERPROCEDUREID",OracleDbType.Int32,
- detailInfo["PERPROCEDUREID"],ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter(":DisplayNo",OracleDbType.Int32,
- detailInfo["DisplayNo"],ParameterDirection.Input)
-
- };
- //执行插入语句并累加成功插入次数
- detailReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DetailParas);
- }
- }
- else
- {
- // 编辑
- //更改主表配置信息
- StringBuilder sbSql = new StringBuilder();
- sbSql.Append("Update TP_MST_RPT_Transfer");
- sbSql.Append(" Set Name=:Name,");
- sbSql.Append(" LineID=:LineID,");
- sbSql.Append(" DisplayNo=:DisplayNo,");
- sbSql.Append(" GroutingDateBegin=:GroutingDateBegin,");
- sbSql.Append(" Remarks=:Remarks,");
- sbSql.Append(" ValueFlag=:ValueFlag,");
- sbSql.Append(" UpdateUserID=:UpdateUserID ");
- sbSql.Append(" where PTID =:PTID");
- OracleParameter[] Paras = new OracleParameter[] {
- new OracleParameter(":PTID",OracleDbType.Int32,
- tecDepEntity.PTID,ParameterDirection.Input),
- new OracleParameter(":Name",OracleDbType.NVarchar2,
- tecDepEntity.Name,ParameterDirection.Input),
- new OracleParameter(":LineID",OracleDbType.Int32,
- tecDepEntity.LineID,ParameterDirection.Input),
- new OracleParameter(":DisplayNo",OracleDbType.Int32,
- tecDepEntity.DisplayNo,ParameterDirection.Input),
- new OracleParameter(":GroutingDateBegin",OracleDbType.Date,
- tecDepEntity.GroutingDateBegin,ParameterDirection.Input),
- new OracleParameter(":Remarks",OracleDbType.NVarchar2,
- tecDepEntity.Remarks,ParameterDirection.Input),
- new OracleParameter(":ValueFlag",OracleDbType.Int32,
- tecDepEntity.ValueFlag,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- };
- //执行插入SQL语句
- returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
- // 删除配置明细信息
- sbSql.Clear();
- sbSql.Append("delete from TP_MST_RPT_TransferSetting where PTID =:PTID");
- Paras = new OracleParameter[] {
- new OracleParameter(":PTID",OracleDbType.Int32,
- tecDepEntity.PTID,ParameterDirection.Input)
- };
- //执行SQL语句
- returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
- //此处添加明细信息(循环)
- foreach (DataRow detailInfo in tecDepEntity.TransferSetting.Tables[0].Rows)
- {
- //获取配置明细序列索引
- sbSql.Clear();
- sbSql.Append("select SEQ_MST_RPT_TransferSetting_ID.nextval from dual");
- int detailId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
- sbSql.Clear();
- //插入配置细信息
- sbSql.Append("Insert into TP_MST_RPT_TransferSetting");
- sbSql.Append("(PTSID,PTID,PROCEDUREID,OUTTECDEPID,INTECDEPID,PERPROCEDUREID,AccountID,DisplayNo)");
- sbSql.Append("Values(:PTSID,:PTID,:PROCEDUREID,:OUTTECDEPID,:INTECDEPID,:PERPROCEDUREID,:AccountID,:DisplayNo)");
- OracleParameter[] DetailParas = new OracleParameter[] {
- new OracleParameter(":PTSID",OracleDbType.Int32,
- detailId,ParameterDirection.Input),
- new OracleParameter(":PTID",OracleDbType.Int32,
- tecDepEntity.PTID,ParameterDirection.Input),
- new OracleParameter(":PROCEDUREID",OracleDbType.Int32,
- detailInfo["PROCEDUREID"],ParameterDirection.Input),
- new OracleParameter(":OUTTECDEPID",OracleDbType.Int32,
- detailInfo["OUTTECDEPID"],ParameterDirection.Input),
- new OracleParameter(":INTECDEPID",OracleDbType.Int32,
- detailInfo["INTECDEPID"],ParameterDirection.Input),
- new OracleParameter(":PERPROCEDUREID",OracleDbType.Decimal,
- detailInfo["PERPROCEDUREID"],ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter(":DisplayNo",OracleDbType.Int32,
- detailInfo["DisplayNo"],ParameterDirection.Input)
-
- };
- //执行插入语句并累加成功插入次数
- detailReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), DetailParas);
- }
- }
- //如果有插入不成功的情况,回滚事务,否则提交
- if (returnRows == 0 || detailReturn == 0)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- else
- {
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- }
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- return returnRows;
- }
- #region 产品工序配置
- /// <summary>
- /// 产品工序配置
- /// </summary>
- /// <param name="cre"></param>
- /// <param name="user"></param>
- /// <returns></returns>
- public static ServiceResultEntity SetGoodsToProcedure(ClientRequestEntity cre, SUserInfo user)
- {
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- ServiceResultEntity sre = new ServiceResultEntity();
- try
- {
- oracleTrConn.Connect();
- int type = (int)cre.Properties["Type"];
- string sqlString = null;
- // 设置产品工序
- if (type == 1)
- {
- sqlString = "INSERT INTO TP_PC_ProcedureGoods\n" +
- " (productionlineid, procedureid, NODENO, goodsid, Createuserid)\n" +
- " SELECT p.productionlineid, p.procedureid, p.NODENO, g.goodsid, " + user.UserID + "\n" +
- " FROM tp_pc_procedure p\n" +
- " INNER JOIN (SELECT goods.goodsid\n" +
- " FROM tp_mst_goods goods\n" +
- " WHERE goods.goodsid IN (" + cre.Properties["GoodsIDs"] + ")) g\n" +
- " ON 1 = 1\n" +
- " WHERE p.valueflag = '1'\n" +
- (cre.Properties["ProductionLineID"] == null ? "" : " AND p.productionlineid = " + cre.Properties["ProductionLineID"] + "\n") +
- (cre.Properties["ProcedureIDs"] == null ? "" : " AND p.procedureid IN (" + cre.Properties["ProcedureIDs"] + ")\n") +
- " AND NOT EXISTS (SELECT 1\n" +
- " FROM TP_PC_ProcedureGoods pg\n" +
- " WHERE pg.procedureid = p.procedureid\n" +
- " AND pg.goodsid = g.goodsid)";
- }
- else
- {
- sqlString = "DELETE FROM TP_PC_ProcedureGoods pg\n" +
- " WHERE pg.goodsid IN (" + cre.Properties["GoodsIDs"] + ")\n" +
- (cre.Properties["ProductionLineID"] == null ? "" : " AND pg.productionlineid = " + cre.Properties["ProductionLineID"] + "\n") +
- (cre.Properties["ProcedureIDs"] == null ? "" : " AND pg.procedureid IN (" + cre.Properties["ProcedureIDs"] + ")\n");
- }
- //执行插入SQL语句
- int returnRows = oracleTrConn.ExecuteNonQuery(sqlString);
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- finally
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- return sre;
- }
- #endregion
- #region 成型报损原因
- /// <summary>
- /// 保存成型报损原因
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <param name="ScrapReasonData">成型报损原因数据</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 2018.03.26 周兴 新建
- /// </remarks>
- public static ServiceResultEntity SaveScrapReasonData(DataTable ScrapReasonData, SUserInfo sUserInfo)
- {
- ServiceResultEntity result = new ServiceResultEntity();
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- // 检验参数的有效性
- if (ScrapReasonData == null && ScrapReasonData.Rows.Count < Constant.INT_IS_ZERO)
- {
- result.Result = Constant.INT_IS_THREE;
- return result;
- }
- result.Result = Constant.INT_IS_TWO;
- oracleTrConn.Connect();
- foreach (DataRow dataRow in ScrapReasonData.Rows)
- {
- // 新建
- if (dataRow.RowState == DataRowState.Added)
- {
- #region 新增
- string sqlInsertString = "INSERT INTO TP_MST_ScrapReason "
- + "(ScrapReason"
- + ",ScrapType"
- + ",DisplayNo"
- + ",Remarks"
- + ",AccountID"
- + ",ValueFlag"
- + ",UpdateUserID"
- + ",CreateUserID)"
- + " VALUES "
- + "(:ScrapReason"
- + ",:ScrapType"
- + ",:DisplayNo"
- + ",:Remarks"
- + ",:AccountID"
- + ",:ValueFlag"
- + ",:UpdateUserID"
- + ",:CreateUserID)";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":ScrapReason",dataRow["ScrapReason"] + ""),
- new OracleParameter(":ScrapType",dataRow["ScrapType"] + ""),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"] + ""),
- new OracleParameter(":Remarks",dataRow["Remarks"] + ""),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"] + ""),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":CreateUserID",sUserInfo.UserID)
- };
- oracleTrConn.ExecuteNonQuery(sqlInsertString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Modified)
- {
- #region 更新数据字典信息
- string sqlUpdateString = "UPDATE TP_MST_ScrapReason SET "
- + " ScrapReason = :ScrapReason,"
- + " DisplayNo = :DisplayNo,"
- + " Remarks = :Remarks,"
- + " AccountID = :AccountID,"
- + " ValueFlag = :ValueFlag,"
- + " UpdateUserID = :UpdateUserID "
- + " WHERE ScrapReasonID = :ScrapReasonID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":ScrapReason",dataRow["ScrapReason"]+ ""),
- new OracleParameter(":DisplayNo",dataRow["DisplayNo"]+ ""),
- new OracleParameter(":Remarks",dataRow["Remarks"]+ ""),
- new OracleParameter(":AccountID",sUserInfo.AccountID),
- new OracleParameter(":ValueFlag",dataRow["ValueFlag"]+ ""),
- new OracleParameter(":UpdateUserID",sUserInfo.UserID),
- new OracleParameter(":ScrapReasonID",dataRow["ScrapReasonID"])
- };
- oracleTrConn.ExecuteNonQuery(sqlUpdateString, oracleParameter);
- #endregion
- }
- else if (dataRow.RowState == DataRowState.Deleted)
- {
- #region 删除数据字典信息
- string sqlDeleteString = "DELETE TP_MST_ScrapReason WHERE ScrapReasonID = :ScrapReasonID";
- OracleParameter[] oracleParameter = new OracleParameter[]
- {
- new OracleParameter(":ScrapReasonID",dataRow["ScrapReasonID",DataRowVersion.Original])
- };
- oracleTrConn.ExecuteNonQuery(sqlDeleteString, oracleParameter);
- #endregion
- }
- }
- oracleTrConn.Commit();
- oracleTrConn.Disconnect();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleTrConn.ConnState == ConnectionState.Open)
- {
- oracleTrConn.Rollback();
- oracleTrConn.Disconnect();
- }
- throw ex;
- }
- }
- #endregion
- }
- }
|