| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953 |
- /*******************************************************************************
- * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:PMModuleLogic.cs
- * 2.功能描述:生产管理信息与数据库的交互类
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 庄天威 2014/09/17 1.00 新建
- *******************************************************************************/
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Text;
- using Dongke.IBOSS.PRD.Basics.BaseResources;
- using Dongke.IBOSS.PRD.Basics.DataAccess;
- using Dongke.IBOSS.PRD.Basics.Library;
- using Dongke.IBOSS.PRD.Service.DataModels;
- using Dongke.IBOSS.PRD.WCF.DataModels;
- using Dongke.IBOSS.PRD.WCF.DataModels.PMModule;
- using Oracle.DataAccess.Client;
- namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
- {
- /// <summary>
- /// 生产管理信息与数据库的交互类
- /// </summary>
- public partial class PMModuleLogic
- {
- #region 注浆日报表
- /// <summary>
- /// 获得注浆日报表
- /// </summary>
- /// <param name="groutingDailyEntity">注浆日报实体</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>数据源Dataset</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static DataSet GetGroutingDaily(GroutingDailyEntity groutingDailyEntity, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("GroutingDailyID",OracleDbType.Int32,
- groutingDailyEntity.GroutingDailyID,ParameterDirection.Input),
- new OracleParameter("AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("GroutingLineCode",OracleDbType.NVarchar2,
- groutingDailyEntity.GroutingLineCode,ParameterDirection.Input),
- new OracleParameter("GroutingLineName",OracleDbType.NVarchar2,
- groutingDailyEntity.GroutingLineName,ParameterDirection.Input),
- new OracleParameter("GroutingDateStart",OracleDbType.Date,
- groutingDailyEntity.GroutingDate,ParameterDirection.Input),
- new OracleParameter("GroutingDateEnd",OracleDbType.Date,
- groutingDailyEntity.GroutingDateEnd,ParameterDirection.Input),
- new OracleParameter("GroutingMouldCode",OracleDbType.NVarchar2,
- groutingDailyEntity.GroutingMouldCode,ParameterDirection.Input),
- new OracleParameter("GoodsCode",OracleDbType.NVarchar2,
- groutingDailyEntity.GoodsCode,ParameterDirection.Input),
- new OracleParameter("GoodsName",OracleDbType.NVarchar2,
- groutingDailyEntity.GoodsName,ParameterDirection.Input),
- new OracleParameter("GroutingFlag",OracleDbType.Int32,
- groutingDailyEntity.GroutingFlag,ParameterDirection.Input),
- new OracleParameter("ScrapFlag",OracleDbType.Int32,
- groutingDailyEntity.ScrapFlag,ParameterDirection.Input),
- new OracleParameter("GMouldTypeID",OracleDbType.Int32,
- groutingDailyEntity.GMouldTypeID,ParameterDirection.Input),
- new OracleParameter("remarks",OracleDbType.NVarchar2,
- groutingDailyEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("UserId",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- new OracleParameter("PurviewType",OracleDbType.Int32,
- groutingDailyEntity.Purview,ParameterDirection.Input),
- new OracleParameter("rs_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetGroutingDaily", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获得注浆日报表明细(根据注浆日报表ID)
- /// </summary>
- /// <param name="DailyMainId">注浆日报主ID</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>Dataset数据源</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static DataSet GetGroutingDailyDetailByMainId(int DailyMainId, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("GroutingDailyID",OracleDbType.Int32,
- DailyMainId,ParameterDirection.Input),
- new OracleParameter("rs_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetGDailyDetailByMainId", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获得注浆产品(根据注浆日报明细ID)
- /// </summary>
- /// <param name="DailyDetailId">注浆日报明细ID</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>string条码字符串集合</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static string GetGroutingProductByDetailId(int DailyDetailId, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- StringBuilder sbSql = new StringBuilder();
- sbSql.Append(" select Barcode from TP_PM_GroutingProduct where GroutingDailyDetailID=" + DailyDetailId);
- DataSet dsProduct = con.GetSqlResultToDs(sbSql.ToString(), null);
- StringBuilder sbBarCodeList = new StringBuilder();
- if (dsProduct.Tables.Count != 0)
- {
- foreach (DataRow dr in dsProduct.Tables[0].Rows)
- {
- sbBarCodeList.Append(dr[0].ToString() + ",");
- }
- }
- if (sbBarCodeList.Length != 0)
- {
- return sbBarCodeList.ToString().Substring(0, sbBarCodeList.Length - 1);
- }
- else
- {
- return "";
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 查看某成型线今天是否注浆
- /// </summary>
- /// <param name="GroutingLineID">成型线ID</param>
- /// <param name="GroutingDate">注浆时间</param>
- /// <returns>int</returns>
- /// <remarks>
- /// 庄天威 2014.09.29 新建
- /// </remarks>
- public static int GetCanManyTimes(int GroutingLineID, DateTime GroutingDate)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- StringBuilder sbSql = new StringBuilder();
- sbSql.Append("select GroutingdailyId from TP_PM_GroutingDaily");
- sbSql.Append(" where Groutingdate = to_date('" + GroutingDate.ToString() + "','yyyy-MM-dd hh24:mi:ss')");
- sbSql.Append(" and CanManyTimes = 0 and GroutingLineID = " + GroutingLineID);
- DataTable dtReturn = con.GetSqlResultToDt(sbSql.ToString(), null);
- if (dtReturn != null)
- {
- return dtReturn.Rows.Count;
- }
- else
- {
- return 0;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据成型线ID获取注浆明细信息(外联条码)
- /// </summary>
- /// <param name="GroutingLineIds">成型线ID集</param>
- /// <param name="GroutingDateStart">注浆时间起始</param>
- /// <param name="GroutingDateEnd">注浆时间终止</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataSet</returns>
- /// <remarks>
- /// 庄天威 2014.09.30 新建
- /// </remarks>
- public static DataSet GetGDailyDetailLeftBarCode(string GroutingLineIds, DateTime? GroutingDateStart,
- DateTime? GroutingDateEnd, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string GroutingDateStartStr = null;
- string GroutingDateEndStr = null;
- if (GroutingDateStart != null)
- {
- GroutingDateStartStr = GroutingDateStart.ToString();
- }
- if (GroutingDateEnd != null)
- {
- GroutingDateEndStr = GroutingDateEnd.ToString();
- }
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("GroutingLineID",OracleDbType.NVarchar2,
- GroutingLineIds,ParameterDirection.Input),
- new OracleParameter("GroutingDateStart",OracleDbType.NVarchar2,
- GroutingDateStartStr,ParameterDirection.Input),
- new OracleParameter("GroutingDateEnd",OracleDbType.NVarchar2,
- GroutingDateEndStr,ParameterDirection.Input),
- new OracleParameter("AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("rs_result",OracleDbType.RefCursor,
- ParameterDirection.Output)
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetGDailyDetailLBarCode", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 条码检索
- /// </summary>
- /// <param name="gbEntity">条码检索实体</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>数据源Dataset</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static DataSet GetBarCode(GetBarCodeEntity gbEntity, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("In_GroutingLineCode",OracleDbType.NVarchar2,
- gbEntity.GroutingLineCode,ParameterDirection.Input),
- new OracleParameter("In_GroutingLineDetailCode",OracleDbType.NVarchar2,
- gbEntity.GroutingLineDetailCode,ParameterDirection.Input),
- new OracleParameter("In_GroutingUserCode",OracleDbType.NVarchar2,
- gbEntity.GroutingUserCode,ParameterDirection.Input),
- new OracleParameter("In_GroutingDateS",OracleDbType.Date,
- gbEntity.GroutingDateS,ParameterDirection.Input),
- new OracleParameter("In_GroutingDateE",OracleDbType.Date,
- gbEntity.GroutingDateE,ParameterDirection.Input),
- new OracleParameter("In_AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("Out_Result",OracleDbType.RefCursor,
- ParameterDirection.Output)
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetBarCode", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 废弃产品
- /// <summary>
- /// 根据条码获取该产品的在产信息以及生产数据
- /// </summary>
- /// <param name="Barcode">产品条码</param>
- /// <returns>装有两个DataTable的数据集,第一个是在产信息,第二个是生产数据</returns>
- public static DataSet GetInProductionAndProductionData(string BarCode, SUserInfo sUserInfo)
- {
- DataSet dsList = new DataSet();
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- StringBuilder sbSql = new StringBuilder();
- ////sbSql.Append("Select inp.*,pt.ProcedureModelTypeID from TP_PM_InProduction inp ");
- ////sbSql.Append(" Inner join TP_PC_Procedure p");
- //////sbSql.Append(" On inp.CompleteProcedureID = p.ProcedureID");
- ////sbSql.Append(" On inp.FlowProcedureID = p.ProcedureID");
- ////sbSql.Append(" Inner join TP_SYS_ProcedureModelType pt");
- ////sbSql.Append(" On p.ModelType = pt.ProcedureModelTypeID");
- ////sbSql.Append(" where inp.Barcode=:Barcode and inp.ValueFlag=1");
- sbSql.Append("Select inp.*, p.ProcedureCode,p.ProcedureName, inp.ModelType as ProcedureModelTypeID,1 as endmode from TP_PM_InProduction inp ");
- sbSql.Append(" inner join tp_pc_Procedure p on p.ProcedureID = inp.ProcedureID ");
- sbSql.Append(" where inp.Barcode=:Barcode and inp.ValueFlag=1");
- OracleParameter[] Paras = new OracleParameter[]{
- new OracleParameter(":Barcode",OracleDbType.NVarchar2,
- BarCode,ParameterDirection.Input),
- };
- DataTable dtProduction = con.GetSqlResultToDt(sbSql.ToString(), Paras);
- if (dtProduction != null)
- {
- if (dtProduction.Rows.Count != 0)
- {
- dsList.Tables.Add(dtProduction);
- }
- else
- {
- //在产产品不存在的话,看看是不是变成了成品
- sbSql.Clear();
- sbSql.Append("Select fp.*,2 as endmode from TP_PM_FinishedProduct fp ");
- sbSql.Append(" where fp.Barcode=:Barcode and fp.ValueFlag=1");
- dtProduction = con.GetSqlResultToDt(sbSql.ToString(), Paras);
- if (dtProduction != null)
- {
- dsList.Tables.Add(dtProduction);
- }
- }
- }
- else
- {
- return null;
- }
- DataSet sysSetting = CommonModuleLogic.CommonModuleLogic.GetSysSettingBySettingType("S_PM_015", sUserInfo);
- string spm015 = null;
- if (sysSetting != null && sysSetting.Tables.Count > 0 && sysSetting.Tables[0].Rows.Count > 0)
- {
- spm015 = sysSetting.Tables[0].Rows[0]["SettingValue"] + "";
- }
- sbSql.Clear();
- sbSql.Append("Select ProductionDataID,ProcedureID,ProcedureName,ProcedureCode from TP_PM_ProductionDataIn where Barcode=:Barcode and ValueFlag=1 ");
- // 报损不能选成型责任
- if ("0" == spm015)
- {
- sbSql.Append(" and MODELTYPE <> 5");
- }
- sbSql.Append(" order by ProductionDataid");
- DataTable dtProductionData = con.GetSqlResultToDt(sbSql.ToString(), Paras);
- if (dtProductionData != null)
- {
- dsList.Tables.Add(dtProductionData);
- }
- else
- {
- return null;
- }
- return dsList;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据页面条件获取废弃产品一览
- /// </summary>
- /// <param name="selectProEntity">废弃产品</param>
- /// <param name="userInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetScrapProduct(ScrapProductEntity selectProEntity, SUserInfo userInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_ProductionLineCode",OracleDbType.NVarchar2,
- selectProEntity.ProductionLineCode,ParameterDirection.Input),
- new OracleParameter("in_ProductionLineName",OracleDbType.NVarchar2,
- selectProEntity.ProductionLineName,ParameterDirection.Input),
- new OracleParameter("in_ResponProcedureCode",OracleDbType.NVarchar2,
- selectProEntity.ResponProcedureCode,ParameterDirection.Input),
- new OracleParameter("in_ResponProcedureName",OracleDbType.NVarchar2,
- selectProEntity.ResponProcedureName,ParameterDirection.Input),
- new OracleParameter("in_ScrapProductID",OracleDbType.Int32,
- selectProEntity.ScrapProductID,ParameterDirection.Input),
- new OracleParameter("in_BarCode",OracleDbType.NVarchar2,
- selectProEntity.BarCode,ParameterDirection.Input),
- //new OracleParameter("in_ResponUserID",OracleDbType.Int32,
- // selectProEntity.ResponUserID,ParameterDirection.Input),
- new OracleParameter("in_ResponUserCode",OracleDbType.Varchar2,
- selectProEntity.ResponUserCode,ParameterDirection.Input),
- new OracleParameter("in_GoodsCode",OracleDbType.NVarchar2,
- selectProEntity.GoodsCode,ParameterDirection.Input),
- new OracleParameter("in_GoodsName",OracleDbType.NVarchar2,
- selectProEntity.GoodsName,ParameterDirection.Input),
- new OracleParameter("in_Rreason",OracleDbType.NVarchar2,
- selectProEntity.Rreason,ParameterDirection.Input),
- new OracleParameter("in_Remarks",OracleDbType.NVarchar2,
- selectProEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("in_ScrapDateStart",OracleDbType.Date,
- selectProEntity.ScrapDate,ParameterDirection.Input),
- new OracleParameter("in_ScrapDateEnd",OracleDbType.Date,
- selectProEntity.ScrapDateEnd,ParameterDirection.Input),
- new OracleParameter("in_AccountID",OracleDbType.Int32,
- userInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("in_AuditStatus",OracleDbType.Int32,
- selectProEntity.AuditStatus,ParameterDirection.Input),
- new OracleParameter("in_GroutingUserCode",OracleDbType.Varchar2,
- selectProEntity.GroutingUserCode,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet dsReturn = con.ExecStoredProcedure("PRO_PM_GetScrapProduct", paras);
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据责任工序ID获取责任人列表
- /// </summary>
- /// <param name="ResponProcedureId">责任工序ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetScrapResponsibleByResponProcedureID(int ResponProcedureId)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string strSql = "Select * from TP_PM_ScrapResponsible where ValueFlag=1 and ResponProcedureID=" + ResponProcedureId;
- DataSet dsReturn = con.GetSqlResultToDs(strSql);
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据废弃产品ID获取责任人列表
- /// </summary>
- /// <param name="SPId">废弃产品ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetScrapResponsibleBySPId(int SPId)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string strSql = @"Select sr.*,userinfo.userName from TP_PM_ScrapResponsible sr
- inner join TP_MST_User userinfo
- on sr.UserID = userinfo.UserID
- where ScrapProductID=" + SPId;
- DataSet dsReturn = con.GetSqlResultToDs(strSql);
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据废弃产品ID获取责任工序
- /// </summary>
- /// <param name="SPId">废弃产品ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetResponProcedureBySPId(int SPId)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string strSql = "Select * from TP_PM_ResponProcedure where ValueFlag=1 and ScrapProductID=" + SPId;
- DataSet dsReturn = con.GetSqlResultToDs(strSql);
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 验证废弃产品唯一性
- /// </summary>
- /// <param name="BarCode">产品条码</param>
- /// <returns>int</returns>
- public static string ScrapProductChack(string BarCode, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // 当前工号是否有条码所在工序的操作权限
- string sqlString =
- "SELECT inp.procedureid\n" +
- " ,p.procedurename\n" +
- " ,p.MODELTYPE\n" +
- " ,(SELECT 1\n" +
- " FROM tp_mst_userpurview t\n" +
- " WHERE t.purviewtype = 10\n" +
- " AND t.userid = :userid\n" +
- " AND (t.purviewid = -1 OR t.purviewid = inp.procedureid)\n" +
- " AND rownum = 1) userpurview\n" +
- " FROM tp_pm_inproduction inp\n" +
- " LEFT JOIN tp_pc_procedure p\n" +
- " ON p.procedureid = inp.procedureid\n" +
- " WHERE inp.barcode = :barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":userid",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":barcode",OracleDbType.Varchar2, BarCode,ParameterDirection.Input),
- };
- DataTable dt = con.GetSqlResultToDt(sqlString, paras);
- if (dt == null || dt.Rows.Count == 0)
- {
- // 条码不在产。
- return "2";
- }
- object userpurview = dt.Rows[0]["userpurview"];
- if (userpurview == null || userpurview == DBNull.Value)
- {
- return "3:" + dt.Rows[0]["procedurename"];
- }
- int MODELTYPE = Convert.ToInt32(dt.Rows[0]["MODELTYPE"]);
- if (MODELTYPE == 1 ||
- MODELTYPE == 2 ||
- MODELTYPE == 3 ||
- MODELTYPE == 6)
- {
- return "4:该产品处于无法报损的特殊工序中";
- }
- #region 判断产品是否被挂起
- sqlString = "SELECT 1 AS RES\n" +
- " FROM TP_PM_PRODUCTSUSPEND PS\n" +
- " INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD\n" +
- " ON GDD.GROUTINGDAILYDETAILID = PS.GROUTINGDAILYDETAILID\n" +
- " WHERE GDD.BARCODE = :Barcode";
- OracleParameter[] pars = new OracleParameter[]
- {
- new OracleParameter(":Barcode",OracleDbType.NVarchar2, BarCode,ParameterDirection.Input),
- };
- object objResult = con.GetSqlResultToObj(sqlString, pars);
- if (objResult != null)
- {
- return "4:该产品被挂起";
- }
- #endregion
- /* string strSql = @"Select * from TP_PM_ScrapProduct where ValueFlag=1
- and BarCode='" + BarCode + "' and (AuditStatus=0 or AuditStatus=1) " ; */
- string strSql = "select GoodsLevelTypeID,AuditStatus from TP_PM_ScrapProduct "
- + " where BarCode='" + BarCode + "'and CreateTime=(select max(CreateTime) "
- + " from TP_PM_ScrapProduct "
- + " where BarCode='" + BarCode + "' and ValueFlag=1 and (AuditStatus = 0 or AuditStatus = 1) and recyclingflag=0 )"
- + " and ValueFlag=1 and (AuditStatus = 0 or AuditStatus = 1) and recyclingflag=0";
- DataSet dsReturn = con.GetSqlResultToDs(strSql);
- if (dsReturn.Tables[0].Rows.Count == 0)
- {
- return "1";
- }
- else
- {
- if (dsReturn.Tables[0].Rows[0]["GOODSLEVELTYPEID"].ToString().Equals("9") && dsReturn.Tables[0].Rows[0]["AUDITSTATUS"].ToString().Equals("1"))
- {
- return "1";
- }
- return "0";
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 温湿计信息
- /// <summary>
- /// 获得温湿计信息
- /// </summary>
- /// <param name="celsiusRecordEntity">温湿计信息实体</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>数据源Dataset</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static DataSet GetCelsiusRecord(CelsiusRecordEntity celsiusRecordEntity, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("In_RecordID",OracleDbType.Int32,
- celsiusRecordEntity.RecordID,ParameterDirection.Input),
- new OracleParameter("In_PurviewType",OracleDbType.Int32,
- celsiusRecordEntity.PurviewType,ParameterDirection.Input),
- new OracleParameter("In_AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("In_ThermometerID",OracleDbType.Int32,
- celsiusRecordEntity.ThermometerID,ParameterDirection.Input),
- new OracleParameter("In_ThermometerCode",OracleDbType.NVarchar2,
- celsiusRecordEntity.ThermometerCode,ParameterDirection.Input),
- new OracleParameter("In_RecorderID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- new OracleParameter("In_RecordDateS",OracleDbType.Date,
- celsiusRecordEntity.RecordDate,ParameterDirection.Input),
- new OracleParameter("In_RecordDateE",OracleDbType.Date,
- celsiusRecordEntity.RecordDateEnd,ParameterDirection.Input),
- new OracleParameter("In_Remarks",OracleDbType.NVarchar2,
- celsiusRecordEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("In_ManagerName",OracleDbType.NVarchar2,
- celsiusRecordEntity.ManagerName,ParameterDirection.Input),
- new OracleParameter("In_InsertTime",OracleDbType.Date,
- celsiusRecordEntity.InsertTime,ParameterDirection.Input),
- new OracleParameter("Out_Result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetCelsiusRecord", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获得温湿计信息(图表用,平均值)
- /// </summary>
- /// <param name="celsiusRecordEntity">温湿计信息实体</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>数据源Dataset</returns>
- /// <remarks>
- /// 庄天威 2014.09.10 新建
- /// </remarks>
- public static DataSet GetCelsiusRecordView(CelsiusRecordEntity celsiusRecordEntity, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("In_AccountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("In_LookerID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- new OracleParameter("In_ThermometerCode",OracleDbType.NVarchar2,
- celsiusRecordEntity.ThermometerCode,ParameterDirection.Input),
- new OracleParameter("In_RecordDateS",OracleDbType.Date,
- celsiusRecordEntity.RecordDate,ParameterDirection.Input),
- new OracleParameter("In_RecordDateE",OracleDbType.Date,
- celsiusRecordEntity.RecordDateEnd,ParameterDirection.Input),
- new OracleParameter("In_Remarks",OracleDbType.NVarchar2,
- celsiusRecordEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("In_Days",OracleDbType.NVarchar2,
- celsiusRecordEntity.Days,ParameterDirection.Input),
- new OracleParameter("Out_Result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_GetCelsiusRecordView", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 获取注浆次数(By工号)
- /// <summary>
- /// 获取注浆次数(By工号)
- /// </summary>
- /// <param name="gcEntity">查询条件实体</param>
- /// <param name="userInfo">当前用户</param>
- /// <returns>返回信息数据集</returns>
- public static DataSet GetGroutingCountByUser(GroutingCountByUserEntity gcEntity, SUserInfo userInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("In_AccountID",OracleDbType.Int32,
- userInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("In_GroutingDateS",OracleDbType.Date,
- gcEntity.GroutingDateS,ParameterDirection.Input),
- new OracleParameter("In_GroutingDateE",OracleDbType.Date,
- gcEntity.GroutingDateE,ParameterDirection.Input),
- new OracleParameter("In_GroutingLineCode",OracleDbType.NVarchar2,
- gcEntity.GroutingLineCode,ParameterDirection.Input),
- new OracleParameter("In_UserId",OracleDbType.Int32,
- gcEntity.UserId,ParameterDirection.Input),
- new OracleParameter("In_UserIds",OracleDbType.NVarchar2,
- gcEntity.UserIds,ParameterDirection.Input),
- new OracleParameter("In_UserCode",OracleDbType.NVarchar2,
- gcEntity.UserCode,ParameterDirection.Input),
- new OracleParameter("In_GoodsId",OracleDbType.Int32,
- gcEntity.GoodsId,ParameterDirection.Input),
- new OracleParameter("In_GoodsIds",OracleDbType.NVarchar2,
- gcEntity.GoodsIds,ParameterDirection.Input),
- new OracleParameter("In_GoodsTypeCode",OracleDbType.NVarchar2,
- gcEntity.GoodsTypeCode,ParameterDirection.Input),
- new OracleParameter("In_GoodsCode",OracleDbType.NVarchar2,
- gcEntity.GoodsCode,ParameterDirection.Input),
- new OracleParameter("Out_Result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_RPT_GetGroutingCountByUser", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 根据条码获得在产信息
- /// <summary>
- /// 根据条码获得在产信息
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetInProductionByBarcode(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = "select t.goodsid,t.goodsname,t.userid from tp_pm_InProduction t where t.barcode= " + barcode;
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 获取生产工序计件数据
- /// <summary>
- /// 使用存储过程PRO_PM_SearchProductionData获取生产工序计件数据
- /// </summary>
- /// <param name="searchEntity">生产数据实体类</param>
- /// <returns>DataTable</returns>
- public static DataTable SearchProductionData(SearchProductionDataEntity searchEntity)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string procsql = "PRO_PM_SearchProductionData";
- try
- {
- IDataParameter[] paras = new OracleParameter[]
- {
- new OracleParameter("in_beginDate",OracleDbType.Date, searchEntity.BeginDate, ParameterDirection.Input),
- new OracleParameter("in_endDate", OracleDbType.Date,searchEntity.EndDate, ParameterDirection.Input),
- new OracleParameter("in_procedureID", OracleDbType.Int32,searchEntity.ProcedureID, ParameterDirection.Input),
- new OracleParameter("in_modeltype", OracleDbType.Int32,searchEntity.ProcedureModelId, ParameterDirection.Input),
- new OracleParameter("in_organizationid", OracleDbType.Int32,searchEntity.OrganizationID, ParameterDirection.Input),
- new OracleParameter("in_isreworked", OracleDbType.NVarchar2,searchEntity.IsRework, ParameterDirection.Input),
- new OracleParameter("out_result", OracleDbType.RefCursor, ParameterDirection.Output)
- };
- oracleConn.Open();
- DataSet returnDs = oracleConn.ExecStoredProcedure(procsql, paras);
- if (returnDs != null && returnDs.Tables.Count > 0)
- {
- return returnDs.Tables[0];
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 使用存储过程PRO_PM_GetProductionData获取生产工序计件数据
- /// </summary>
- /// <param name="searchEntity">生产数据实体类</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataTable</returns>
- public static DataTable GetProductionData(SearchProductionDataEntity searchEntity, SUserInfo user)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string procsql = "PRO_PM_GetProductionData";
- try
- {
- IDataParameter[] paras = new OracleParameter[]
- {
- new OracleParameter("in_procedureID",OracleDbType.Int32, searchEntity.ProcedureID, ParameterDirection.Input),
- new OracleParameter("in_barCode", OracleDbType.Varchar2,searchEntity.BarCode, ParameterDirection.Input),
- new OracleParameter("in_goodsCode", OracleDbType.Varchar2,searchEntity.GoodsCode, ParameterDirection.Input),
- new OracleParameter("in_goodsName", OracleDbType.Varchar2,searchEntity.GoodsName, ParameterDirection.Input),
- new OracleParameter("in_userCode", OracleDbType.Varchar2,searchEntity.UserCode, ParameterDirection.Input),
- new OracleParameter("in_organizationID", OracleDbType.Int32,searchEntity.OrganizationID, ParameterDirection.Input),
- new OracleParameter("in_remarks", OracleDbType.Varchar2,searchEntity.Remarks, ParameterDirection.Input),
- new OracleParameter("in_isReworked", OracleDbType.Varchar2,searchEntity.IsRework, ParameterDirection.Input),
- new OracleParameter("in_begindate", OracleDbType.Date,searchEntity.BeginDate, ParameterDirection.Input),
- new OracleParameter("in_enddate", OracleDbType.Date,searchEntity.EndDate, ParameterDirection.Input),
- new OracleParameter("in_accountID", OracleDbType.Int32,user.AccountID, ParameterDirection.Input),
- new OracleParameter("in_userID", OracleDbType.Int32,user.UserID, ParameterDirection.Input),
- new OracleParameter("in_kilnCode", OracleDbType.Varchar2,searchEntity.KilnCode, ParameterDirection.Input),
- new OracleParameter("in_kilnCarCode", OracleDbType.Varchar2,searchEntity.KilnCarCode, ParameterDirection.Input),
- new OracleParameter("in_kilnCarPosition", OracleDbType.Int32,searchEntity.KilnCarPosition, ParameterDirection.Input),
- new OracleParameter("in_currentUserID", OracleDbType.Int32,user.UserID, ParameterDirection.Input),
- new OracleParameter("out_result", OracleDbType.RefCursor, ParameterDirection.Output),
- new OracleParameter("in_goodsTypeCode", OracleDbType.Varchar2,searchEntity.GoodsTypeCode, ParameterDirection.Input),
- };
- oracleConn.Open();
- DataSet returnDs = oracleConn.ExecStoredProcedure(procsql, paras);
- if (returnDs != null && returnDs.Tables.Count > 0)
- {
- return returnDs.Tables[0];
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 使用存储过程PRO_PM_GetProductionData获取生产工序计件数据
- /// </summary>
- /// <param name="searchEntity">生产数据实体类</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataTable</returns>
- public static DataTable GetProductionDataPDA(SearchProductionDataEntity searchEntity, SUserInfo user)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string procsql = "";//PRO_PM_GetProductionDataPDA
- procsql = @"SELECT TP_PM_ProductionDataIn.ProductionDataID FROM TP_PM_ProductionDataIn where valueflag=1 and 1=1 and ProcedureID=" + searchEntity.ProcedureID + " and barcode='" + searchEntity.BarCode + "' order by TP_PM_ProductionDataIn.ProductionDataid desc";
- try
- {
- //IDataParameter[] paras = new OracleParameter[]
- //{
- // new OracleParameter("in_procedureID",OracleDbType.Int32, searchEntity.ProcedureID, ParameterDirection.Input),
- // new OracleParameter("in_barCode", OracleDbType.Varchar2,searchEntity.BarCode, ParameterDirection.Input),
- // new OracleParameter("in_goodsCode", OracleDbType.Varchar2,searchEntity.GoodsCode, ParameterDirection.Input),
- // new OracleParameter("in_goodsName", OracleDbType.Varchar2,searchEntity.GoodsName, ParameterDirection.Input),
- // new OracleParameter("in_userCode", OracleDbType.Varchar2,searchEntity.UserCode, ParameterDirection.Input),
- // new OracleParameter("in_organizationID", OracleDbType.Int32,searchEntity.OrganizationID, ParameterDirection.Input),
- // new OracleParameter("in_remarks", OracleDbType.Varchar2,searchEntity.Remarks, ParameterDirection.Input),
- // new OracleParameter("in_isReworked", OracleDbType.Varchar2,searchEntity.IsRework, ParameterDirection.Input),
- // new OracleParameter("in_begindate", OracleDbType.Date,searchEntity.BeginDate, ParameterDirection.Input),
- // new OracleParameter("in_enddate", OracleDbType.Date,searchEntity.EndDate, ParameterDirection.Input),
- // new OracleParameter("in_accountID", OracleDbType.Int32,user.AccountID, ParameterDirection.Input),
- // new OracleParameter("in_userID", OracleDbType.Int32,user.UserID, ParameterDirection.Input),
- // new OracleParameter("in_kilnCode", OracleDbType.Varchar2,searchEntity.KilnCode, ParameterDirection.Input),
- // new OracleParameter("in_kilnCarCode", OracleDbType.Varchar2,searchEntity.KilnCarCode, ParameterDirection.Input),
- // new OracleParameter("in_kilnCarPosition", OracleDbType.Int32,searchEntity.KilnCarPosition, ParameterDirection.Input),
- // new OracleParameter("in_currentUserID", OracleDbType.Int32,user.UserID, ParameterDirection.Input),
- // new OracleParameter("out_result", OracleDbType.RefCursor, ParameterDirection.Output),
- // new OracleParameter("in_goodsTypeCode", OracleDbType.Varchar2,searchEntity.GoodsTypeCode, ParameterDirection.Input),
- //};
- oracleConn.Open();
- DataSet returnDs = oracleConn.GetSqlResultToDs(procsql);
- if (returnDs != null && returnDs.Tables.Count > 0)
- {
- return returnDs.Tables[0];
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 获取次品产品条码允许编辑
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>Datase</returns>
- public static DataSet GetSubstandardInfo(string barcode)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- //获取窑炉管理数据
- string sqlString = "Select barcode from TP_PM_InProductionTrash where barcode=:barcode";
- Oracle.DataAccess.Client.OracleParameter[] oracleParameter = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":barcode",barcode)
- };
- oracleConn.Open();
- DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
- oracleConn.Close();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 获取生产工序实体
- /// <summary>
- /// 获取生产工序实体
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="userInfo">用户基本信息</param>
- /// <returns>ProcedureEntity实体类</returns>
- public static ProcedureEntity GetProcedureDataEntityByID(int procedureID, SUserInfo userInfo)
- {
- ProcedureEntity procedureDataentity = new ProcedureEntity();
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string procsql = "pro_pm_searchProcedurbyID";
- try
- {
- IDataParameter[] paras = new OracleParameter[]
- {
- new OracleParameter("in_procedureID", OracleDbType.Int32, procedureID, ParameterDirection.Input),
- new OracleParameter("out_result", OracleDbType.RefCursor, ParameterDirection.Output)
- };
- oracleConn.Open();
- DataSet returnDs = oracleConn.ExecStoredProcedure(procsql, paras);
- if (returnDs != null && returnDs.Tables.Count > 0 && returnDs.Tables[0].Rows.Count > 0)
- {
- DataRow row = returnDs.Tables[0].Rows[0];
- procedureDataentity = DataConvert.DataRowConvertToObject<ProcedureEntity>(row);
- return procedureDataentity;
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 判断操作人员是否具有工序权限
- /// <summary>
- /// 判断操作人员是否具有工序权限
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="userID">工号ID</param>
- /// <returns>DataSet</returns>
- public static DataSet DecideUserInProcedure(int procedureID, int userID)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- string procsql = "pro_pm_DecideUserInProcedure";
- try
- {
- IDataParameter[] paras = new OracleParameter[]
- {
- new OracleParameter("in_procedureID",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_userID",OracleDbType.Int32,userID,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output)
- };
- oracleConn.Open();
- DataSet returnDs = oracleConn.ExecStoredProcedure(procsql, paras);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 检验条码
- /// <summary>
- /// 检验条码
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckBarcode(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- string sqlString = string.Empty;
- DataSet ds = null;
- #region 查出工序条码类型 wangx 2017-3-13
- string sqlBarcode = GetConvertBarCode(oracleConn, barcode, procedureID, sUserInfo);
- if (sqlBarcode == string.Empty)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码";
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_barcode.ToString()] = sqlBarcode;
- barcode = sqlBarcode;
- }
- #endregion
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_procedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,2000,null,ParameterDirection.Output),
- new OracleParameter("out_goodsID",OracleDbType.Int32,ParameterDirection.Output),
- new OracleParameter("out_goodsCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_goodsName",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_groutingUserCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_errMsg_Status",OracleDbType.Varchar2,50,"",ParameterDirection.Output),
- };
- oracleConn.ExecStoredProcedure("PRO_PM_CheckBarcode", paras);
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()]
- = paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r");
- //if (!string.IsNullOrEmpty(paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r")))
- //{
- // AddBarCodeMissing(oracleConn, barcode, procedureID, sUserInfo);
- //}
- int missFlag = 0;
- if (paras[7].Value != null && paras[7].Value.ToString() == "1")
- {
- missFlag = AddBarCodeMissing(oracleConn, barcode, procedureID, sUserInfo);
- }
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = paras[3].Value.ToString() == "null" ? 0 : paras[3].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = paras[4].Value.ToString() == "null" ? "" : paras[4].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = paras[5].Value.ToString() == "null" ? "" : paras[5].Value;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = paras[6].Value.ToString() == "null" ? 0 : paras[6].Value;
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = missFlag;
- if (paras[7].Value.ToString() == "null") //只有正确的条码,读注浆信息
- {
- sqlString = @"select
- tp_pm_inproduction.GroutingUserCode,
- tp_pm_inproduction.GroutingNum,
- tp_pm_inproduction.GroutingMouldCode as MouldCode,
- tp_pm_inproduction.ispublicbody,
- tp_pm_inproduction.Groutingdate,
- tp_pm_inproduction.SpecialRepairFlag,
- tp_pm_inproduction.logoid, g.goodsid,g.goodscode,g.PlateLimitNum,
- --nvl(gdd.MaterialCode, nvl(g.MaterialCode,g.GoodsCode)) as GOODSMODELforCheck, -- 用物料编码验证产品型号是否一致
- g.GoodsCode as GOODSMODELforCheck,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from tp_pm_inproduction left join TP_PM_GroutingDailyDetail gdd on gdd.GroutingDailyDetailID = tp_pm_inproduction.GroutingDailyDetailID
- left join tp_mst_logo
- on tp_pm_inproduction.logoid=tp_mst_logo.logoid
- LEFT JOIN TP_MST_GOODS G ON G.GoodsID = tp_pm_inproduction.goodsid
- where tp_pm_inproduction.BarCode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoid"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- dr["GOODSMODELforCheck"] = ds.Tables[0].Rows[0]["GOODSMODELforCheck"].ToString();
- dr["PlateLimitNum"] = ds.Tables[0].Rows[0]["PlateLimitNum"];
- }
- }
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #region 2017-3-13
- /// <summary>
- /// 根据条码及工序判断是否漏扫
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <param name="produceid">校验工序ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static string GetConvertBarCode(IDBConnection oracleTrConn, string barcode, int produceid, SUserInfo sUserInfo)
- {
- try
- {
- #region 查出工序条码类型 wangx 2017-3-13
- string sqlString = "select BarCodeFlag from TP_PC_Procedure where ProcedureID=:ProcedureID";
- OracleParameter[] paras2 = new OracleParameter[]{
- new OracleParameter(":ProcedureID",produceid),
- };
- DataSet ds = oracleTrConn.GetSqlResultToDs(sqlString, paras2);
- int BarCodeFlag = 0;
- string returnBarcode = string.Empty;//返回条码
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- BarCodeFlag = Convert.ToInt32(ds.Tables[0].Rows[0]["BarCodeFlag"]);
- if (BarCodeFlag > 0)
- {
- //sqlString = @"select FUN_CMN_GetBarCode(:barcode,:procedureid,:accountid) From DUAL";
- sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- //new OracleParameter(":procedureid",OracleDbType.Int32, produceid,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- returnBarcode = ds.Tables[0].Rows[0][0].ToString();
- }
- return returnBarcode;
- }
- else
- {
- returnBarcode = barcode;
- }
- }
- #endregion
- return returnBarcode;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- #endregion
- /// <summary>
- /// 检验条码pda
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckBarcodePDA(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- #region 查出工序条码类型 wangx 2017-3-13
- string sqlBarcode = GetConvertBarCode(oracleConn, barcode, procedureID, sUserInfo);
- if (sqlBarcode == string.Empty)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码";
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_barcode.ToString()] = sqlBarcode;
- barcode = sqlBarcode;
- }
- #endregion
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_procedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,2000,null,ParameterDirection.Output),
- new OracleParameter("out_goodsID",OracleDbType.Int32,ParameterDirection.Output),
- new OracleParameter("out_goodsCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_goodsName",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_groutingUserCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_errMsg_Status",OracleDbType.Varchar2,50,"",ParameterDirection.Output),
- };
- oracleConn.ExecStoredProcedure("PRO_PM_CheckBarcode", paras);
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()]
- = paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r");
- //if (!string.IsNullOrEmpty(paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r")))
- //{
- // AddBarCodeMissing(oracleConn, barcode, procedureID, sUserInfo);
- //}
- int missFlag = 0;
- if (paras[7].Value != null && paras[7].Value.ToString() == "1")
- {
- missFlag = AddBarCodeMissing(oracleConn, barcode, procedureID, sUserInfo);
- }
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = paras[3].Value.ToString() == "null" ? 0 : paras[3].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = paras[4].Value.ToString() == "null" ? "" : paras[4].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = paras[5].Value.ToString() == "null" ? "" : paras[5].Value;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = paras[6].Value.ToString() == "null" ? 0 : paras[6].Value;
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = missFlag;
- if (paras[7].Value.ToString() == "null") //只有正确的条码,读注浆信息
- {
- string sql = "select NodeType from tp_pc_procedure where procedureid=:procedureid";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureid",procedureID),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sql, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- string sqlString = "";
- int NodeType = Convert.ToInt32(ds.Tables[0].Rows[0]["NodeType"]);
- if (NodeType == (int)Constant.ProcedureNodeType.Begin) //开始节点
- {
- sqlString = @"select
- TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- tp_pm_groutingdailydetail.groutingcount as GroutingNum,
- tp_pm_groutingdailydetail.GroutingMouldCode as MouldCode,
- 0 as ispublicbody,
- tp_pm_groutingdailydetail.Groutingdate,
- tp_pm_groutingdailydetail.SpecialRepairFlag,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from tp_pm_groutingdailydetail
- left join tp_mst_logo
- on tp_pm_groutingdailydetail.logoid=tp_mst_logo.logoid
- where tp_pm_groutingdailydetail.BarCode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoid"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- }
- }
- else
- {
- sqlString = @"select
- TP_PM_InProduction.GroutingUserCode,
- TP_PM_InProduction.GroutingNum,
- TP_PM_InProduction.GroutingMouldCode as MouldCode,
- TP_PM_InProduction.ispublicbody,
- (select tp_pm_inproductiontrash.ispublicbody from
- tp_pm_inproductiontrash where tp_pm_inproductiontrash.BarCode=:barcode) as ispublicbodyTrach,
- TP_PM_InProduction.Groutingdate,
- TP_PM_InProduction.SpecialRepairFlag,
- TP_PM_InProduction.IsReFire,
- tp_mst_logo.logoid, g.goodsid,g.goodscode,g.PlateLimitNum,
- --nvl(gdd.MaterialCode, nvl(g.MaterialCode,g.GoodsCode)) as GOODSMODELforCheck, -- 用物料编码验证产品型号是否一致
- g.GoodsCode as GOODSMODELforCheck,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from TP_PM_InProduction left join TP_PM_GroutingDailyDetail gdd on gdd.GroutingDailyDetailID = tp_pm_inproduction.GroutingDailyDetailID
- left join tp_mst_logo
- on TP_PM_InProduction.logoid=tp_mst_logo.logoid
- LEFT JOIN TP_MST_GOODS G ON G.GoodsID = tp_pm_inproduction.goodsid
- where TP_PM_InProduction.BarCode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = ds.Tables[0].Rows[0]["ispublicbodyTrach"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = ds.Tables[0].Rows[0]["IsReFire"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoid"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- dr["GOODSMODELforCheck"] = ds.Tables[0].Rows[0]["GOODSMODELforCheck"].ToString();
- dr["PlateLimitNum"] = ds.Tables[0].Rows[0]["PlateLimitNum"];
- }
- }
- }
- }
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 根据条码及工序判断是否漏扫
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <param name="produceid">校验工序ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static int AddBarCodeMissing(IDBConnection oracleTrConn, string barcode, int produceid, SUserInfo sUserInfo)
- {
- try
- {
- #region 查询产成品
- string sqlString = @"select TP_PM_InProduction.FlowProcedureID,NVL(TP_PM_InProduction.ReworkProcedureID,0) as ReworkProcedureID,
- TP_PM_InProduction.GoodsID,TP_PM_InProduction.GoodsCode,TP_PM_InProduction.GoodsName,
- TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_MST_Goods.GoodsTypeID,TP_PM_InProduction.isrefire
- from TP_PM_InProduction left join TP_PC_Procedure
- on TP_PM_InProduction.FlowProcedureID=TP_PC_Procedure.ProcedureID
- left join TP_MST_Goods on TP_PM_InProduction.GoodsID=TP_MST_Goods.GoodsID
- where TP_PM_InProduction.BarCode =:barCode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- #endregion
- int AddBarCodeMissingID = 0;//新增漏扫表的ID
- if (ds != null && ds.Tables[0].Rows.Count > 0) //只有是在产的,才可以去进行漏扫
- {
- #region 获取此条码为在产产品
- int CompleteProcedureID = Convert.ToInt32(ds.Tables[0].Rows[0]["FlowProcedureID"]);//WMSYS.WM_CONCAT(to_char(pro.ProcedureName)),max(line.ProductionLineName)
- string CompleteProcedureCode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- string CompleteProcedureName = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- int GoodsID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsID"]);
- string GoodsCode = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- string GoodsName = ds.Tables[0].Rows[0]["GoodsName"].ToString();
- int GoodsTypeID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsTypeID"]);
- int ReworkProcedureID = Convert.ToInt32(ds.Tables[0].Rows[0]["ReworkProcedureID"]);//返工工序
- int isrefire = Convert.ToInt32(ds.Tables[0].Rows[0]["isrefire"]);//重烧标记
- #endregion
- // 漏扫工序与检验工序不在一条路径上 modify by chenxy 2016-08-08 begin
- // 漏扫序号大的可到达工序与检验工序不在一条路径上时,要验证下一个可到达工序。
- // 即与检验工序在一条路径上的漏扫序号最大可到达工序为漏扫工序。
- #region 获取漏扫工序信息
- if (ReworkProcedureID == 0)
- {
- sqlString = @" select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_ProcedureGoods
- left join TP_PC_Procedure on TP_PC_ProcedureGoods.ProcedureID=TP_PC_Procedure.ProcedureID
- where TP_PC_ProcedureGoods.goodsid=( select Goodsid from TP_PM_GroutingDailyDetail where BarCode=:barCode)
- and TP_PC_ProcedureGoods.ProcedureID in(
- select pro.ProcedureID
- from TP_PC_ProcedureFlow flow
- inner join TP_PC_Procedure pro
- on flow.arriveprocedureid = pro.procedureid
- inner join TP_PC_ProductionLine line
- on pro.ProductionLineID = line.ProductionLineID
- where flow.ProcedureID =:procedureID
- and flow.FlowFlag = 2 and pro.valueflag = '1'
- -- 非必须工序,不记漏扫
- and pro.MUSTFLAG = '1'
- ) " +
- //" and exists ( " +
- // "select 1 from " +
- // "(" +
- // "select procedureid, arriveprocedureid,ltrim(sys_connect_by_path(procedureid,'->')||'->'||arriveprocedureid) sybp from " +
- // "( " +
- // " select * from TP_PC_PROCEDUREFLOW where arriveprocedureid<>:missProcedureid and flowflag=2 " +
- // ") " +
- // //" start with procedureid=:missProcedureid" +
- // " start with procedureid=TP_PC_ProcedureGoods.ProcedureID" +
- // " connect by nocycle procedureid=prior arriveprocedureid" +
- // ") where arriveprocedureid=:judgeProcedureid " +
- // " ) " +
- //" order by ProcedureID";
- " order by MissPriority DESC, displayno --ProcedureCode DESC";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureID",OracleDbType.Int32,CompleteProcedureID,ParameterDirection.Input),
- new OracleParameter(":barCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- //new OracleParameter(":missProcedureid",OracleDbType.Int32,missprocedureid,ParameterDirection.Input),
- //new OracleParameter(":judgeProcedureid",OracleDbType.Int32,produceid,ParameterDirection.Input),
- };
- }
- else
- {
- sqlString = "select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_Procedure where ProcedureID=:procedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureID",OracleDbType.Int32,ReworkProcedureID,ParameterDirection.Input),
- };
- }
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
- {
- return AddBarCodeMissingID;
- }
- //int missprocedureid = Convert.ToInt32(ds.Tables[0].Rows[0]["ProcedureID"]);
- //string missprocedurecode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- //string missprocedurename = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- int missprocedureid = -1;
- string missprocedurecode = "";
- string missprocedurename = "";
- #endregion
- #region 增加判断校验工序必须是在漏扫工序的后面工序
- //sqlString = "select * from " +
- // "(" +
- // "select procedureid, arriveprocedureid,ltrim(sys_connect_by_path(procedureid,'->')||'->'||arriveprocedureid) sybp from " +
- // "( " +
- // " select * from TP_PC_PROCEDUREFLOW where arriveprocedureid<>:missProcedureid and flowflag=2 " +
- // ")" +
- // " start with procedureid=:missProcedureid" +
- // " connect by nocycle procedureid=prior arriveprocedureid" +
- // ") where arriveprocedureid=:judgeProcedureid ";
- //paras = new OracleParameter[]{
- // new OracleParameter(":missProcedureid",OracleDbType.Int32,missprocedureid,ParameterDirection.Input),
- // new OracleParameter(":judgeProcedureid",OracleDbType.Int32,produceid,ParameterDirection.Input),
- // };
- //ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- //if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
- //{
- // return AddBarCodeMissingID;
- //}
- foreach (DataRow item in ds.Tables[0].Rows)
- {
- sqlString = "select * from " +
- "(" +
- "select procedureid, arriveprocedureid,ltrim(sys_connect_by_path(procedureid,'->')||'->'||arriveprocedureid) sybp from " +
- "( " +
- " select * from TP_PC_PROCEDUREFLOW where arriveprocedureid<>:missProcedureid and flowflag=2 " +
- ")" +
- " start with procedureid=:missProcedureid" +
- " connect by nocycle procedureid=prior arriveprocedureid" +
- ") where arriveprocedureid=:judgeProcedureid ";
- paras = new OracleParameter[]{
- new OracleParameter(":missProcedureid",OracleDbType.Int32,Convert.ToInt32(item["ProcedureID"]),ParameterDirection.Input),
- new OracleParameter(":judgeProcedureid",OracleDbType.Int32,produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
- {
- continue;
- }
- missprocedureid = Convert.ToInt32(item["ProcedureID"]);
- missprocedurecode = item["ProcedureCode"].ToString();
- missprocedurename = item["ProcedureName"].ToString();
- break;
- }
- if (missprocedureid == -1)
- {
- return AddBarCodeMissingID;
- }
- #endregion
- // 漏扫工序与检验工序不在一条路径上 modify by chenxy 2016-08-08 end
- //sqlString = "select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_Procedure where ProcedureID=:procedureID";
- //paras = new OracleParameter[]{
- // new OracleParameter(":procedureID",OracleDbType.Int32,produceid,ParameterDirection.Input),
- // };
- //ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- //int nodetype = Convert.ToInt32(ds.Tables[0].Rows[0]["NodeType"]);//获取当前工序的类型,为了判断如果成检设置重燃,未走重燃,直接包装,还有就是不记录以前工序的值
- //if ((produceid > missprocedureid) || (ReworkProcedureID > 0 && nodetype == 3) || (isrefire == 6))//3 为结束节点,6为重烧
- sqlString = "select 1 from TP_PM_ProductionDataIn where barcode=:barcode and ProcedureID=:ProcedureID and ValueFlag=1";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- // if (produceid > missprocedureid)
- if (ds != null && ds.Tables[0].Rows.Count == 0) // 未走过该工序
- {
- #region 插入漏扫表,如果漏扫表里有相应的条码,不允许重复插入
- sqlString = @"select 1 from TP_PM_BarCodeMissing where barcode=:barcode and MissProcedureID=:MissProcedureID and ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count == 0) // 没有此条码的工序,即插入
- {
- int OrganizationID = 0;
- string OrganizationName = "";
- string OrganizationCode = "";
- string OrganizationFullName = "";
- sqlString = @"select TP_MST_Organization.OrganizationID
- ,TP_MST_Organization.OrganizationName
- ,TP_MST_Organization.OrganizationCode
- ,TP_MST_Organization.OrganizationFullName
- from TP_PC_Procedure left join TP_MST_Organization
- on TP_MST_Organization.OrganizationID=TP_PC_Procedure.OrganizationID
- where TP_PC_Procedure.ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- OrganizationID = Convert.ToInt32(ds.Tables[0].Rows[0]["OrganizationID"]); //组织机构ID
- OrganizationName = ds.Tables[0].Rows[0]["OrganizationName"].ToString(); //组织机构名称
- OrganizationCode = ds.Tables[0].Rows[0]["OrganizationCode"].ToString(); //组织机构编码
- OrganizationFullName = ds.Tables[0].Rows[0]["OrganizationFullName"].ToString(); //组织机构全称
- // 获取校验工序信息
- sqlString = @"select TP_PC_Procedure.ProcedureID
- ,TP_PC_Procedure.ProcedureCode
- ,TP_PC_Procedure.ProcedureName
- from TP_PC_Procedure
- where TP_PC_Procedure.ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- string ProcedureCode = "";
- string ProcedureName = "";
- if (ds != null && ds.Tables[0].Rows.Count > 0) // 没有此条码的工序,即插入
- {
- ProcedureCode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- ProcedureName = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- }
- //漏扫表ID
- string sql = "select SEQ_PM_BarCodeMissing_MissID.nextval from dual";
- AddBarCodeMissingID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sql));
- sqlString = @"insert into TP_PM_BarCodeMissing(MissID,
- BarCode,
- OrganizationID,
- OrganizationName,
- OrganizationCode,
- OrganizationFullName,
- CompleteProcedureID,
- CompleteProcedureCode,
- CompleteProcedureName,
- ProcedureID,
- ProcedureCode,
- ProcedureName,
- MissProcedureID,
- MissProcedureCode,
- MissProcedureName,
- GoodsID,
- GoodsCode,
- GoodsName,
- GoodsTypeID,
- CreateUserID,
- UpdateUserID,
- AccountID
- ) values
- ( :MissID,
- :BarCode,
- :OrganizationID,
- :OrganizationName,
- :OrganizationCode,
- :OrganizationFullName,
- :CompleteProcedureID,
- :CompleteProcedureCode,
- :CompleteProcedureName,
- :ProcedureID,
- :ProcedureCode,
- :ProcedureName,
- :MissProcedureID,
- :MissProcedureCode,
- :MissProcedureName,
- :GoodsID,
- :GoodsCode,
- :GoodsName,
- :GoodsTypeID,
- :CreateUserID,
- :UpdateUserID,
- :AccountID
- )
- ";
- paras = new OracleParameter[]{
- new OracleParameter(":MissID",OracleDbType.Int32, AddBarCodeMissingID,ParameterDirection.Input),
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":OrganizationID",OracleDbType.Int32, OrganizationID,ParameterDirection.Input),
- new OracleParameter(":OrganizationName",OracleDbType.Varchar2, OrganizationName,ParameterDirection.Input),
- new OracleParameter(":OrganizationCode",OracleDbType.Varchar2, OrganizationCode,ParameterDirection.Input),
- new OracleParameter(":OrganizationFullName",OracleDbType.Varchar2, OrganizationFullName,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureID",OracleDbType.Int32, CompleteProcedureID,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureCode",OracleDbType.Varchar2, CompleteProcedureCode,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureName",OracleDbType.Varchar2, CompleteProcedureName,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.Varchar2, ProcedureCode,ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.Varchar2, ProcedureName,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- new OracleParameter(":MissProcedureCode",OracleDbType.Varchar2,missprocedurecode ,ParameterDirection.Input),
- new OracleParameter(":MissProcedureName",OracleDbType.Varchar2, missprocedurename,ParameterDirection.Input),
- new OracleParameter(":GoodsID",OracleDbType.Int32, GoodsID,ParameterDirection.Input),
- new OracleParameter(":GoodsCode",OracleDbType.Varchar2,GoodsCode ,ParameterDirection.Input),
- new OracleParameter(":GoodsName",OracleDbType.Varchar2, GoodsName,ParameterDirection.Input),
- new OracleParameter(":GoodsTypeID",OracleDbType.Int32, GoodsTypeID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- oracleTrConn.GetSqlResultToStr(sqlString, paras);
- #endregion
- }
- }
- }
- else //不在产
- {
- #region 是否存在注浆产品
- sqlString = @"select TP_PM_GroutingDailyDetail.BarCode,TP_PM_GroutingDailyDetail.GoodsID,TP_PM_GroutingDailyDetail.GoodsCode,
- TP_PM_GroutingDailyDetail.GoodsName,TP_MST_Goods.GoodsTypeID
- from TP_PM_GroutingDailyDetail
- left join TP_MST_Goods on TP_PM_GroutingDailyDetail.GoodsID=TP_MST_Goods.GoodsID
- where TP_PM_GroutingDailyDetail.BarCode=:BarCode";
- paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- #endregion
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- // 此条码为在产产品
- //int? CompleteProcedureID = null;//WMSYS.WM_CONCAT(to_char(pro.ProcedureName)),max(line.ProductionLineName)
- //string CompleteProcedureCode = "";
- //string CompleteProcedureName = "";
- int GoodsID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsID"]);
- string GoodsCode = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- string GoodsName = ds.Tables[0].Rows[0]["GoodsName"].ToString();
- int GoodsTypeID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsTypeID"]);
- // #region 存在注浆产品,查看是否存在报损记录或者产成品记录
- // sqlString = @"select BarCode from TP_PM_ScrapProduct where BarCode=:BarCode and ValueFlag=1
- // union select BarCode from TP_PM_FinishedProduct where BarCode=:BarCode and ValueFlag=1";
- // paras = new OracleParameter[]{
- // new OracleParameter(":BarCode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- // };
- // ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- // #endregion
- // if (ds != null && ds.Tables[0].Rows.Count == 0) //即不在报损 ,也不在产成,说明未走任何工序
- // {
- #region 查出校验工序的据在生产线,从而查出此生产上的漏扫开始工序节点
- int ProductionLineID = 0;
- //查出校验工序生产线ID,用于区分多生产线的首个开始节点
- sqlString = @"select ProductionLineID from TP_PC_Procedure where ProcedureID=:procedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureID",OracleDbType.Int32,produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0) //
- {
- ProductionLineID = Convert.ToInt32(ds.Tables[0].Rows[0]["ProductionLineID"]);
- }
- sqlString = @" select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_ProcedureGoods
- left join TP_PC_Procedure on TP_PC_ProcedureGoods.ProcedureID=TP_PC_Procedure.ProcedureID
- where TP_PC_ProcedureGoods.goodsid=( select Goodsid from TP_PM_GroutingDailyDetail where BarCode=:barCode)
- and TP_PC_ProcedureGoods.ProcedureID in(
- select ProcedureID
- from TP_PC_Procedure
- where ProductionLineID =:ProductionLineID and NodeType=1 and valueflag = '1')
- order by TP_PC_Procedure.misspriority desc, TP_PC_Procedure.displayno";
- paras = new OracleParameter[]{
- new OracleParameter(":ProductionLineID",OracleDbType.Int32,ProductionLineID,ParameterDirection.Input),
- new OracleParameter(":barCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- #endregion
- if (ds != null && ds.Tables[0].Rows.Count > 0) //即不在报损 ,也不在产成,说明未走任何工序
- {
- int missprocedureid = Convert.ToInt32(ds.Tables[0].Rows[0]["ProcedureID"]);
- string missprocedurecode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- string missprocedurename = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- #region 插入漏扫表,如果漏扫表里有相应的条码,不允许重复插入
- sqlString = @"select 1 from TP_PM_BarCodeMissing where barcode=:barcode and MissProcedureID=:MissProcedureID and ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32,produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count == 0) // 没有此条码的工序,即插入
- {
- int OrganizationID = 0;
- string OrganizationName = "";
- string OrganizationCode = "";
- string OrganizationFullName = "";
- sqlString = @"select TP_MST_Organization.OrganizationID
- ,TP_MST_Organization.OrganizationName
- ,TP_MST_Organization.OrganizationCode
- ,TP_MST_Organization.OrganizationFullName
- from TP_PC_Procedure left join TP_MST_Organization
- on TP_MST_Organization.OrganizationID=TP_PC_Procedure.OrganizationID
- where TP_PC_Procedure.ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- OrganizationID = Convert.ToInt32(ds.Tables[0].Rows[0]["OrganizationID"]); //组织机构ID
- OrganizationName = ds.Tables[0].Rows[0]["OrganizationName"].ToString(); //组织机构名称
- OrganizationCode = ds.Tables[0].Rows[0]["OrganizationCode"].ToString(); //组织机构编码
- OrganizationFullName = ds.Tables[0].Rows[0]["OrganizationFullName"].ToString(); //组织机构全称
- // 获取校验工序信息
- sqlString = @"select TP_PC_Procedure.ProcedureID
- ,TP_PC_Procedure.ProcedureCode
- ,TP_PC_Procedure.ProcedureName
- from TP_PC_Procedure
- where TP_PC_Procedure.ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- string ProcedureCode = "";
- string ProcedureName = "";
- if (ds != null && ds.Tables[0].Rows.Count > 0) // 没有此条码的工序,即插入
- {
- ProcedureCode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- ProcedureName = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- }
- //漏扫表ID
- string sql = "select SEQ_PM_BarCodeMissing_MissID.nextval from dual";
- AddBarCodeMissingID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sql));
- sqlString = @"insert into TP_PM_BarCodeMissing(MissID,
- BarCode,
- OrganizationID,
- OrganizationName,
- OrganizationCode,
- OrganizationFullName,
- ProcedureID,
- ProcedureCode,
- ProcedureName,
- MissProcedureID,
- MissProcedureCode,
- MissProcedureName,
- GoodsID,
- GoodsCode,
- GoodsName,
- GoodsTypeID,
- CreateUserID,
- UpdateUserID,
- AccountID
- ) values
- ( :MissID,
- :BarCode,
- :OrganizationID,
- :OrganizationName,
- :OrganizationCode,
- :OrganizationFullName,
- :ProcedureID,
- :ProcedureCode,
- :ProcedureName,
- :MissProcedureID,
- :MissProcedureCode,
- :MissProcedureName,
- :GoodsID,
- :GoodsCode,
- :GoodsName,
- :GoodsTypeID,
- :CreateUserID,
- :UpdateUserID,
- :AccountID
- )
- ";
- paras = new OracleParameter[]{
- new OracleParameter(":MissID",OracleDbType.Int32, AddBarCodeMissingID,ParameterDirection.Input),
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":OrganizationID",OracleDbType.Int32, OrganizationID,ParameterDirection.Input),
- new OracleParameter(":OrganizationName",OracleDbType.Varchar2, OrganizationName,ParameterDirection.Input),
- new OracleParameter(":OrganizationCode",OracleDbType.Varchar2, OrganizationCode,ParameterDirection.Input),
- new OracleParameter(":OrganizationFullName",OracleDbType.Varchar2, OrganizationFullName,ParameterDirection.Input),
- //new OracleParameter(":CompleteProcedureID",OracleDbType.Int32, CompleteProcedureID,ParameterDirection.Input),
- //new OracleParameter(":CompleteProcedureCode",OracleDbType.Varchar2, CompleteProcedureCode,ParameterDirection.Input),
- //new OracleParameter(":CompleteProcedureName",OracleDbType.Varchar2, CompleteProcedureName,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.Varchar2, ProcedureCode,ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.Varchar2, ProcedureName,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- new OracleParameter(":MissProcedureCode",OracleDbType.Varchar2,missprocedurecode ,ParameterDirection.Input),
- new OracleParameter(":MissProcedureName",OracleDbType.Varchar2, missprocedurename,ParameterDirection.Input),
- new OracleParameter(":GoodsID",OracleDbType.Int32, GoodsID,ParameterDirection.Input),
- new OracleParameter(":GoodsCode",OracleDbType.Varchar2,GoodsCode ,ParameterDirection.Input),
- new OracleParameter(":GoodsName",OracleDbType.Varchar2, GoodsName,ParameterDirection.Input),
- new OracleParameter(":GoodsTypeID",OracleDbType.Int32, GoodsTypeID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- oracleTrConn.GetSqlResultToStr(sqlString, paras);
- }
- #endregion
- }
- //}
- }
- }
- return AddBarCodeMissingID;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- #endregion
- #region 校验生产工号
- /// <summary>
- /// 检验此用户是否允许生产工序
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="UserID">工号ID</param>
- /// <returns>CheckProcedureUserResult实体类</returns>
- public static CheckProcedureUserResult CheckProcedureUser(int procedureID, string UserCode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sqlString = @"SELECT TP_MST_USER.ispublicbody,TP_MST_USER.USERID,TP_MST_USER.UserCode,TP_MST_USER.UserName,nvl(TP_PC_ProcedureUser.Userid,0) as ProcedureUserid FROM TP_MST_USER
- left join (select TP_PC_ProcedureUser.Userid from TP_PC_ProcedureUser where TP_PC_ProcedureUser.ProcedureID=:ProcedureID) TP_PC_ProcedureUser
- on TP_PC_ProcedureUser.Userid=TP_MST_USER.UserID
- WHERE TP_MST_USER.UserCode=:UserCode and TP_MST_USER.ValueFlag = 1 and TP_MST_USER.IsWorker=1 and TP_MST_USER.AccountID=:accountID";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter(":UserCode",OracleDbType.Varchar2,UserCode,ParameterDirection.Input),
- new OracleParameter(":accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet resultDs = oracleConn.GetSqlResultToDs(sqlString, paras);
- CheckProcedureUserResult checkProcedureUserResult = new CheckProcedureUserResult();
- if (resultDs != null && resultDs.Tables.Count > Constant.INT_IS_ZERO && resultDs.Tables[0].Rows.Count > Constant.INT_IS_ZERO)
- {
- if (Convert.ToInt32(resultDs.Tables[0].Rows[0]["ProcedureUserid"]) == Constant.INT_IS_ZERO)
- {
- // 此工号不允许生产工序
- checkProcedureUserResult.ErrMsg
- = string.Format(Messages.MSG_PM_W006, UserCode);
- }
- else
- {
- checkProcedureUserResult.UserID = Convert.ToInt32(resultDs.Tables[0].Rows[0]["UserID"]);
- checkProcedureUserResult.UserCode = resultDs.Tables[0].Rows[0]["UserCode"].ToString();
- checkProcedureUserResult.UserName = resultDs.Tables[0].Rows[0]["UserName"].ToString();
- checkProcedureUserResult.Ispublicbody = resultDs.Tables[0].Rows[0]["Ispublicbody"].ToString() == "1" ? 1 : 0;
- }
- }
- else
- {
- checkProcedureUserResult.ErrMsg
- = string.Format(Messages.MSG_CMN_W019, UserCode, "生产工号");
- }
- #region 查询该工号下是否有试用或者转正的生产员工
- if (string.IsNullOrEmpty(checkProcedureUserResult.ErrMsg))
- {
- sqlString = @"
- select count(*) from tp_hr_staff where staffid in(select staffid
- from tp_mst_userstaff where userid=:userID) and valueflag=1 and (staffstatus=1 or staffstatus=2)";
- paras = new OracleParameter[]{
- new OracleParameter(":userID",OracleDbType.Int32,checkProcedureUserResult.UserID,ParameterDirection.Input),
- };
- string count = oracleConn.GetSqlResultToStr(sqlString, paras);
- if (int.Parse(count) == Constant.INT_IS_ZERO)
- {
- checkProcedureUserResult.ErrMsg
- = string.Format(Messages.MSG_PM_W005, UserCode);
- }
- }
- #endregion
- return checkProcedureUserResult;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- /// <summary>
- /// 根据工序条码获得生产数据
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetProductionByBarcode(int procedureID, string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = "select t.ProductionDataID,t.Barcode,t.GoodsID,t.GoodsCode,t.GoodsName,t.UserID,t.UserCode,t.UserName,t.DefectFlag,t.ReworkProcedureID,t.Remarks from TP_PM_ProductionData t where t.barcode='" + barcode + "' and t.ProcedureID=" + procedureID;
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取生产返工工序
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetReworkProcedureByBarcode(int procedureID, string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select t.ProcedureID as ReworkProcedureID, t.ProcedureCode as ReworkProcedureCode, t.ProcedureName as ReworkProcedureName
- from TP_PM_ProductionData t
- where t.ProcedureModel=1 and t.ModelType=0 and t.barcode='" + barcode + "' ";
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取重烧生产返工工序
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetReworkProcedureByProcedureID(int procedureID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select ProcedureID as ReworkProcedureID ,ProcedureName as ReworkProcedureName
- from TP_PC_Procedure p where ProductionLineID
- in(
- select ProductionLineID from TP_PC_Procedure where ProcedureID=:ProcedureID
- ) and p.valueflag='1'
- and IsSpecialRework='1' order by p.displayno ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, procedureID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据生产数据ID获取对应的缺陷信息
- /// </summary>
- /// <param name="ProductionDataID">生产数据ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetProductionDefectByProductionDataID(int ProductionDataID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select replace(
- concat(TP_PM_Defect.DefectCode||'->',TP_PM_Defect.DefectName) ,
- concat(TP_PM_Defect.DefectCode||'->',TP_PM_Defect.DefectCode||'->'),TP_PM_Defect.DefectCode||'->'
- )
- as DefectName,
- replace(
- concat(TP_PM_Defect.DefectPositionCode||'->',TP_PM_Defect.DefectPositionName) ,
- concat(TP_PM_Defect.DefectPositionCode||'->',TP_PM_Defect.DefectPositionCode||'->'),TP_PM_Defect.DefectPositionCode||'->'
- )
- as DefectPositionName,
- TP_PM_Defect.DefectProcedureName
- ,TP_PM_Defect.DefectUserCode,TP_PM_Defect.DefectUserName,TP_PM_Defect.Remarks,TP_MST_Jobs.JobsName,TP_MST_DefectFine.DefectFineCode as DefectFine,
- TP_PM_Defect.DefectDeductionNum,
- (SELECT listagg(to_char(s.staffname), ',') within GROUP(ORDER BY s.staffid)
- FROM tp_pm_defectresponsible dp
- INNER JOIN tp_hr_staff s
- ON s.staffid = dp.staffid
- where dp.productiondefectid = TP_PM_Defect.PRODUCTIONDEFECTID) DefectStaffNames
- from TP_PM_Defect left join TP_MST_Jobs on TP_PM_Defect.DefectJobs=TP_MST_Jobs.JobsID
- left join TP_MST_DefectFine on TP_PM_Defect.DefectFine=TP_MST_DefectFine.DefectFineID
- where TP_PM_Defect.ProductionDataID=" + ProductionDataID;
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据产品ID查出缺陷位置
- /// </summary>
- /// <param name="goodsID">产品ID</param>
- /// <returns>object</returns>
- public static object GetDefectPosition(string positionCode, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select DEFECTPOSITIONID,
- DEFECTPOSITIONCODE,
- DEFECTPOSITIONNAME,
- concat(DEFECTPOSITIONCODE||'->',DEFECTPOSITIONNAME) as DEFECTPOSITIONCODEANDNAME
- from TP_MST_DEFECTPOSITION
- where AccountID=:accountID and DEFECTPOSITIONCODE=:defectpositioncode and ValueFlag=1";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":accountID",sUserInfo.AccountID),
- new OracleParameter(":defectpositioncode",positionCode),
- };
- DataSet resultds = con.GetSqlResultToDs(sqlString, paras);
- if (resultds != null && resultds.Tables.Count > Constant.INT_IS_ZERO)
- {
- string errMsg = string.Empty;
- int defectPositionID = 0;
- string defectpositionname = string.Empty;
- if (resultds.Tables[0].Rows.Count == Constant.INT_IS_ZERO)
- {
- errMsg = "缺陷位置在系统中不存在";
- }
- else
- {
- defectPositionID = int.Parse(resultds.Tables[0].Rows[0]["defectPositionID"].ToString());
- defectpositionname = resultds.Tables[0].Rows[0]["defectpositionname"].ToString();
- }
- return new { ErrMsg = errMsg, DefectPositionID = defectPositionID, DefectPositionName = defectpositionname };
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取半检相应的数据
- /// </summary>
- /// <param name="semiTestID">半检ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiTestByID(int semiTestID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- DataSet dsReturn = new DataSet();
- string stringSql1 = @"select
- TP_MST_User.Userid,
- TP_MST_User.Usercode,
- TP_MST_User.Username,
- TP_PM_SemiTest.TestDate,
- TP_PM_SemiTest.Remarks,
- TP_PM_SemiTest.Optimestamp,
- TP_PM_SemiTest.AuditStatus,
- TP_PM_SemiTest.SemiTestType
- from TP_PM_SemiTest
- left join TP_MST_User
- on TP_PM_SemiTest.TestUserID= TP_MST_User.Userid
- where TP_PM_SemiTest.SemiTestID=:SemiTestID";
- string stringSql2 = @"select
- TP_PM_SemiTestDetail.Semitestdetailid,
- TP_PM_SemiTestDetail.Groutinguserid,
- TP_PM_SemiTestDetail.Goodsid,
- TP_PM_SemiTestDetail.Goodscode,
- TP_PM_SemiTestDetail.Goodsname,
- TP_PM_SemiTestDetail.Testnum,
- TP_PM_SemiTestDetail.Scrapnum,
- TP_PM_SemiTestDetail.Scrapreason,
- TP_PM_SemiTestDetail.Feedback,
- TP_MST_Goods.Goodsspecification,
- TP_MST_Goods.Goodsmodel,
- TP_MST_GoodsType.GoodsTypeName
- from TP_PM_SemiTestDetail
- left join TP_MST_Goods
- on TP_PM_SemiTestDetail.Goodsid=TP_MST_Goods.Goodsid
- left join TP_MST_GoodsType
- on TP_MST_Goods.Goodstypeid=TP_MST_GoodsType.Goodstypeid
- where TP_PM_SemiTestDetail.Semitestid=:SemiTestID";
- string stringSql3 = @"select
- TP_PM_SemiTestDefect.SemiTestDefectID,
- TP_PM_SemiTestDefect.SemiTestDetailID,
- TP_PM_SemiTestDefect.SemiTestID,
- TP_PM_SemiTestDefect.SemiTestDate,
- TP_PM_SemiTestDefect.Defectid,
- TP_PM_SemiTestDefect.Defectpositionid,
- TP_PM_SemiTestDefect.DefectNum
- from TP_PM_SemiTestDefect
- where TP_PM_SemiTestDefect.Semitestid=:SemiTestID
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":SemiTestID",OracleDbType.Int32, semiTestID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(stringSql1, paras);
- ds.Tables[0].TableName = "TP_PM_SemiTest";
- DataSet ds2 = con.GetSqlResultToDs(stringSql2, paras);
- ds2.Tables[0].TableName = "TP_PM_SemiTestDetail";
- DataSet ds3 = con.GetSqlResultToDs(stringSql3, paras);
- ds3.Tables[0].TableName = "TP_PM_SemiTestDefect";
- dsReturn.Tables.Add(ds.Tables[0].Copy());
- dsReturn.Tables.Add(ds2.Tables[0].Copy());
- dsReturn.Tables.Add(ds3.Tables[0].Copy());
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取审批半检数据结果集
- /// </summary>
- /// <param name="semiTestEntity">半检实体类</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet SearchSemiTestList(SemiTestEntity semiTestEntity, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_begindate",OracleDbType.Date,
- semiTestEntity.beginDate,ParameterDirection.Input),
- new OracleParameter("in_enddate",OracleDbType.Date,
- semiTestEntity.endDate,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("in_testuserIDS",OracleDbType.NVarchar2,
- semiTestEntity.TestUserIDS,ParameterDirection.Input),
- new OracleParameter("in_currentUserID",OracleDbType.Int32,
- user.UserID,ParameterDirection.Input),
- new OracleParameter("in_remarks",OracleDbType.NVarchar2,
- semiTestEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- new OracleParameter("in_semitesttype",OracleDbType.Int32,
- semiTestEntity.SemiTestType,ParameterDirection.Input),
- new OracleParameter("in_testuserid",OracleDbType.Int32,
- semiTestEntity.TestUserID,ParameterDirection.Input),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_SearchSemiTestList", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取半检数据详细数据源
- /// </summary>
- /// <param name="semitestID">半检ID</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet SearchSemiTestInfo(int semitestID, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_semitestID",OracleDbType.Int32,
- semitestID,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_SearchSemiTestInfo", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取半检数据详细数据源
- /// </summary>
- /// <param name="semitestDetailID">半检明细ID</param>
- /// <param name="user">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet SearchSemiTestDetailInfo(int semitestDetailID, SUserInfo user)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_semitestDetailID",OracleDbType.Int32,
- semitestDetailID,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,
- user.AccountID,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor,
- ParameterDirection.Output),
- };
- DataSet ds = con.ExecStoredProcedure("PRO_PM_SearchSemiTestDetail", paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取产品条码是否重烧
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>Datase</returns>
- public static DataSet GetReFine(string barcode)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- //获取窑炉管理数据
- //string sqlString = "Select IsReFire from TP_PM_InProduction where barcode=:barcode";
- string sqlString = "select IsReFire from tp_PM_ProductionData where ProductionDataid=(select max(ProductionDataid) from tp_PM_ProductionData where barcode=:barcode)";
- Oracle.DataAccess.Client.OracleParameter[] oracleParameter = new Oracle.DataAccess.Client.OracleParameter[]
- {
- new Oracle.DataAccess.Client.OracleParameter(":barcode",barcode)
- };
- oracleConn.Open();
- DataSet result = oracleConn.GetSqlResultToDs(sqlString, oracleParameter);
- oracleConn.Close();
- return result;
- }
- catch (Exception ex)
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 检验干补条码
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckDryRepairBarcode(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_procedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,2000,null,ParameterDirection.Output),
- new OracleParameter("out_goodsID",OracleDbType.Int32,ParameterDirection.Output),
- new OracleParameter("out_goodsCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_goodsName",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_groutingUserCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- };
- oracleConn.ExecStoredProcedure("pro_pm_checkdryrepairbarcode", paras);
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()]
- = paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r");
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = paras[3].Value.ToString() == "null" ? 0 : paras[3].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = paras[4].Value.ToString() == "null" ? "" : paras[4].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = paras[5].Value.ToString() == "null" ? "" : paras[5].Value;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = paras[6].Value.ToString() == "null" ? 0 : paras[6].Value;
- if (paras[2].Value.ToString() == "null") //只有正确的条码,读注浆信息
- {
- string sqlString = @"select
- TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- tp_pm_groutingdailydetail.groutingcount as GroutingNum,
- tp_pm_groutingdailydetail.GroutingMouldCode as MouldCode,
- tp_pm_groutingdailydetail.ispublicbody,
- tp_pm_groutingdailydetail.Groutingdate,
- tp_pm_groutingdailydetail.SpecialRepairFlag,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from tp_pm_groutingdailydetail
- left join tp_mst_logo
- on tp_pm_groutingdailydetail.logoid=tp_mst_logo.logoid
- where tp_pm_groutingdailydetail.BarCode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- }
- }
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 报损工序查出工号根据生产数据ID
- /// </summary>
- /// <param name="ProductionDataID"></param>
- /// <returns></returns>
- public static DataSet GetScrapProductUserCodeByProductionDataID(int ProductionDataID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select UserID,UserCode,UserName from TP_PM_ProductionDataIn
- where ProductionDataID=:ProductionDataID";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProductionDataID",OracleDbType.Int32, ProductionDataID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 交坯验证条码
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckBarcodeDeliverMud(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.IgnoreCase = false;
- oracleConn.Open();
- string sql = "select barcodestatus,GroutingDailyDetailid from TP_PM_USEDBARCODE where BarCode='" + barcode + "'";
- sql = "select barcodestatus,GroutingDailyDetailid from TP_PM_USEDBARCODE where BarCode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sql, paras);
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- if (ds != null && ds.Tables[0].Rows.Count == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码[" + barcode + "]";
- }
- else
- {
- //不等于空的时候
- if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "-1")
- {
- sql = "select max(newbarcode) from TP_PM_BarCodeRecord where BarCode='" + barcode + "'";
- string newbarcode = oracleConn.GetSqlResultToStr(sql);
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "条码已被替换,新条码为" + newbarcode;
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "2")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "产品已成型报损";
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "3")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "产品已交坯";
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "1")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "";
- string sqlString = @"select
- tp_pm_GroutingDailyDetail.GoodsID,
- tp_pm_GroutingDailyDetail.GoodsCode,
- tp_pm_GroutingDailyDetail.GoodsName,
- tp_pm_GroutingDailyDetail.UserID as GroutingUserID,
- tp_pm_GroutingDailyDetail.UserCode as GroutingUserCode,
- tp_mst_user.username as GroutingUserName,
- tp_pm_GroutingDailyDetail.groutingcount as GroutingNum,
- tp_pm_GroutingDailyDetail.GroutingMouldCode as MouldCode,
- tp_pm_GroutingDailyDetail.ispublicbody,
- tp_pm_GroutingDailyDetail.Groutingdate,
- tp_pm_GroutingDailyDetail.SpecialRepairFlag,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname,
- TP_MST_Goods.DeliverLimitCycle
- from
- tp_pm_GroutingDailyDetail
- left join tp_mst_logo
- on tp_pm_GroutingDailyDetail.logoid=tp_mst_logo.logoid
- left join tp_mst_user
- on tp_pm_GroutingDailyDetail.userid=tp_mst_user.userid
- left join TP_MST_Goods
- on tp_pm_GroutingDailyDetail.GoodsID=TP_MST_Goods.GoodsID
- where tp_pm_GroutingDailyDetail.groutingdailydetailid=" + ds.Tables[0].Rows[0]["GroutingDailyDetailid"].ToString();
- //paras = new OracleParameter[]{
- // new OracleParameter(":groutingdailydetailid",ds.Tables[0].Rows[0]["GroutingDailyDetailid"].ToString()),
- // };
- ds = oracleConn.GetSqlResultToDs(sqlString, null);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- string sqlExistGoods = "select count(GoodsID) from TP_PC_ProcedureGoods where GoodsID=:GoodsID and ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":GoodsID",ds.Tables[0].Rows[0]["GoodsID"].ToString()),
- new OracleParameter(":ProcedureID",procedureID),
- };
- DataSet dsGoods = oracleConn.GetSqlResultToDs(sqlExistGoods, paras);
- if (dsGoods.Tables[0].Rows[0][0].ToString() != "1")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = @"条码[" + barcode +
- "]不可以经过该工序\n\r原因:条码对应的产品编码[" +
- ds.Tables[0].Rows[0]["GoodsCode"].ToString() + "]没有在该工序中配置";
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = ds.Tables[0].Rows[0]["GoodsID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = ds.Tables[0].Rows[0]["GoodsName"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserName.ToString()] = ds.Tables[0].Rows[0]["GroutingUserName"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingUserID.ToString()] = ds.Tables[0].Rows[0]["GroutingUserID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoid"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logocode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoname"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_deliverLimitCycle.ToString()] = ds.Tables[0].Rows[0]["DeliverLimitCycle"].ToString();
- }
- }
- }
- }
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 检验条码(除了交坯单点检验)
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckBarcodeSinglePoint(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- string sqlBarcode = GetConvertBarCode(oracleConn, barcode, procedureID, sUserInfo);
- if (sqlBarcode == string.Empty)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码";
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_barcode.ToString()] = sqlBarcode;
- barcode = sqlBarcode;
- }
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_procedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,2000,null,ParameterDirection.Output),
- new OracleParameter("out_goodsID",OracleDbType.Int32,ParameterDirection.Output),
- new OracleParameter("out_goodsCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_goodsName",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_groutingUserCode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- new OracleParameter("out_errMsg_Status",OracleDbType.Varchar2,50,"",ParameterDirection.Output),
- };
- oracleConn.ExecStoredProcedure("PRO_PM_CheckBarcode", paras);
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()]
- = paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r");
- int missFlag = 0;
- if (paras[7].Value != null && paras[7].Value.ToString() == "1")
- {
- missFlag = AddBarCodeMissing(oracleConn, barcode, procedureID, sUserInfo);
- }
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = paras[3].Value.ToString() == "null" ? 0 : paras[3].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = paras[4].Value.ToString() == "null" ? "" : paras[4].Value;
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = paras[5].Value.ToString() == "null" ? "" : paras[5].Value;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = paras[6].Value.ToString() == "null" ? 0 : paras[6].Value;
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = missFlag;
- if (paras[7].Value.ToString() == "null") //只有正确的条码,读注浆信息
- {
- // string sqlString = @"select
- // TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- // tp_pm_groutingdailydetail.groutingcount as GroutingNum,
- // tp_pm_groutingdailydetail.GroutingMouldCode as MouldCode,
- // tp_pm_groutingdailydetail.ispublicbody,
- // tp_pm_groutingdailydetail.Groutingdate,
- // tp_pm_groutingdailydetail.SpecialRepairFlag
- // from tp_pm_groutingdailydetail
- // where tp_pm_groutingdailydetail.GroutingDailyDetailID in (select GroutingDailyDetailID from TP_PM_UsedBarCode where barcode=:barcode)";
- string sqlString = "SELECT PI.GROUTINGUSERCODE,\n" +
- " PI.GROUTINGNUM,\n" +
- " PI.GROUTINGMOULDCODE AS MOULDCODE,\n" +
- " PI.ISPUBLICBODY,\n" +
- " PI.GROUTINGDATE,\n" +
- " PI.SPECIALREPAIRFLAG,\n" +
- " L.LOGOID,\n" +
- " L.LOGOCODE,\n" +
- " L.LOGONAME,\n" +
- //" GOODS.WATERLABELCODE\n" +
- " nvl((select gls.WATERLABELCODE\n" +
- " from TP_MST_GOODSLOGOSAP gls\n" +
- " where gls.goodsid = PI.goodsid\n" +
- " and gls.logoid = PI.LOGOID)\n" +
- " ,GOODS.WATERLABELCODE) WATERLABELCODE\n" +
- " FROM TP_PM_INPRODUCTION PI\n" +
- " LEFT JOIN TP_MST_LOGO L\n" +
- " ON PI.LOGOID = L.LOGOID\n" +
- " LEFT JOIN TP_MST_GOODS GOODS\n" +
- " ON PI.GOODSID = GOODS.GOODSID\n" +
- " WHERE PI.BARCODE = :BARCODE";
- paras = new OracleParameter[]
- {
- new OracleParameter(":BARCODE",barcode)
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GROUTINGUSERCODE"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GROUTINGNUM"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MOULDCODE"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ISPUBLICBODY"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["GROUTINGDATE"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SPECIALREPAIRFLAG"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["LOGOID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["LOGOCODE"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["LOGONAME"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_WaterLabelCode.ToString()] = ds.Tables[0].Rows[0]["WATERLABELCODE"].ToString();
- // 获取编码检验标识
- sqlString = "SELECT CODECHECKFLAG FROM TP_PC_PROCEDURE WHERE PROCEDUREID = :PROCEDUREID";
- paras = new OracleParameter[]
- {
- new OracleParameter(":PROCEDUREID",procedureID)
- };
- DataTable dt = oracleConn.GetSqlResultToDt(sqlString, paras);
- if (dt != null && dt.Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_CodeCheckFlag.ToString()] = dt.Rows[0]["CODECHECKFLAG"] + "";
- }
- }
- }
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 交坯验证条码
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckBarcodeDeliverMudSinglePoint(int procedureID, string barcode, SUserInfo sUserInfo, ref int? GroutingDailyDetailID)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sql = "select barcodestatus,barcode,GroutingDailyDetailid from TP_PM_USEDBARCODE where barcode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sql, paras);
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- if (ds != null && ds.Tables[0].Rows.Count == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码[" + barcode + "]";
- }
- else
- {
- //不等于空的时候
- if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "-1")
- {
- sql = "select max(newbarcode) from TP_PM_BarCodeRecord where BarCode='" + ds.Tables[0].Rows[0]["barcode"].ToString() + "'";
- string newbarcode = oracleConn.GetSqlResultToStr(sql);
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "条码已被替换,新条码为" + newbarcode;
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "2")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "产品已成型报损";
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "3")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "产品已交坯";
- }
- else if (ds.Tables[0].Rows[0]["barcodestatus"].ToString() == "1")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "";
- // string sqlString = @"select
- // TP_PM_GroutingDailyDetail.GoodsID,
- // TP_PM_GroutingDailyDetail.GoodsCode,
- // TP_PM_GroutingDailyDetail.GoodsName,
- // TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- // tp_pm_groutingdailydetail.groutingcount as GroutingNum,
- // tp_pm_groutingdailydetail.GroutingMouldCode as MouldCode,
- // tp_pm_groutingdailydetail.ispublicbody,
- // tp_pm_groutingdailydetail.Groutingdate,
- // tp_pm_groutingdailydetail.SpecialRepairFlag
- // from TP_PM_USEDBARCODE
- // left join
- // tp_pm_groutingdailydetail
- // on TP_PM_USEDBARCODE.groutingdailydetailid=tp_pm_groutingdailydetail.groutingdailydetailid
- // where tp_pm_groutingdailydetail.BarCode=:barcode";
- GroutingDailyDetailID = Convert.ToInt32(ds.Tables[0].Rows[0]["GroutingDailyDetailid"].ToString());
- string sqlString = @"select
- tp_pm_GroutingDailyDetail.groutingdailydetailid,
- tp_pm_GroutingDailyDetail.GoodsID,
- tp_pm_GroutingDailyDetail.GoodsCode,
- tp_pm_GroutingDailyDetail.GoodsName,
- tp_pm_GroutingDailyDetail.UserCode as GroutingUserCode,
- tp_pm_GroutingDailyDetail.groutingcount as GroutingNum,
- tp_pm_GroutingDailyDetail.GroutingMouldCode as MouldCode,
- tp_pm_GroutingDailyDetail.ispublicbody,
- tp_pm_GroutingDailyDetail.Groutingdate,
- tp_pm_GroutingDailyDetail.SpecialRepairFlag,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from
- tp_pm_GroutingDailyDetail
- left join tp_mst_logo
- on tp_mst_logo.logoid=tp_pm_GroutingDailyDetail.logoid
- where tp_pm_GroutingDailyDetail.groutingdailydetailid=:groutingdailydetailid";
- //where tp_pm_GroutingDailyDetail.barcode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":groutingdailydetailid",ds.Tables[0].Rows[0]["GroutingDailyDetailid"].ToString()),
- //new OracleParameter("barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- GroutingDailyDetailID = Convert.ToInt32(ds.Tables[0].Rows[0]["GroutingDailyDetailid"].ToString());
- string sqlExistGoods = "select count(GoodsID) from TP_PC_ProcedureGoods where GoodsID=:GoodsID and ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":GoodsID",ds.Tables[0].Rows[0]["GoodsID"].ToString()),
- new OracleParameter(":ProcedureID",procedureID),
- };
- DataSet dsGoods = oracleConn.GetSqlResultToDs(sqlExistGoods, paras);
- if (dsGoods.Tables[0].Rows[0][0].ToString() != "1")
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = @"条码[" + barcode +
- "]不可以经过该工序\n\r原因:条码对应的产品编码[" +
- ds.Tables[0].Rows[0]["GoodsCode"].ToString() + "]没有在该工序中配置";
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = ds.Tables[0].Rows[0]["GoodsID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = ds.Tables[0].Rows[0]["GoodsName"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoid"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- }
- }
- }
- }
- dr[Constant.BarCodeResultTableColumns.out_missFlag.ToString()] = 0;
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #region 半成品检验校验条码
- /// <summary>
- /// 半检检验条码
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static ServiceResultEntity SemiCheckBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- // 1.判断产品是否在产
- string sql = @"select
- InScrapFlag,
- KilnCarID,
- KilnCarName,
- IsReworkFlag,
- SemiCheckID
- from TP_PM_InProduction
- where BarCode=:BarCode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- };
- DataSet dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- //// 如果不合格,查询报损表里是否回收
- //sql = "select recyclingflag from TP_PM_ScrapProduct "
- // + " where BarCode=:BarCode and CreateTime=(select max(CreateTime) "
- // + " from TP_PM_ScrapProduct "
- // + " where BarCode=:BarCode and ValueFlag=1)"
- // + " and ValueFlag=1";
- //paras = new OracleParameter[]{
- // new OracleParameter(":BarCode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- // };
- //DataSet dsResult2 = oracleConn.GetSqlResultToDs(sql, paras);
- //if (dsResult2 != null && dsResult2.Tables[0].Rows.Count > 0)
- //{
- // if (Convert.ToInt32(dsResult2.Tables[0].Rows[0]["recyclingflag"]) > 0)
- // {
- // resultEntity.Result = -4;// 已经回收不允许编辑
- // resultEntity.Message = "此产品已经回收,不能改判";
- // return resultEntity;
- // }
- //}
- if (dsResult.Tables[0].Rows[0]["InScrapFlag"].ToString() == "1")
- {
- resultEntity.Result = -2; //报损待审批
- resultEntity.Message = "条码[" + barcode + "]已经报损待审批";
- return resultEntity;
- }
- if (!string.IsNullOrEmpty(dsResult.Tables[0].Rows[0]["KilnCarID"].ToString()))
- {
- resultEntity.Result = -3; //登窑车后不允许半成品检测
- resultEntity.Message = "条码[" + barcode + "]已经在窑车[" + dsResult.Tables[0].Rows[0]["KilnCarName"].ToString() + "]";
- return resultEntity;
- }
- if (dsResult.Tables[0].Rows[0]["IsReworkFlag"].ToString() == "1")
- {
- resultEntity.Result = Convert.ToInt32(dsResult.Tables[0].Rows[0]["SemiCheckID"]);//编辑状态
- resultEntity.Message = "返工";
- }
- else
- {
- resultEntity.Result = "0";//新建状态
- }
- }
- else
- {
- // 同时查是否在在产回收表中
- sql = @"select
- SemiCheckID
- from TP_PM_InProductionTrash
- where BarCode=:BarCode and GoodsLevelTypeID=13 and SemiCheckID is not null"; // 13代表产品不合格
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = Convert.ToInt32(dsResult.Tables[0].Rows[0]["SemiCheckID"]);//编辑状态
- resultEntity.Message = "不合格";
- }
- else
- {
- resultEntity.Result = -1;// 不在在产表中
- resultEntity.Message = "条码[" + barcode + "]不在在产流程";
- }
- }
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 半成品编辑数据
- /// <summary>
- /// 根据半成品检验数据ID,显示半成品数据信息
- /// </summary>
- /// <param name="semiCheckID">半成品数据ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiCheckByID(int semiCheckID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- DataSet dsReturn = new DataSet();
- string sqlString = @"select
- TP_PM_SemiCheck.SemiCheckID,
- TP_PM_SemiCheck.Barcode as BarCode,
- TP_PM_SemiCheck.Goodsid as GoodsID,
- TP_PM_SemiCheck.Goodscode as GoodsCode,
- TP_MST_Goods.Goodsname as GoodsName,
- TP_PM_SemiCheck.GoodsLevelID as DefectFlagID,
- TP_PM_SemiCheck.ReworkProcedureID as ReworkProcedureID,
- TP_PM_SemiCheck.ReworkProcedureCode,
- TP_PM_SemiCheck.Remarks as Remarks,
- TP_PM_SemiCheck.SemiCheckUserID as UserID,
- TP_PM_SemiCheck.SemiCheckUserCode as UserCode,
- tp_mst_user.UserName as UserName,
- TP_PM_SemiCheck.Goodsleveltypeid as GoodsLevelTypeID,
- TP_PM_SemiCheck.SpecialRepairflag,
- TP_PM_SemiCheck.GroutingUserCode,
- TP_PM_SemiCheck.GroutingMouldCode as MouldCode,
- TP_PM_SemiCheck.GroutingNum,
- TP_PM_SemiCheck.GroutingDate,
- TP_PM_SemiCheck.IsPublicBody,
- TP_PM_SemiCheck.logoid,
- TP_MST_Logo.logocode,
- TP_MST_Logo.logoname,
- TP_PM_SemiCheck.SemiCheckType,
- TP_PM_SemiCheck.ReworkUserID,
- TP_PM_SemiCheck.ReworkUserCode,
- TP_PM_SemiCheck.ReSemiCheckUserCode,
- tp_pc_procedure.procedurename as ReworkProcedureName,
- TP_PM_SemiCheck.ReSemiCheckType,
- TP_PM_SemiCheck.CreateTime,
- TP_PM_SemiCheck.ReSemiCheckTime,
- TP_PM_SemiCheck.SemiCheckTime
- from TP_PM_SemiCheck
- left join TP_MST_Goods
- on TP_PM_SemiCheck.Goodsid=TP_MST_Goods.Goodsid
- left join tp_mst_user
- on TP_PM_SemiCheck.SemiCheckUserID=tp_mst_user.userid
- left join TP_MST_Logo
- on TP_PM_SemiCheck.Logoid=TP_MST_Logo.Logoid
- left join tp_pc_procedure
- on TP_PM_SemiCheck.ReworkProcedureID=tp_pc_procedure.procedureID
- where
- TP_PM_SemiCheck.SemiCheckID=:SemiCheckID
- ";
- string sqlString2 = @"
- select
- defect.semicheckdefectid,
- defect.semicheckid,
- defect.DefectID,
- defect.defectcode,
- defect.defectname,
- defect.defectpositionid,
- defect.defectpositioncode,
- defect.defectpositionname,
- defect.scrapresponflag,
- Procedure.Procedurename as DefectProcedureName,
- Procedure.Procedurecode as DefectProcedureCode,
- defect.defectuserid,
- defect.defectusercode,
- TP_mst_user.username as defectusername,
- defect.remarks,
- defect.DefectProcedureID,
- defect.DefectProductionDataID
- from TP_PM_SemiCheckDefect defect
- left join TP_PC_Procedure Procedure
- on defect.defectprocedureid=Procedure.Procedureid
- left join TP_mst_user
- on defect.DefectUserID=TP_mst_user.userid
- where defect.SemiCheckID =:SemiCheckID";
- string sqlString3 = @"select
- TP_PM_SCDefectResponsible.SemiCheckDefectID,
- TP_PM_SCDefectResponsible.Staffid,
- TP_HR_Staff.Staffcode as StaffCode,
- TP_HR_Staff.Staffname as StaffName,
- TP_PM_SCDefectResponsible.Staffstatus as StaffStatus,
- TP_PM_SCDefectResponsible.UJobsID,
- TP_PM_SCDefectResponsible.SJobsID
- from TP_PM_SCDefectResponsible
- left join TP_HR_Staff
- on TP_PM_SCDefectResponsible.StaffID=TP_HR_Staff.Staffid
- where TP_PM_SCDefectResponsible.SemiCheckDefectID in
- (
- select SemiCheckDefectID from TP_PM_SemiCheckDefect where TP_PM_SemiCheckDefect.SemiCheckID=:SemiCheckID
- )";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":SemiCheckID",OracleDbType.Int32, semiCheckID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- ds.Tables[0].TableName = "TP_PM_SemiCheck";
- DataSet ds2 = con.GetSqlResultToDs(sqlString2, paras);
- ds2.Tables[0].TableName = "TP_PM_SemiCheckDefect";
- DataSet ds3 = con.GetSqlResultToDs(sqlString3, paras);
- ds3.Tables[0].TableName = "TP_PM_SCDefectResponsible";
- dsReturn.Tables.Add(ds.Tables[0].Copy());
- dsReturn.Tables.Add(ds2.Tables[0].Copy());
- dsReturn.Tables.Add(ds3.Tables[0].Copy());
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 获取条码所走过的工序
- /// <summary>
- /// 根据条码获取经过的工序,用于绑定返工工序
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiCheckPassProcedure(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_PM_ProductionDataIn.Barcode as BarCode,
- TP_PM_ProductionDataIn.UserID,
- TP_PM_ProductionDataIn.UserCode,
- TP_PM_ProductionDataIn.UserName,
- TP_PM_ProductionDataIn.ProcedureID,
- TP_PM_ProductionDataIn.ProcedureCode,
- TP_PM_ProductionDataIn.ProcedureName,
- TP_PM_ProductionDataIn.ProductionDataID
- from TP_PM_ProductionDataIn
- --left join TP_PC_Procedure
- --on TP_PM_ProductionDataIn.ProcedureID=TP_PC_Procedure.ProcedureID
- where TP_PM_ProductionDataIn.BarCode=:BarCode and TP_PM_ProductionDataIn.valueflag = '1'
- and (TP_PM_ProductionDataIn.modeltype <> 5 or (exists (select 1 from tp_pm_groutingdailydetail gdd where gdd.groutingdailydetailID=TP_PM_ProductionDataIn.groutingdailydetailID and gdd.SPECIALREPAIRFLAG='0')))
- order by TP_PM_ProductionDataIn.ProductionDataID
- ";
- // 干补后 半检 不能选成型责任
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2, barcode,ParameterDirection.Input),
- };
- DataSet dsReturn = con.GetSqlResultToDs(sqlString, paras);
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 获取登陆帐户有无半检状态权限
- /// <summary>
- /// 获取登陆帐户有无半检状态权限
- /// </summary>
- /// <param name="usercode">工号编码</param>
- /// <returns></returns>
- public static int GetSemiCheckStatusFuntion(SUserInfo userInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string strSql = "";
- strSql = @"SELECT F.Functionlevel,
- F.FunctionCode,
- F.FunctionName,
- F.FullName,
- F.FunctionFlag,
- F.FunctionButtonFlag,
- F.FormName,
- F.ButtonName
- FROM TP_MST_UserRight R LEFT OUTER JOIN
- TP_SYS_Function F ON (R.FunctionCode = F.FunctionCode OR R.FunctionCode = '[ALL]')
- WHERE F.ValueFlag = 1
- AND F.FunctionCode NOT LIKE '0101%'
- AND F.FunctionCode NOT LIKE '0102%' and F.FunctionCode='06200104'";
- strSql = strSql + " AND R.UserID = " + userInfo.UserID;
- DataSet ds = con.GetSqlResultToDs(strSql);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return 1;
- }
- return 0;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 复检验校验条码
- /// <summary>
- /// 复检验条码
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static ServiceResultEntity ReSemiCheckBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- // 1.判断产品是否在产
- string sql = @"select
- InScrapFlag,
- KilnCarID,
- KilnCarName,
- IsReworkFlag,
- SemiCheckID
- from TP_PM_InProduction
- where BarCode=:BarCode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- };
- DataSet dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = Convert.ToInt32(dsResult.Tables[0].Rows[0]["SemiCheckID"] == DBNull.Value ? 0 : dsResult.Tables[0].Rows[0]["SemiCheckID"]);
- if (dsResult.Tables[0].Rows[0]["InScrapFlag"].ToString() == "1")
- {
- resultEntity.Result = -2; //报损待审批
- resultEntity.Message = "条码[" + barcode + "]已经报损待审批";
- return resultEntity;
- }
- if (!string.IsNullOrEmpty(dsResult.Tables[0].Rows[0]["KilnCarID"].ToString()))
- {
- resultEntity.Result = -3; //登窑车后不允许半成品检测
- resultEntity.Message = "条码[" + barcode + "]已经在窑车[" + dsResult.Tables[0].Rows[0]["KilnCarName"].ToString() + "]";
- return resultEntity;
- }
- if (dsResult.Tables[0].Rows[0]["IsReworkFlag"].ToString() == "0")
- {
- resultEntity.Result = -4;
- resultEntity.Message = "条码[" + barcode + "]不是返工状态";
- }
- }
- else
- {
- resultEntity.Result = -1;// 不在在产表中
- resultEntity.Message = "条码[" + barcode + "]不在在产流程";
- }
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 撤销复检验条码
- /// <summary>
- /// 撤销复检验条码
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static ServiceResultEntity CancelSemiCheckBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- // 查出此条码是否存在复检,如果存在复检查出复检状态
- string sql = @"select SemiCheckID,ReSemiCheckType,ProcedureID,productiondataid from TP_PM_SemiCheck where barcode=:barcode and ValueFlag='1' and accountid=:accountid order by SemiCheckID desc";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- //int? procedureID = null; //完成工序
- int? productiondataid = null;
- DataSet dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- //procedureID = Convert.ToInt32(dsResult.Tables[0].Rows[0]["ProcedureID"]);
- productiondataid = Convert.ToInt32(dsResult.Tables[0].Rows[0]["productiondataid"]);
- if (dsResult.Tables[0].Rows[0]["ReSemiCheckType"].ToString() == "1")
- {
- resultEntity.Result = Convert.ToInt32(dsResult.Tables[0].Rows[0]["SemiCheckID"]);
- // 查出复检状态名称
- sql = @"select ReSemiCheckTypeName from TP_SYS_ReSemiCheckType where ReSemiCheckTypeID=" + dsResult.Tables[0].Rows[0]["ReSemiCheckType"];
- DataSet dss = oracleConn.GetSqlResultToDs(sql);
- if (dss != null && dss.Tables[0].Rows.Count > 0)
- {
- resultEntity.Message = dss.Tables[0].Rows[0]["ReSemiCheckTypeName"].ToString();
- }
- else
- {
- resultEntity.Message = "合格(返)";
- }
- // 合格(返)
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- };
- sql = @"
- select InScrapFlag,
- KilnCarID,
- KilnCarName,
- IsReworkFlag,
- SemiCheckID,ProcedureID,productiondataid from TP_PM_InProduction where barcode=:barcode
- ";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- if (dsResult.Tables[0].Rows[0]["InScrapFlag"].ToString() == "1")
- {
- resultEntity.Result = -3;
- resultEntity.Message = "条码[" + barcode + "]已经报损待审批";
- }
- if (!string.IsNullOrEmpty(dsResult.Tables[0].Rows[0]["KilnCarID"].ToString()))
- {
- resultEntity.Result = -4;
- resultEntity.Message = "条码[" + barcode + "]已经在窑车[" + dsResult.Tables[0].Rows[0]["KilnCarName"].ToString() + "]"; ;
- }
- if (dsResult.Tables[0].Rows[0]["IsReworkFlag"].ToString() != "0")
- {
- resultEntity.Result = -5;
- resultEntity.Message = "条码[" + barcode + "]不是返工状态";
- }
- //if (Convert.ToInt32(dsResult.Tables[0].Rows[0]["ProcedureID"]) != procedureID)
- if (Convert.ToInt32(dsResult.Tables[0].Rows[0]["productiondataid"]) != productiondataid)
- {
- resultEntity.Result = -6;
- resultEntity.Message = "条码[" + barcode + "]已经经过半检时完成的工序,不允许撤销";
- }
- }
- else
- {
- resultEntity.Result = -7;
- resultEntity.Message = "条码[" + barcode + "]不在在产流程";
- }
- }
- else if (dsResult.Tables[0].Rows[0]["ReSemiCheckType"].ToString() == "2")
- {
- resultEntity.Result = Convert.ToInt32(dsResult.Tables[0].Rows[0]["SemiCheckID"]);
- // 查出复检状态名称
- sql = @"select ReSemiCheckTypeName from TP_SYS_ReSemiCheckType where ReSemiCheckTypeID=" + dsResult.Tables[0].Rows[0]["ReSemiCheckType"];
- DataSet dss = oracleConn.GetSqlResultToDs(sql);
- if (dss != null && dss.Tables[0].Rows.Count > 0)
- {
- resultEntity.Message = dss.Tables[0].Rows[0]["ReSemiCheckTypeName"].ToString();
- }
- else
- {
- resultEntity.Message = "不合格(返)";
- }
- // 如果不合格,查询报损表里是否回收
- sql = "select recyclingflag from TP_PM_ScrapProduct "
- + " where BarCode=:BarCode and CreateTime=(select max(CreateTime) "
- + " from TP_PM_ScrapProduct "
- + " where BarCode=:BarCode and ValueFlag=1)"
- + " and ValueFlag=1";
- paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2,barcode,ParameterDirection.Input),
- };
- DataSet dsResult2 = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult2 != null && dsResult2.Tables[0].Rows.Count > 0)
- {
- if (Convert.ToInt32(dsResult2.Tables[0].Rows[0]["recyclingflag"]) > 0)
- {
- resultEntity.Result = -9;// 已经回收不允许撤销
- resultEntity.Message = "此产品已经回收,不能撤销";
- return resultEntity;
- }
- }
- // 不合格(返)
- sql = @"
- select 1 from TP_PM_InProductionTrash where barcode=:barcode and GoodsLevelTypeID=14 and SemiCheckID is not null
- ";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- };
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count == 0)
- {
- resultEntity.Result = -8;
- resultEntity.Message = "条码[" + barcode + "]不在在产回收站中";
- }
- }
- else if (dsResult.Tables[0].Rows[0]["ReSemiCheckType"].ToString() == "0")
- {
- // 未复检
- resultEntity.Result = -2;
- resultEntity.Message = "条码[" + barcode + "]没有复检不允许撤销";
- }
- }
- else
- {
- resultEntity.Result = -1;// 不在半成品检验
- resultEntity.Message = "条码[" + barcode + "]没有半成品检验";
- }
- // 查出此条码是否存在复检,如果存在复检查出复检状态
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 校验是否允许进行撤销操作
- /// <summary>
- /// 校验条码是否允许撤销,如果不允许提示错误消息
- /// </summary>
- /// <param name="orgTime">原时间</param>
- /// <param name="days">允许撤销天数</param>
- /// <param name="settingCode">设置code,用于返回不同错误消息</param>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static ServiceResultEntity BarcodeAllowCancel(DateTime orgTime, int days, string settingCode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- orgTime = orgTime.Date; // 取日期部分
- DateTime currentTime = DateTime.Now.Date;
- // 参数验证用服务端当前设置
- string sqlString = "SELECT sst.settingvalue\n" +
- " FROM tp_mst_systemsetting sst\n" +
- " WHERE sst.accountid = " + sUserInfo.AccountID + "\n" +
- " AND sst.settingcode = '" + settingCode + "'";
- string strValue = oracleConn.GetSqlResultToStr(sqlString);
- int pDays = 0;
- if (int.TryParse(strValue, out pDays))
- {
- days = pDays;
- }
- if (days == 0)
- {
- // 表示可以撤销
- resultEntity.Result = 1;
- return resultEntity;
- }
- if (orgTime > currentTime.AddDays(-days))
- {
- // 表示可以撤销
- resultEntity.Result = 1;
- }
- else
- {
- resultEntity.Result = -1;
- // 提示不同错误消息
- if (settingCode.Equals(Constant.SettingType.S_PM_002.ToString()))
- {
- //交坯限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_002, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_003.ToString()))
- {
- //交坯撤销限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_003, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_004.ToString()))
- {
- //计件撤销限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_004, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_005.ToString()))
- {
- //成品撤销限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_005, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_006.ToString()))
- {
- //损坯撤销限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_006, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_007.ToString()))
- {
- //半检登记改判限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_007, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_008.ToString()))
- {
- //半检复检撤销限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_008, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- else if (settingCode.Equals(Constant.SettingType.S_PM_009.ToString()))
- {
- //成检登记改判限制天数
- resultEntity.Message = string.Format(Messages.MSG_S_PM_009, orgTime.ToString("yyyy-MM-dd"), days.ToString(), orgTime.AddDays(days - 1).ToString("yyyy-MM-dd"));
- }
- }
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- #region 生产订单 wangx 2017-2-7
- /// <summary>
- /// 获取生产订单一览列表
- /// </summary>
- /// <param name="order"></param>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static DataSet GetOrderList(OrderEntity order, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
- string sqlString = @"select
- OrderID,
- OrderNo,
- OrderDate,
- Remarks,
- ValueFlag,
- CreateTime,
- UpdateTime
- from TP_PM_Order
- where AccountID=:AccountID
- ";
- // 订单ID 编辑信息用
- if (order.OrderID > 0)
- {
- sqlString = sqlString + " AND OrderID=:OrderID";
- parameters.Add(new OracleParameter(":OrderID", OracleDbType.Int32, order.OrderID, ParameterDirection.Input));
- }
- // 订单号
- if (!string.IsNullOrEmpty(order.OrderNo))
- {
- sqlString = sqlString + " AND instr(OrderNo,:OrderNo)>0";
- parameters.Add(new OracleParameter(":OrderNo", OracleDbType.NVarchar2, order.OrderNo, ParameterDirection.Input));
- }
- // 订单时间起始
- if (order.OrderFromDate.HasValue)
- {
- sqlString = sqlString + " AND OrderDate >= :OrderFromDate ";
- parameters.Add(new OracleParameter(":OrderFromDate", OracleDbType.Date, order.OrderFromDate.Value, ParameterDirection.Input));
- }
- // 订单时间结束
- if (order.OrderToDate.HasValue)
- {
- sqlString = sqlString + " AND OrderDate <= :OrderToDate ";
- parameters.Add(new OracleParameter(":OrderToDate", OracleDbType.Date, order.OrderToDate.Value, ParameterDirection.Input));
- }
- // 有效标识
- if (!string.IsNullOrEmpty(order.ValueFlagList))
- {
- sqlString = sqlString + " AND instr(','||:ValueFlag||',',','||ValueFlag||',')>0 ";
- parameters.Add(new OracleParameter(":ValueFlag", OracleDbType.NVarchar2, order.ValueFlagList, ParameterDirection.Input));
- }
- // 备注
- if (!string.IsNullOrEmpty(order.Remarks))
- {
- sqlString = sqlString + " AND instr(Remarks,:Remarks)>0";
- parameters.Add(new OracleParameter(":Remarks", OracleDbType.NVarchar2, order.Remarks, ParameterDirection.Input));
- }
- DataSet ds = con.GetSqlResultToDs(sqlString, parameters.ToArray());
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return ds;
- }
- return null;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 产成品交接 2017-2-8
- /// <summary>
- /// 获取产成品交接
- /// </summary>
- /// <param name="entity"></param>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static DataSet GetFinishedHandover(SearchFinishedProductEntity entity, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
- string sqlString = @"select
- O.OrderNo,
- F.FHTime,
- F.FHUserCode,
- F.BarCode,
- F.GoodsCode,
- L.LogoName,
- F. GroutingUserCode,
- F.GroutingMouldCode,
- F.GroutingDate,
- G.DeliverTime,
- --(Goods.MaterialCode || L.tagcode || G.onlycode) as FinishedBarCode
- nvl(g.outlabelcode, Goods.MaterialCode || (select a.workcode from tp_mst_account a where a.accountid = g.accountid) || L.tagcode || G.onlycode) as FinishedBarCode
- from TP_PM_FinishedProduct F
- left join TP_PM_Order O
- on F.FHOrderID=O.OrderID
- left join TP_MST_Logo L
- on F.LogoID=L.LogoID
- left join TP_PM_GroutingDailyDetail G
- on F.GroutingDailyDetailID=G.GroutingDailyDetailID
- left join TP_MST_Goods Goods
- on F.GoodsID=Goods.GoodsID
- left join TP_MST_GoodsType GoodsType
- on Goods.GoodsTypeID=GoodsType.GoodsTypeID
- where F.AccountID=:AccountID and F.FHTime is not null
- ";
- // 交接时间起始
- if (entity.FHTimeStart.HasValue)
- {
- sqlString = sqlString + " AND F.FHTime >= :FHTimeStart ";
- parameters.Add(new OracleParameter(":FHTimeStart", OracleDbType.Date, entity.FHTimeStart.Value, ParameterDirection.Input));
- }
- // 交接时间结束
- if (entity.FHTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND F.FHTime <= :FHTimeEnd ";
- parameters.Add(new OracleParameter(":FHTimeEnd", OracleDbType.Date, entity.FHTimeEnd.Value.AddSeconds(59), ParameterDirection.Input));
- }
- // 订单号
- if (!string.IsNullOrEmpty(entity.OrderNo))
- {
- sqlString = sqlString + " AND instr(O.OrderNo,:OrderNo)>0";
- parameters.Add(new OracleParameter(":OrderNo", OracleDbType.NVarchar2, entity.OrderNo, ParameterDirection.Input));
- }
- // 产品类别编码
- if (!string.IsNullOrEmpty(entity.GoodsTypeCode))
- {
- sqlString = sqlString + " AND instr(GoodsType.GoodsTypeCode,:GoodsTypeCode)=1";
- parameters.Add(new OracleParameter(":GoodsTypeCode", OracleDbType.NVarchar2, entity.GoodsTypeCode, ParameterDirection.Input));
- }
- // 产品型号
- if (!string.IsNullOrEmpty(entity.GoodsModel))
- {
- //sqlString = sqlString + " AND instr(Goods.GoodsModel,:GoodsModel)>0";
- sqlString = sqlString + " AND instr(Goods.GoodsCode,:GoodsCode)>0";
- parameters.Add(new OracleParameter(":GoodsCode", OracleDbType.NVarchar2, entity.GoodsModel, ParameterDirection.Input));
- }
- // 产品商标ID集
- if (!string.IsNullOrEmpty(entity.LogoIDS))
- {
- sqlString += " AND instr(','||:LogoIDS||',', ',' || L.logoid || ',') > 0";
- parameters.Add(new OracleParameter(":LogoIDS", OracleDbType.Varchar2, entity.LogoIDS, ParameterDirection.Input));
- }
- // 交接工号
- if (!string.IsNullOrEmpty(entity.FHUserCode))
- {
- sqlString = sqlString + " AND instr(F.FHUserCode,:FHUserCode)>0";
- parameters.Add(new OracleParameter(":FHUserCode", OracleDbType.NVarchar2, entity.FHUserCode, ParameterDirection.Input));
- }
- sqlString = sqlString + " order by F.FHTime desc";
- DataSet ds = con.GetSqlResultToDs(sqlString, parameters.ToArray());
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return ds;
- }
- return null;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 产成品交接验证
- /// <summary>
- /// 产成品交接条码验证
- /// </summary>
- /// <param name="barcode"></param>
- /// <param name="sUserInfo"></param>
- /// <param name="handoverFlag">0:未交接,1:已交接,2:不限</param>
- /// <returns></returns>
- public static ServiceResultEntity FinishedHandoverBarcode(string barcode, SUserInfo sUserInfo, int handoverFlag = 0)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- string gbarcode = null;
- string FINISHEDLOADBATCHNO = null;
- string sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
- OracleParameter[] paras1 = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras1);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- gbarcode = ds.Tables[0].Rows[0][0].ToString();
- }
- // 1.判断产品是否在产成品表中
- string sql = @"select
- f.FHUserID,
- f.FHUserCode,
- f.GoodsID,
- f.GoodsCode,
- f.GoodsName,
- f.BarCode, f.FINISHEDLOADBATCHNO
- from TP_PM_FinishedProduct f
- where f.BarCode=:BarCode";
- // where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- string currentBarcode = string.Empty;
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2,gbarcode,ParameterDirection.Input),
- //new OracleParameter(":Accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- FINISHEDLOADBATCHNO = dsResult.Tables[0].Rows[0]["FINISHEDLOADBATCHNO"].ToString();
- // 在产成品表中
- #region 是否交接过
- string fhUserCode = dsResult.Tables[0].Rows[0]["FHUserCode"].ToString();
- if (handoverFlag == 0 && !string.IsNullOrEmpty(fhUserCode))
- {
- resultEntity.Result = -1; //已交接,不能再次进行交接
- resultEntity.Message = "此产品【" + barcode + "】已交接,不能进行该操作";
- return resultEntity;
- }
- if (handoverFlag == 1 && string.IsNullOrEmpty(fhUserCode))
- {
- resultEntity.Result = -1; //已交接,不能再次进行交接
- resultEntity.Message = "此产品【" + barcode + "】未交接,不能进行该操作";
- return resultEntity;
- }
- #endregion
- }
- else
- {
- if (handoverFlag == 0)
- {
- // 不在产成品表中
- #region 1 查询是否报损待审批与漏扫
- sql = @"select I.InScrapFlag,P.procedureName,I.GoodsCode from TP_PM_InProduction I
- left join tp_pc_procedure P
- on I.flowprocedureid=P.procedureid
- where I.BarCode=:BarCode";
- //where I.BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- // 存在在产表中
- if (dsResult.Tables[0].Rows[0]["InScrapFlag"].ToString() == "1")
- {
- resultEntity.Result = -3; //产品已经待审批报损
- resultEntity.Message = "此产品【" + barcode + "】己待审报废,不能进行该操作";
- return resultEntity;
- }
- int missbarcode = AddBarCodeMissingFinishedHandover(oracleConn, gbarcode, sUserInfo);
- if (missbarcode > 0)
- {
- // 第一次记录漏扫
- resultEntity.Result = -4;
- resultEntity.OtherStatus = missbarcode;// 需要弹窗
- resultEntity.Message = "此产品【" + barcode + "】当前工序为【" + dsResult.Tables[0].Rows[0]["procedureName"].ToString() + "】不是产成品,不能进行该操作";
- return resultEntity;
- }
- else
- {
- resultEntity.Result = -5;
- resultEntity.OtherStatus = -1;// 不需要弹窗
- resultEntity.Message = "此产品【" + barcode + "】当前工序为【" + dsResult.Tables[0].Rows[0]["procedureName"].ToString() + "】不是产成品,不能进行该操作";
- return resultEntity;
- }
- }
- #endregion
- }
- #region 2 条码在废弃产品表中且审批通过,提示:此产品【999999】已被废弃,不能进行该操作。
- //sql = @"select GoodsCode from tp_pm_inproductiontrash where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- sql = @"select GoodsCode from tp_pm_inproductiontrash where BarCode=:BarCode";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = -6; //产品已经报损
- resultEntity.Message = "此产品【" + barcode + "】已被废弃,不能进行该操作";
- return resultEntity;
- }
- #endregion
- #region 3 未交坯
- //sql = "select GoodsCode from TP_PM_GroutingDailyDetail where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid) and DeliverTime is null";
- sql = "select GoodsCode from TP_PM_GroutingDailyDetail where BarCode=:BarCode and DeliverTime is null";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = -7; //产品未交坏
- resultEntity.Message = "此产品【" + barcode + "】还未交坯,不能进行该操作";
- return resultEntity;
- }
- else
- {
- resultEntity.Result = -8; //无效条码
- resultEntity.Message = "此条码【" + barcode + "】为无效条码,不能进行该操作";
- return resultEntity;
- }
- #endregion
- }
- #region 查询产品相关信息
- /*
- sql = @"select
- gd.BarCode,
- l.logoid,
- l.logocode,
- l.logoname,
- gd.goodscode,
- gd.UserID,
- gd.UserCode as GroutingUserCode,
- gd.GroutingMouldCode as MouldCode,
- gd.GroutingDate,
- gd.DeliverTime,
- --Goods.GoodsCode as GoodsModel,
- --nvl(Goods.MaterialCode,Goods.GoodsCode) as GoodsModel, -- 用物料编码验证产品型号是否一致
- nvl(gd.MaterialCode, nvl(Goods.MaterialCode,Goods.GoodsCode)) as GoodsModel, -- 用物料编码验证产品型号是否一致
- Goods.PlateLimitNum,
- --(Goods.MaterialCode || l.tagcode || gd.onlycode) as FinishedBarCode ,
- nvl(gd.outlabelcode, Goods.MaterialCode || (select a.workcode from tp_mst_account a where a.accountid = gd.accountid) || l.tagcode || gd.onlycode) as FinishedBarCode,
- o.ORDERNO
- from TP_PM_GroutingDailyDetail gd
- inner join tp_mst_logo l on gd.logoid=l.logoid
- inner join TP_PM_FinishedProduct f on f.GROUTINGDAILYDETAILID=gd.GROUTINGDAILYDETAILID
- left join tp_pm_order o on o.orderid = f.FHORDERID
- inner join TP_MST_Goods Goods on gd.goodsid=Goods.goodsid";
- //where gd.BarCode=:BarCode";
- */
- sql = "select gd.BarCode,\n" +
- " l.logoid,\n" +
- " l.logocode,\n" +
- " l.logoname,\n" +
- " gd.goodscode,\n" +
- " gd.UserID,\n" +
- " gd.UserCode as GroutingUserCode,\n" +
- " gd.GroutingMouldCode as MouldCode,\n" +
- " gd.GroutingDate,\n" +
- " gd.DeliverTime,\n" +
- //" --Goods.GoodsCode as GoodsModel,\n" +
- //" --nvl(Goods.MaterialCode,Goods.GoodsCode) as GoodsModel, -- 用物料编码验证产品型号是否一致\n" +
- " nvl(gd.MaterialCode, nvl(Goods.MaterialCode, Goods.GoodsCode)) as GoodsModel, -- 用物料编码验证产品型号是否一致\n" +
- " Goods.PlateLimitNum,\n" +
- //" --(Goods.MaterialCode || l.tagcode || gd.onlycode) as FinishedBarCode ,\n" +
- " nvl(gd.outlabelcode,\n" +
- " Goods.MaterialCode ||\n" +
- " (select a.workcode\n" +
- " from tp_mst_account a\n" +
- " where a.accountid = gd.accountid) || l.tagcode || gd.onlycode) as FinishedBarCode,\n" +
- " o.ORDERNO\n" +
- " from TP_PM_GroutingDailyDetail gd\n" +
- " inner join tp_mst_logo l\n" +
- " on gd.logoid = l.logoid\n" +
- " inner join TP_PM_FinishedProduct f\n" +
- " on f.GROUTINGDAILYDETAILID = gd.GROUTINGDAILYDETAILID\n" +
- " left join tp_pm_order o\n" +
- " on o.orderid = f.FHORDERID\n" +
- " inner join TP_MST_Goods Goods\n" +
- " on gd.goodsid = Goods.goodsid \n";
- if (string.IsNullOrWhiteSpace(FINISHEDLOADBATCHNO))
- {
- //sql += " where gd.BarCode=:BarCode";
- sql += " where gd.BarCode='"+ gbarcode+"'";
- }
- else
- {
- //sql += " where gd.GROUTINGDAILYDETAILID in ( select GROUTINGDAILYDETAILID from TP_PM_FinishedProduct f where f.FINISHEDLOADBATCHNO = :BarCode)";
- //sql += " where f.FINISHEDLOADBATCHNO = :BarCode ";
- sql += " where f.FINISHEDLOADBATCHNO ='" + FINISHEDLOADBATCHNO + "'";
- paras[0].Value = FINISHEDLOADBATCHNO;
- }
- //where gd.BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- // 不用参数比用参数效率高 ??? edit by chenxy
- //dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- dsResult = oracleConn.GetSqlResultToDs(sql);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = 1;//成功
- //resultEntity.Data = new DataSet();
- //resultEntity.Data.Tables.Add(dsResult.Tables[0].Copy());
- resultEntity.Data = dsResult;
- }
- else
- {
- resultEntity.Result = -2;// 条码未注浆
- resultEntity.Message = "条码【" + barcode + "】未注浆";
- return resultEntity;
- }
- #endregion
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- /// <summary>
- /// 根据条码及工序判断是否漏扫
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <param name="produceid">校验工序ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static int AddBarCodeMissingFinishedHandover(IDBConnection oracleTrConn, string barcode, SUserInfo sUserInfo)
- {
- try
- {
- #region 查询产成品
- string sqlString = @"select TP_PM_InProduction.FlowProcedureID,NVL(TP_PM_InProduction.ReworkProcedureID,0) as ReworkProcedureID,
- TP_PM_InProduction.GoodsID,TP_PM_InProduction.GoodsCode,TP_PM_InProduction.GoodsName,
- TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_MST_Goods.GoodsTypeID,TP_PM_InProduction.isrefire
- from TP_PM_InProduction left join TP_PC_Procedure
- on TP_PM_InProduction.FlowProcedureID=TP_PC_Procedure.ProcedureID
- left join TP_MST_Goods on TP_PM_InProduction.GoodsID=TP_MST_Goods.GoodsID
- where TP_PM_InProduction.BarCode =:barCode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- #endregion
- int AddBarCodeMissingID = 0;//新增漏扫表的ID
- if (ds != null && ds.Tables[0].Rows.Count > 0) //只有是在产的,才可以去进行漏扫
- {
- #region 获取此条码为在产产品
- int CompleteProcedureID = Convert.ToInt32(ds.Tables[0].Rows[0]["FlowProcedureID"]);//WMSYS.WM_CONCAT(to_char(pro.ProcedureName)),max(line.ProductionLineName)
- string CompleteProcedureCode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- string CompleteProcedureName = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- int GoodsID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsID"]);
- string GoodsCode = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- string GoodsName = ds.Tables[0].Rows[0]["GoodsName"].ToString();
- int GoodsTypeID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsTypeID"]);
- int ReworkProcedureID = Convert.ToInt32(ds.Tables[0].Rows[0]["ReworkProcedureID"]);//返工工序
- int isrefire = Convert.ToInt32(ds.Tables[0].Rows[0]["isrefire"]);//重烧标记
- #endregion
- // 漏扫工序与检验工序不在一条路径上 modify by chenxy 2016-08-08 begin
- // 漏扫序号大的可到达工序与检验工序不在一条路径上时,要验证下一个可到达工序。
- // 即与检验工序在一条路径上的漏扫序号最大可到达工序为漏扫工序。
- #region 获取漏扫工序信息
- if (ReworkProcedureID == 0)
- {
- sqlString = @" select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_ProcedureGoods
- left join TP_PC_Procedure on TP_PC_ProcedureGoods.ProcedureID=TP_PC_Procedure.ProcedureID
- where TP_PC_ProcedureGoods.goodsid=( select Goodsid from TP_PM_GroutingDailyDetail where BarCode=:barCode)
- and TP_PC_ProcedureGoods.ProcedureID in(
- select pro.ProcedureID
- from TP_PC_ProcedureFlow flow
- inner join TP_PC_Procedure pro
- on flow.arriveprocedureid = pro.procedureid
- inner join TP_PC_ProductionLine line
- on pro.ProductionLineID = line.ProductionLineID
- where flow.ProcedureID =:procedureID
- and flow.FlowFlag = 2 and pro.valueflag = '1'
- -- 非必须工序,不记漏扫
- and pro.MUSTFLAG = '1'
- ) " +
- //" and exists ( " +
- // "select 1 from " +
- // "(" +
- // "select procedureid, arriveprocedureid,ltrim(sys_connect_by_path(procedureid,'->')||'->'||arriveprocedureid) sybp from " +
- // "( " +
- // " select * from TP_PC_PROCEDUREFLOW where arriveprocedureid<>:missProcedureid and flowflag=2 " +
- // ") " +
- // //" start with procedureid=:missProcedureid" +
- // " start with procedureid=TP_PC_ProcedureGoods.ProcedureID" +
- // " connect by nocycle procedureid=prior arriveprocedureid" +
- // ") where arriveprocedureid=:judgeProcedureid " +
- // " ) " +
- //" order by ProcedureID";
- " order by MissPriority DESC, displayno --ProcedureCode DESC";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureID",OracleDbType.Int32,CompleteProcedureID,ParameterDirection.Input),
- new OracleParameter(":barCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- //new OracleParameter(":missProcedureid",OracleDbType.Int32,missprocedureid,ParameterDirection.Input),
- //new OracleParameter(":judgeProcedureid",OracleDbType.Int32,produceid,ParameterDirection.Input),
- };
- }
- else
- {
- sqlString = "select TP_PC_Procedure.ProcedureID,TP_PC_Procedure.ProcedureCode,TP_PC_Procedure.ProcedureName,TP_PC_Procedure.NodeType from TP_PC_Procedure where ProcedureID=:procedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureID",OracleDbType.Int32,ReworkProcedureID,ParameterDirection.Input),
- };
- }
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
- {
- return AddBarCodeMissingID;
- }
- int missprocedureid = Convert.ToInt32(ds.Tables[0].Rows[0]["ProcedureID"]);
- string missprocedurecode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- string missprocedurename = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- //int missprocedureid = -1;
- //string missprocedurecode = "";
- //string missprocedurename = "";
- #endregion
- //#region 增加判断校验工序必须是在漏扫工序的后面工序
- //foreach (DataRow item in ds.Tables[0].Rows)
- //{
- // sqlString = "select * from " +
- // "(" +
- // "select procedureid, arriveprocedureid,ltrim(sys_connect_by_path(procedureid,'->')||'->'||arriveprocedureid) sybp from " +
- // "( " +
- // " select * from TP_PC_PROCEDUREFLOW where arriveprocedureid<>:missProcedureid and flowflag=2 " +
- // ")" +
- // " start with procedureid=:missProcedureid" +
- // " connect by nocycle procedureid=prior arriveprocedureid" +
- // ") where arriveprocedureid=:judgeProcedureid ";
- // paras = new OracleParameter[]{
- // new OracleParameter(":missProcedureid",OracleDbType.Int32,Convert.ToInt32(item["ProcedureID"]),ParameterDirection.Input),
- // new OracleParameter(":judgeProcedureid",OracleDbType.Int32,produceid,ParameterDirection.Input),
- // };
- // ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- // if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
- // {
- // continue;
- // }
- // missprocedureid = Convert.ToInt32(item["ProcedureID"]);
- // missprocedurecode = item["ProcedureCode"].ToString();
- // missprocedurename = item["ProcedureName"].ToString();
- // break;
- //}
- //if (missprocedureid == -1)
- //{
- // return AddBarCodeMissingID;
- //}
- //#endregion
- // 漏扫工序与检验工序不在一条路径上 modify by chenxy 2016-08-08 end
- //sqlString = "select 1 from TP_PM_ProductionDataIn where barcode=:barcode and ProcedureID=:ProcedureID and ValueFlag=1";
- //paras = new OracleParameter[]{
- // new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- // new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- // };
- //ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- //// if (produceid > missprocedureid)
- //if (ds != null && ds.Tables[0].Rows.Count == 0) // 未走过该工序
- //{
- #region 插入漏扫表,如果漏扫表里有相应的条码,不允许重复插入
- sqlString = @"select 1 from TP_PM_BarCodeMissing where barcode=:barcode and MissProcedureID=:MissProcedureID and ProcedureID is null";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- //new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count == 0) // 没有此条码的工序,即插入
- {
- int OrganizationID = 0;
- string OrganizationName = "";
- string OrganizationCode = "";
- string OrganizationFullName = "";
- sqlString = @"select TP_MST_Organization.OrganizationID
- ,TP_MST_Organization.OrganizationName
- ,TP_MST_Organization.OrganizationCode
- ,TP_MST_Organization.OrganizationFullName
- from TP_PC_Procedure left join TP_MST_Organization
- on TP_MST_Organization.OrganizationID=TP_PC_Procedure.OrganizationID
- where TP_PC_Procedure.ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":ProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- };
- ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- OrganizationID = Convert.ToInt32(ds.Tables[0].Rows[0]["OrganizationID"]); //组织机构ID
- OrganizationName = ds.Tables[0].Rows[0]["OrganizationName"].ToString(); //组织机构名称
- OrganizationCode = ds.Tables[0].Rows[0]["OrganizationCode"].ToString(); //组织机构编码
- OrganizationFullName = ds.Tables[0].Rows[0]["OrganizationFullName"].ToString(); //组织机构全称
- // // 获取校验工序信息
- // sqlString = @"select TP_PC_Procedure.ProcedureID
- // ,TP_PC_Procedure.ProcedureCode
- // ,TP_PC_Procedure.ProcedureName
- // from TP_PC_Procedure
- // where TP_PC_Procedure.ProcedureID=:ProcedureID";
- // paras = new OracleParameter[]{
- // new OracleParameter(":ProcedureID",OracleDbType.Int32, produceid,ParameterDirection.Input),
- // };
- // ds = oracleTrConn.GetSqlResultToDs(sqlString, paras);
- string ProcedureCode = "";
- string ProcedureName = "";
- //if (ds != null && ds.Tables[0].Rows.Count > 0) // 没有此条码的工序,即插入
- //{
- // ProcedureCode = ds.Tables[0].Rows[0]["ProcedureCode"].ToString();
- // ProcedureName = ds.Tables[0].Rows[0]["ProcedureName"].ToString();
- //}
- //漏扫表ID
- string sql = "select SEQ_PM_BarCodeMissing_MissID.nextval from dual";
- AddBarCodeMissingID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sql));
- sqlString = @"insert into TP_PM_BarCodeMissing(MissID,
- BarCode,
- OrganizationID,
- OrganizationName,
- OrganizationCode,
- OrganizationFullName,
- CompleteProcedureID,
- CompleteProcedureCode,
- CompleteProcedureName,
- ProcedureID,
- ProcedureCode,
- ProcedureName,
- MissProcedureID,
- MissProcedureCode,
- MissProcedureName,
- GoodsID,
- GoodsCode,
- GoodsName,
- GoodsTypeID,
- CreateUserID,
- UpdateUserID,
- AccountID
- ) values
- ( :MissID,
- :BarCode,
- :OrganizationID,
- :OrganizationName,
- :OrganizationCode,
- :OrganizationFullName,
- :CompleteProcedureID,
- :CompleteProcedureCode,
- :CompleteProcedureName,
- :ProcedureID,
- :ProcedureCode,
- :ProcedureName,
- :MissProcedureID,
- :MissProcedureCode,
- :MissProcedureName,
- :GoodsID,
- :GoodsCode,
- :GoodsName,
- :GoodsTypeID,
- :CreateUserID,
- :UpdateUserID,
- :AccountID
- )
- ";
- paras = new OracleParameter[]{
- new OracleParameter(":MissID",OracleDbType.Int32, AddBarCodeMissingID,ParameterDirection.Input),
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":OrganizationID",OracleDbType.Int32, OrganizationID,ParameterDirection.Input),
- new OracleParameter(":OrganizationName",OracleDbType.Varchar2, OrganizationName,ParameterDirection.Input),
- new OracleParameter(":OrganizationCode",OracleDbType.Varchar2, OrganizationCode,ParameterDirection.Input),
- new OracleParameter(":OrganizationFullName",OracleDbType.Varchar2, OrganizationFullName,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureID",OracleDbType.Int32, CompleteProcedureID,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureCode",OracleDbType.Varchar2, CompleteProcedureCode,ParameterDirection.Input),
- new OracleParameter(":CompleteProcedureName",OracleDbType.Varchar2, CompleteProcedureName,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, null,ParameterDirection.Input),
- new OracleParameter(":ProcedureCode",OracleDbType.Varchar2, ProcedureCode,ParameterDirection.Input),
- new OracleParameter(":ProcedureName",OracleDbType.Varchar2, ProcedureName,ParameterDirection.Input),
- new OracleParameter(":MissProcedureID",OracleDbType.Int32, missprocedureid,ParameterDirection.Input),
- new OracleParameter(":MissProcedureCode",OracleDbType.Varchar2,missprocedurecode ,ParameterDirection.Input),
- new OracleParameter(":MissProcedureName",OracleDbType.Varchar2, missprocedurename,ParameterDirection.Input),
- new OracleParameter(":GoodsID",OracleDbType.Int32, GoodsID,ParameterDirection.Input),
- new OracleParameter(":GoodsCode",OracleDbType.Varchar2,GoodsCode ,ParameterDirection.Input),
- new OracleParameter(":GoodsName",OracleDbType.Varchar2, GoodsName,ParameterDirection.Input),
- new OracleParameter(":GoodsTypeID",OracleDbType.Int32, GoodsTypeID,ParameterDirection.Input),
- new OracleParameter(":CreateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":UpdateUserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- new OracleParameter(":AccountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- oracleTrConn.GetSqlResultToStr(sqlString, paras);
- }
- #endregion
- //}
- }
- return AddBarCodeMissingID;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 撤销产成品交接条码验证
- /// </summary>
- /// <param name="barcode"></param>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static ServiceResultEntity CancelFinishedHandoverBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- ServiceResultEntity resultEntity = new ServiceResultEntity();
- string gbarcode = null;
- string sqlString = @"select FUN_CMN_GetBarCode(:barcode,null,:accountid) From DUAL";
- OracleParameter[] paras1 = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras1);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- gbarcode = ds.Tables[0].Rows[0][0].ToString();
- }
- // 1.判断产品是否在产成品表中
- string sql = @"select
- FHUserID,
- FHUserCode,
- GoodsID,
- GoodsCode,
- GoodsName
- from TP_PM_FinishedProduct
- where BarCode=:BarCode";
- //where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.NVarchar2,gbarcode,ParameterDirection.Input),
- //new OracleParameter(":Accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- // 在产成品表中
- #region 是否交接过
- string fhUserCode = dsResult.Tables[0].Rows[0]["FHUserCode"].ToString();
- if (string.IsNullOrEmpty(fhUserCode))
- {
- resultEntity.Result = -1; //未交接,不能撤销
- resultEntity.Message = "此产品【" + barcode + "】未交接,不能进行该操作";
- return resultEntity;
- }
- #endregion
- }
- else
- {
- resultEntity.Result = -2; //不能产成品,不能撤销
- //sql = "select GoodsCode from TP_PM_GroutingDailyDetail where BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- sql = "select GoodsCode from TP_PM_GroutingDailyDetail where BarCode=:BarCode";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Message = "此产品【" + barcode + "】不是产成品,不能进行该操作";
- }
- else
- {
- resultEntity.Message = "此条码【" + barcode + "】无效,不能进行该操作";
- }
- return resultEntity;
- }
- #region 查询产品相关信息
- sql = @"select
- O.OrderNo,
- F.FHOrderID,
- F.FHTime,
- F.FHUserCode,
- F.BarCode,
- F.GoodsCode,
- L.LogoName,
- F.GroutingUserCode,
- F.GroutingMouldCode,
- F.GroutingDate,
- G.DeliverTime,
- L.LogoID,
- --(Goods.MaterialCode || L.tagcode || G.onlycode) as FinishedBarCode
- nvl(g.outlabelcode, Goods.MaterialCode || (select a.workcode from tp_mst_account a where a.accountid = g.accountid) || L.tagcode || G.onlycode) as FinishedBarCode
- from TP_PM_FinishedProduct F
- left join TP_PM_Order O
- on F.FHOrderID=O.OrderID
- left join TP_MST_Logo L
- on F.LogoID=L.LogoID
- left join TP_PM_GroutingDailyDetail G
- on F.GroutingDailyDetailID=G.GroutingDailyDetailID
- left join TP_MST_Goods Goods
- on F.GoodsID=Goods.GoodsID
- left join TP_MST_GoodsType GoodsType
- on Goods.GoodsTypeID=GoodsType.GoodsTypeID
- where F.BarCode=:BarCode";
- //where F.BarCode=FUN_CMN_GetBarCode(:BarCode,null,:Accountid)";
- dsResult = oracleConn.GetSqlResultToDs(sql, paras);
- if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
- {
- resultEntity.Result = 1;//成功
- resultEntity.Data = new DataSet();
- resultEntity.Data.Tables.Add(dsResult.Tables[0].Copy());
- }
- else
- {
- resultEntity.Result = -2;// 条码未注浆
- resultEntity.Message = "条码【" + barcode + "】未注浆";
- return resultEntity;
- }
- #endregion
- return resultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 检验回收条码
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet CheckRecydingFlagBarcode(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sqlString = @"select settingcode,settingvalue,settingdefaultvalues from tp_mst_systemsetting
- where Accountid=:Accountid and settingcode in ('S_PM_017','S_PM_018','S_PM_019','S_PM_020')";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("Accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- #region 读出系统配置 17(损坯可否回收) 18(半检不合格可否回收) 19(复检不合格可否回收) 20(次品可否回收)
- int S_PM_017_Value = 0, S_PM_018_Value = 0, S_PM_019_Value = 0, S_PM_020_Value = 0;
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- foreach (DataRow r in ds.Tables[0].Rows)
- {
- if (r["settingcode"].ToString() == "S_PM_017")
- {
- S_PM_017_Value = Convert.ToInt32(r["settingvalue"]);
- }
- else if (r["settingcode"].ToString() == "S_PM_018")
- {
- S_PM_018_Value = Convert.ToInt32(r["settingvalue"]);
- }
- else if (r["settingcode"].ToString() == "S_PM_019")
- {
- S_PM_019_Value = Convert.ToInt32(r["settingvalue"]);
- }
- else if (r["settingcode"].ToString() == "S_PM_020")
- {
- S_PM_020_Value = Convert.ToInt32(r["settingvalue"]);
- }
- }
- }
- #endregion
- int goodsID = 0;
- string goodsCode = "", goodsName = "", groutingUserCode = "";
- DataTable dtBarCode = PMModuleLogic.CreateBarCodeResultTable();
- DataSet returnDs = new DataSet();
- DataRow dr = dtBarCode.NewRow();
- bool isError = false;
- #region 第1步 查当前工序在系统是否存在
- sqlString = @"select NodeType,ModelType from tp_pc_procedure where procedureid=:procedureid and ValueFlag=1";
- paras = new OracleParameter[]{
- new OracleParameter(":procedureid",procedureID),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables[0].Rows.Count == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "当前工序在系统中不存在";
- isError = true;
- }
- #endregion
- #region 第2步 查产品是否有效
- if (!isError)
- {
- sqlString = @"select distinct GoodsID, GoodsCode,GoodsName,UserCode,DeliverFlag
- from TP_PM_GroutingDailyDetail where BarCode=:barCode and ValueFlag=1 ";
- paras = new OracleParameter[]{
- new OracleParameter(":barCode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables[0].Rows.Count == 0)
- {
- // 是否被替换
- string sql = @"select count(barcode),max(newbarcode) from TP_PM_BarCodeRecord where BarCode=:barcode";
- OracleParameter[] paras2 = new OracleParameter[]{
- new OracleParameter(":barCode",barcode) };
- DataSet ds2 = oracleConn.GetSqlResultToDs(sql, paras2);
- if (ds2 != null && Convert.ToInt32(ds2.Tables[0].Rows[0][0]) == 0)
- {
- // 无效条件
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "无效条码[" + barcode + "]";
- isError = true;
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "条码[" + barcode + "]已经被[" + ds2.Tables[0].Rows[0][1] + "]替换";
- isError = true;
- }
- }
- else
- {
- if (Convert.ToInt32(ds.Tables[0].Rows[0]["DeliverFlag"]) != 1)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "条码[" + barcode + "]未交坯,不能回收";
- isError = true;
- }
- else
- {
- goodsID = Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsID"]);
- goodsName = ds.Tables[0].Rows[0]["goodsName"].ToString();
- goodsCode = ds.Tables[0].Rows[0]["GoodsCode"].ToString();
- groutingUserCode = ds.Tables[0].Rows[0]["UserCode"].ToString();
- }
- }
- }
- #endregion
- #region 第3步 查产品是否在当前工序配置
- if (!isError)
- {
- sqlString = @"select count(GoodsID) from TP_PC_ProcedureGoods where GoodsID=:GoodsID and ProcedureID=:ProcedureID";
- paras = new OracleParameter[]{
- new OracleParameter(":GoodsID",goodsID),
- new OracleParameter(":ProcedureID",procedureID),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (Convert.ToInt32(ds.Tables[0].Rows[0][0]) != 1)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] =
- @"条码[" + barcode + "]不可以经过该工序\n\r原因:条码对应的产品编码[" + goodsCode + "]没有在该工序中配置";
- isError = true;
- }
- }
- #endregion
- if (!isError)
- {
- #region 第4步,校验在产产品不能回收
- string sqlString2 = "select InScrapFlag,ISREWORKFLAG from tp_pm_inproduction where barcode=:barcode";
- OracleParameter[] parasNew = new OracleParameter[]{
- new OracleParameter(":barcode",barcode) };
- DataSet dsNew = oracleConn.GetSqlResultToDs(sqlString2, parasNew);
- if (dsNew != null && dsNew.Tables[0].Rows.Count > 0)
- {
- if (Convert.ToInt32(dsNew.Tables[0].Rows[0]["InScrapFlag"]) == 1)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "报损待审产品不能回收";
- }
- else if (Convert.ToInt32(dsNew.Tables[0].Rows[0]["ISREWORKFLAG"]) == 1)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "半检返工中不能回收";
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "在产产品不能回收";
- }
- isError = true;
- }
- #endregion
- #region 第5步,校验报损表数据是否可以回收
- if (!isError)
- {
- sqlString = @"select GoodsLevelID,GoodsLevelTypeID,ScrapType,SpecialRepairFlag,RecyclingFlag,AuditStatus,SpecialRepairUserID from TP_PM_ScrapProduct where barcode=:barcode
- and ValueFlag=1 and CreateTime=
- (select max(CreateTime) from TP_PM_ScrapProduct where barcode=:barcode
- and ValueFlag=1)";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds == null || ds.Tables[0].Rows.Count == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "不存在回收数据,不能回收";
- isError = true;
- }
- else
- {
- if (Convert.ToInt32(ds.Tables[0].Rows[0]["AuditStatus"]) == 1 &&
- Convert.ToInt32(ds.Tables[0].Rows[0]["GoodsLevelTypeID"]) != 9 &&
- Convert.ToInt32(ds.Tables[0].Rows[0]["RecyclingFlag"]) == 0)
- {
- // 可回收
- string sqlString3 = "select 1 from tp_pm_inproductiontrash where barcode=:barcode";
- OracleParameter[] parasNewt = new OracleParameter[]{
- new OracleParameter(":barcode",barcode) };
- DataSet dsNewt = oracleConn.GetSqlResultToDs(sqlString3, parasNewt);
- if (dsNewt == null || dsNewt.Tables[0].Rows.Count == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "报损数据被清除,不能回收";
- isError = true;
- }
- }
- else
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "不存在回收数据,不能回收";
- isError = true;
- }
- if (!isError)
- {
- if (Convert.ToInt32(ds.Tables[0].Rows[0]["ScrapType"]) == 0)
- {
- // 损坯
- if (S_PM_017_Value == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "系统参数产品回收-报损未启用";
- isError = true;
- }
- }
- else if (Convert.ToInt32(ds.Tables[0].Rows[0]["ScrapType"]) == 1)
- {
- // 成检
- if (S_PM_020_Value == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "系统参数产品回收-次品未启用";
- isError = true;
- }
- }
- else if (Convert.ToInt32(ds.Tables[0].Rows[0]["ScrapType"]) == 2)
- {
- // 半检
- if (S_PM_018_Value == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "系统参数产品回收-半检不合格未启用";
- isError = true;
- }
- }
- else if (Convert.ToInt32(ds.Tables[0].Rows[0]["ScrapType"]) == 3)
- {
- // 复检
- if (S_PM_019_Value == 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()] = "系统参数产品回收-复检不合格未启用";
- isError = true;
- }
- }
- }
- }
- }
- #endregion
- }
- dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = goodsID;
- dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = goodsCode;
- dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = goodsName;
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = groutingUserCode;
- //oracleConn.ExecStoredProcedure("pro_pm_checkdryrepairbarcode", paras);
- //dr[Constant.BarCodeResultTableColumns.out_errMsg.ToString()]
- // = paras[2].Value.ToString() == "null" ? "" : paras[2].Value.ToString().Replace("\\n\\r", "\n\r");
- //dr[Constant.BarCodeResultTableColumns.out_goodsID.ToString()] = paras[3].Value.ToString() == "null" ? 0 : paras[3].Value;
- //dr[Constant.BarCodeResultTableColumns.out_goodsCode.ToString()] = paras[4].Value.ToString() == "null" ? "" : paras[4].Value;
- //dr[Constant.BarCodeResultTableColumns.out_goodsName.ToString()] = paras[5].Value.ToString() == "null" ? "" : paras[5].Value;
- //dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = paras[6].Value.ToString() == "null" ? 0 : paras[6].Value;
- //if (paras[2].Value.ToString() == "null") //只有正确的条码,读注浆信息
- if (!isError) //只有正确的条码,读注浆信息
- {
- sqlString = @"select
- TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- tp_pm_groutingdailydetail.groutingcount as GroutingNum,
- tp_pm_groutingdailydetail.GroutingMouldCode as MouldCode,
- tp_pm_groutingdailydetail.ispublicbody,
- tp_pm_groutingdailydetail.Groutingdate,
- tp_pm_groutingdailydetail.SpecialRepairFlag,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from tp_pm_groutingdailydetail
- left join tp_mst_logo
- on tp_pm_groutingdailydetail.logoid=tp_mst_logo.logoid
- where tp_pm_groutingdailydetail.BarCode=:barcode";
- paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- ds = oracleConn.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- dr[Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString()] = ds.Tables[0].Rows[0]["GroutingUserCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_groutingNum.ToString()] = ds.Tables[0].Rows[0]["GroutingNum"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_mouldCode.ToString()] = ds.Tables[0].Rows[0]["MouldCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbody.ToString()] = ds.Tables[0].Rows[0]["ispublicbody"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_groutingdate.ToString()] = ds.Tables[0].Rows[0]["Groutingdate"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString()] = ds.Tables[0].Rows[0]["SpecialRepairFlag"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_isReFire.ToString()] = "0";
- dr[Constant.BarCodeResultTableColumns.out_logoID.ToString()] = ds.Tables[0].Rows[0]["logoID"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoCode.ToString()] = ds.Tables[0].Rows[0]["logoCode"].ToString();
- dr[Constant.BarCodeResultTableColumns.out_logoName.ToString()] = ds.Tables[0].Rows[0]["logoName"].ToString();
- }
- }
- dtBarCode.Rows.Add(dr);
- returnDs.Tables.Add(dtBarCode);
- return returnDs;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- }
- }
|