| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395 |
- /*******************************************************************************
- * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:PMModuleLogic.cs
- * 2.功能描述:生产管理
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 陈冰 2014/09/3 1.00 新建
- *******************************************************************************/
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Drawing;
- using System.IO;
- 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.ManagedDataAccess.Client;
- namespace Dongke.IBOSS.PRD.Service.PMModuleLogic
- {
- /// <summary>
- /// 生产管理
- /// </summary>
- public partial class PMModuleLogic
- {
- /// <summary>
- /// 构建 计数/检验时返回的信息
- /// </summary>
- /// <returns></returns>
- public static DataTable CreateBarCodeResultTable()
- {
- // 注意:更新表字段时,一定把后续引用的字段全部更新一遍
- DataTable barCodeResultTable = new DataTable("BarCodeTable");
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_errMsg.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_goodsID.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_goodsCode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_goodsName.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_groutingUserCode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_groutingUserName.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_groutingUserID.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_groutingNum.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_mouldCode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_ispublicbody.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_ispublicbodyTrach.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_groutingdate.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_specialRepairFlag.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_isReFire.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_missFlag.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_logoID.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_logoCode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_logoName.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_deliverLimitCycle.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_barcode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_WaterLabelCode.ToString());
- barCodeResultTable.Columns.Add(Constant.BarCodeResultTableColumns.out_CodeCheckFlag.ToString());
- // 包装装板用
- barCodeResultTable.Columns.Add("GOODSMODELforCheck");
- // 最大装板数量
- barCodeResultTable.Columns.Add("PlateLimitNum", typeof(int));
- return barCodeResultTable;
- }
- /// <summary>
- /// 构建 校验窑车号时返回的信息
- /// </summary>
- /// <returns></returns>
- public static DataTable CreateKilnCarResultTable()
- {
- // 注意:更新表字段时,一定把后续引用的字段全部更新一遍
- DataTable kilnCarResultTable = new DataTable("KilnCarTable");
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_errMsg.ToString());
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_kilnCarID.ToString());
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_kilnCarName.ToString());
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_kilnID.ToString());
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_kilnCode.ToString());
- kilnCarResultTable.Columns.Add(Constant.KilnCarResultTableColumns.out_kilnName.ToString());
- return kilnCarResultTable;
- }
- /// <summary>
- /// 校验窑车是否可用
- /// </summary>
- /// <param name="pProcedureId">工序ID</param>
- /// <param name="kilnCarCode">窑车号</param>
- /// <param name="pModelType">类别</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>CheckKilnCarResultEntity实体类</returns>
- /// <remarks>
- /// 陈冰 2014.09.26 新建
- /// </remarks>
- public static CheckKilnCarResultEntity CheckKilnCar(int pProcedureId, string kilnCarCode, int pModelType, SUserInfo sUserInfo)
- {
- CheckKilnCarResultEntity kilnCarResultEntity = new CheckKilnCarResultEntity();
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_accountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("in_kilnCarCode",OracleDbType.NVarchar2, kilnCarCode,ParameterDirection.Input),
- new OracleParameter("in_modelType",OracleDbType.Int32, pModelType,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,2000,null,ParameterDirection.Output),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- new OracleParameter("in_procedureid",OracleDbType.Int32, pProcedureId,ParameterDirection.Input),
- // 验证能否卸窑
- new OracleParameter("in_UserID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- };
- DataSet returnDataSet = oracleConn.ExecStoredProcedure("PRO_PM_CheckKilnCar", paras);
- kilnCarResultEntity.ErrMsg = paras[3].Value.ToString() == "null" ? string.Empty : paras[3].Value.ToString().Replace("\\n\\r", "\n\r");
- if (returnDataSet == null || returnDataSet.Tables.Count <= 0)
- {
- kilnCarResultEntity.KilnCarInfos = new List<KilnCarInfo>();
- }
- else
- {
- kilnCarResultEntity.KilnCarInfos = DataConvert.TableConvertToObject<KilnCarInfo>(returnDataSet.Tables[0]);
- }
- return kilnCarResultEntity;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 由工序获取产缺陷列表
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDefectByProcedure(int procedureID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select TP_MST_Defect.DefectID as DefectFlagID,TP_MST_Defect.DefectCode,
- TP_MST_Defect.DefectName as ViewDefectFlagName,
- concat(TP_MST_Defect.DefectCode||'->',TP_MST_Defect.DefectName) as DefectFlagName
- from TP_PC_ProcedureDefect
- left join TP_MST_Defect on TP_PC_ProcedureDefect.DefectID=TP_MST_Defect.DefectID
- where TP_MST_Defect.valueflag = '1' and TP_PC_ProcedureDefect.procedureID=" + procedureID;
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 由当前检验工序ID和缺陷Code获取缺陷数据
- /// </summary>
- /// <param name="procedureID">当前检验工序ID</param>
- /// <param name="defectCode">缺陷Code</param>
- /// <returns>object</returns>
- /// <remarks>
- /// 陈冰 2014.10.04 新建
- /// </remarks>
- public static object GetDefectByProcedureIDAndDefectCode(int procedureID, string defectCode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select TP_MST_Defect.DefectID,
- TP_MST_Defect.DefectName,
- TP_PC_ProcedureDefect.procedureID
- from TP_MST_Defect
- left join TP_PC_ProcedureDefect on TP_MST_Defect.DefectID =
- TP_PC_ProcedureDefect.DefectID
- and TP_PC_ProcedureDefect.procedureID = :procedureID
- where TP_MST_Defect.DefectCode = :defectCode and TP_MST_Defect.Valueflag='1'";
- OracleParameter[] paras = new OracleParameter[] {
- new OracleParameter(":procedureID",procedureID),
- new OracleParameter(":defectCode",defectCode),
- };
- DataSet resultds = con.GetSqlResultToDs(sqlString, paras);
- if (resultds != null && resultds.Tables.Count > Constant.INT_IS_ZERO)
- {
- string errMsg = string.Empty;
- int defectID = 0;
- string defectName = string.Empty;
- if (resultds.Tables[0].Rows.Count == Constant.INT_IS_ZERO)
- {
- errMsg = "缺陷在系统中不存在";
- }
- else
- {
- if (string.IsNullOrEmpty(resultds.Tables[0].Rows[0]["ProcedureID"].ToString()))
- {
- errMsg = "当前工序没有配置该缺陷";
- }
- else
- {
- defectID = int.Parse(resultds.Tables[0].Rows[0]["DefectID"].ToString());
- defectName = resultds.Tables[0].Rows[0]["DefectName"].ToString();
- }
- }
- return new { ErrMsg = errMsg, DefectID = defectID, DefectName = defectName };
- }
- else
- {
- return null;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据产品ID查出缺陷位置
- /// </summary>
- /// <param name="goodsID">产品ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDefectLocaionByGoodsID(int goodsID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select TP_MST_DEFECTPOSITION.DEFECTPOSITIONID,TP_MST_DEFECTPOSITION.DEFECTPOSITIONCODE,TP_MST_DEFECTPOSITION.DEFECTPOSITIONNAME
- ,concat(TP_MST_DEFECTPOSITION.DEFECTPOSITIONCODE||'->',TP_MST_DEFECTPOSITION.DEFECTPOSITIONNAME) as DEFECTPOSITIONCODEANDNAME from tp_mst_goodsdefectposition left join TP_MST_DEFECTPOSITION
- on tp_mst_goodsdefectposition.defectpositionid=TP_MST_DEFECTPOSITION.defectpositionid
- where tp_mst_goodsdefectposition.goodsid=" + goodsID;
- DataSet ds = con.GetSqlResultToDs(sqlString);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据缺陷位置
- /// </summary>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDefectLocaion(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 ValueFlag=1";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":accountID",sUserInfo.AccountID),
- };
- 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="goodsID">产品ID</param>
- /// <param name="positionCode">位置编码</param>
- /// <returns>object</returns>
- public static object GetDefectPositionByGoodsIDAndPositionCode(int goodsID, string positionCode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select tp_mst_defectposition.defectpositionid,
- tp_mst_defectposition.defectpositionname,
- tp_mst_goodsdefectposition.goodsid
- from tp_mst_defectposition
- left join tp_mst_goodsdefectposition on tp_mst_goodsdefectposition.defectpositionid =
- tp_mst_defectposition.defectpositionid
- and tp_mst_goodsdefectposition.goodsid =:goodsid
- where tp_mst_defectposition.defectpositioncode = :defectpositioncode and tp_mst_defectposition.Valueflag='1'";
- OracleParameter[] paras = new OracleParameter[] {
- new OracleParameter(":goodsid",goodsID),
- 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
- {
- if (string.IsNullOrEmpty(resultds.Tables[0].Rows[0]["goodsid"].ToString()))
- {
- 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="barcode">产品条码</param>
- /// <param name="defectid">缺陷ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyProcedureByBarCode(string barcode, int defectid, int accountid)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- DataSet dsReturn = new DataSet();
- // string sqlString = @"select TP_PM_ProductionDataIn.ProductionDataID, DutyProcedureID,DutyProcedureCode,DutyProcedureName,NodeType,ModelType from
- // (
- // select TP_PM_ProductionDataIn.ProductionDataID,TP_PM_ProductionDataIn.ProcedureID as DutyProcedureID,
- // TP_PM_ProductionDataIn.ProcedureCode as DutyProcedureCode,
- // TP_PM_ProductionDataIn.ProcedureName as DutyProcedureName,
- // TP_PM_ProductionDataIn.NodeType,
- // TP_PM_ProductionDataIn.ModelType
- // from TP_PM_ProductionDataIn
- // where valueflag = '1' and TP_PM_ProductionDataIn.Barcode=:Barcode
- // order by TP_PM_ProductionDataIn.ProductionDataID
- // ) TP_PM_ProductionDataIn
- // where exists
- // (
- // select
- // TP_PC_DefectProcedureJobs.DefectID,
- // TP_PC_DefectProcedureJobs.ProductionLineID,
- // TP_PC_DefectProcedureJobs.ProcedureID,
- // TP_PC_DefectProcedureJobs.NodeNo,
- // TP_PC_DefectProcedureJobs.JobsID
- // from TP_PC_DefectProcedureJobs
- // where TP_PC_DefectProcedureJobs.DefectID=:DefectID
- // and TP_PM_ProductionDataIn.DutyProcedureID=TP_PC_DefectProcedureJobs.ProcedureID
- // )";
- //string sqlString =
- //"SELECT pdin.ProductionDataID\n" +
- //" ,pdin.ProcedureID AS DutyProcedureID\n" +
- //" ,pdin.ProcedureCode AS DutyProcedureCode\n" +
- //" ,pdin.ProcedureName AS DutyProcedureName\n" +
- //" ,pdin.NodeType\n" +
- //" ,pdin.ModelType\n" +
- //" ,pdin.classessettingid\n" +
- //" ,pdin.userid\n" +
- //" ,pdin.usercode\n" +
- //" ,pdin.username\n" +
- //" FROM TP_PM_ProductionDataIn pdin\n" +
- //" WHERE pdin.valueflag = '1'\n" +
- //" AND pdin.accountid = :accountid\n" +
- //" AND pdin.Barcode = :Barcode\n" +
- //" AND EXISTS (SELECT 1\n" +
- //" FROM TP_PC_DefectProcedureJobs dpJobs\n" +
- //" WHERE dpJobs.DefectID = :DefectID\n" +
- //" AND pdin.ProcedureID = dpJobs.ProcedureID)\n" +
- //" ORDER BY pdin.ProductionDataID";
- // 去掉重复工序(取最后一个)
- string sqlString = "select pdin.ProductionDataID\n" +
- " ,pdin.ProcedureID as DutyProcedureID\n" +
- " ,pdin.ProcedureCode as DutyProcedureCode\n" +
- " ,pdin.ProcedureName as DutyProcedureName\n" +
- " ,pdin.NodeType\n" +
- " ,pdin.ModelType\n" +
- " ,pdin.classessettingid\n" +
- " ,pdin.userid\n" +
- " ,pdin.usercode\n" +
- " ,pdin.username\n" +
- " from TP_PM_ProductionDataIn pdin\n" +
- " where pdin.productiondataid in\n" +
- " (select max(pdi.productiondataid) pdid\n" +
- " from TP_PM_ProductionDataIn pdi\n" +
- " where pdi.valueflag = '1'\n" +
- " and pdi.accountid = :accountid\n" +
- " and pdi.Barcode = :Barcode\n" +
- " and exists\n" +
- " (select 1\n" +
- " from TP_PC_DefectProcedureJobs dpJobs\n" +
- " where dpJobs.DefectID = :DefectID\n" +
- " and pdi.ProcedureID = dpJobs.ProcedureID)\n" +
- " group by pdi.ProcedureID)\n" +
- " order by pdin.ProductionDataID";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":accountid",OracleDbType.Int32, accountid,ParameterDirection.Input),
- new OracleParameter(":Barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":DefectID",OracleDbType.Int32, defectid,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- ds.Tables[0].TableName = "TProcedure";
- //sqlString = "Select DictionaryID,DictionaryValue"
- // + " from TP_MST_DataDictionary where valueflag = 1 and DictionaryType = 'ASE002' and AccountID = :AccountID";
- //paras = new Oracle.ManagedDataAccess.Client.OracleParameter[]
- // {
- // new Oracle.ManagedDataAccess.Client.OracleParameter(":AccountID",accountid),
- // };
- //DataSet ds2 = con.GetSqlResultToDs(sqlString, paras);
- //ds2.Tables[0].TableName = "TDataDictionary";
- sqlString = "select procedureid,jobsid from TP_PC_DefectProcedureJobs where TP_PC_DefectProcedureJobs.Defectid=:Defectid";
- paras = new Oracle.ManagedDataAccess.Client.OracleParameter[]
- {
- new Oracle.ManagedDataAccess.Client.OracleParameter(":Defectid",defectid),
- };
- DataSet ds3 = con.GetSqlResultToDs(sqlString, paras);
- ds3.Tables[0].TableName = "TP_PC_DefectProcedureJobs";
- if (!dsReturn.Tables.Contains("TProcedure"))
- {
- dsReturn.Tables.Add(ds.Tables[0].Copy());
- }
- //if (!dsReturn.Tables.Contains("TDataDictionary"))
- //{
- // dsReturn.Tables.Add(ds2.Tables[0].Copy());
- //}
- if (!dsReturn.Tables.Contains("TP_PC_DefectProcedureJobs"))
- {
- 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="barcode">产品条码</param>
- /// <param name="dutyProcedureID">责任工序</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyProcedureCodeByBarCode(string barcode, int dutyProcedureID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select UserID,UserCode,UserName,Remarks,ProductionDataID from TP_PM_ProductionDataIn
- where Barcode=:Barcode and ProcedureID=:ProcedureID and valueflag=1";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":Barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, dutyProcedureID,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"></param>
- /// <returns></returns>
- public static DataSet GetDutyProcedureCodeByProductionDataID(int ProductionDataID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select UserID,UserCode,UserName,Remarks,ProductionDataID 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="userID">工号ID</param>
- /// <param name="productionDataID">生产数据ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyJobsCodeByUser(int userID, int productionDataID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // string sqlString = @"select distinct
- // TP_PM_Producer.UserID,TP_MST_Jobs.JobsID,TP_MST_Jobs.JobsName,TP_MST_Jobs.JobsCode
- // from TP_PM_Producer
- // left join TP_MST_Jobs
- // on TP_PM_Producer.UJobsID=TP_MST_Jobs.JobsID
- // where TP_PM_Producer.UserID=:UserID
- // and TP_PM_Producer.UJobsID in
- // (
- // select
- // JobsID
- // from TP_PC_DefectProcedureJobs where ProcedureID=
- // (
- // Select ProcedureID from TP_PM_ProductionDataIn where ProductionDataID=:ProductionDataID
- // )
- // )";
- string sqlString = @"select distinct tp_pc_classesdetail.UserID,
- TP_MST_Jobs.JobsID,
- TP_MST_Jobs.JobsName,
- TP_MST_Jobs.JobsCode
- from tp_pc_classesdetail
- left join TP_MST_Jobs on tp_pc_classesdetail.UJobsID = TP_MST_Jobs.JobsID
- where tp_pc_classesdetail.UserID = :UserID
- and tp_pc_classesdetail.UJobsID in
- (select JobsID
- from TP_PC_DefectProcedureJobs
- where ProcedureID =
- (Select ProcedureID
- from TP_PM_ProductionDataIn
- where ProductionDataID = :ProductionDataID)
- )";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":UserID",OracleDbType.Int32, userID,ParameterDirection.Input),
- 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>
- /// 根据所选生产数据ID,用户ID及工种选出责任员工
- /// </summary>
- /// <param name="productionDataID">生产数据ID</param>
- /// <param name="userID">用户ID</param>
- /// <param name="jobs">工种ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyStaffByUserIDAndJobs(int productionDataID, int userID, int jobs)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // string sqlString = @"select TP_HR_Staff.StaffID,TP_HR_Staff.StaffCode,TP_HR_Staff.StaffName,TP_HR_Staff.StaffStatus,TP_PM_Producer.SJobsID
- // from TP_PM_Producer
- // left join TP_HR_Staff on TP_PM_Producer.StaffID=TP_HR_Staff.StaffID
- // where TP_PM_Producer.ProductionDataID=:ProductionDataID
- // and TP_PM_Producer.UserID=:UserID and TP_PM_Producer.UJobsID=:JobsID
- // ";
- string sqlString = @"select TP_HR_Staff.StaffID,
- TP_HR_Staff.StaffCode,
- TP_HR_Staff.StaffName,
- TP_HR_Staff.StaffStatus,
- tp_pc_classesdetail.SJobsID
- from tp_pc_classesdetail
- left join TP_HR_Staff on tp_pc_classesdetail.StaffID =
- TP_HR_Staff.StaffID
- where tp_pc_classesdetail.ClassesSettingID=(select ClassesSettingID from tp_pm_productiondatain where productiondataid=:ProductionDataID)
- and tp_pc_classesdetail.UserID = :UserID
- and tp_pc_classesdetail.UJobsID = :JobsID
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProductionDataID",OracleDbType.Int32, productionDataID,ParameterDirection.Input),
- new OracleParameter(":UserID",OracleDbType.Int32, userID,ParameterDirection.Input),
- new OracleParameter(":JobsID",OracleDbType.Int32, jobs,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="searchAdminRAPEntity">查询实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet进度考核奖惩信息表</returns>
- public static DataSet SearcStaffAdminRAPInfo(SearchProgressRAPEntity searchProgressRAPEntity, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- string strIdList = string.Empty;
- if (searchProgressRAPEntity.IDList != null && searchProgressRAPEntity.IDList.Length > 0)
- {
- strIdList = DataConvert.ConvertListToSqlInWhere(searchProgressRAPEntity.IDList);
- }
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("in_staffID",OracleDbType.Int32,searchProgressRAPEntity.StaffID,ParameterDirection.Input),
- new OracleParameter("in_rapType",OracleDbType.Double,searchProgressRAPEntity.RAPType,ParameterDirection.Input),
- new OracleParameter("in_startRAPDate",OracleDbType.Date,searchProgressRAPEntity.StartRAPDate,ParameterDirection.Input),
- new OracleParameter("in_endRAPDate",OracleDbType.Date,searchProgressRAPEntity.EndRAPDate,ParameterDirection.Input),
- new OracleParameter("in_startRAPAmount",OracleDbType.Double,searchProgressRAPEntity.StartRAPAmount,ParameterDirection.Input),
- new OracleParameter("in_endRAPAmount",OracleDbType.Double,searchProgressRAPEntity.EndRAPAmount,ParameterDirection.Input),
- new OracleParameter("in_auditStatus",OracleDbType.Int32,searchProgressRAPEntity.AuditStatus,ParameterDirection.Input),
- new OracleParameter("in_settlementFlag",OracleDbType.Char,searchProgressRAPEntity.SettlementFlag,ParameterDirection.Input),
- new OracleParameter("in_valueFlag",OracleDbType.Char,searchProgressRAPEntity.ValueFlag,ParameterDirection.Input),
- new OracleParameter("in_sIDList",OracleDbType.Varchar2,strIdList,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- };
- return con.ExecStoredProcedure("PRO_PM_StaffProgressRAP", paras);
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 根据条码获取窑炉窑车信息
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetKilnCarByBarCode(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // string sqlString = @"
- // select
- // TP_MST_KilnCar.KilnCarCode,
- // TP_MST_Kiln.KilnCode,
- // TP_MST_DataDictionary.Dictionaryvalue
- // from TP_PM_KilnCarGoods
- // left join TP_MST_KilnCar
- // on TP_PM_KilnCarGoods.KilnCarID=TP_MST_KilnCar.Kilncarid
- // left join TP_MST_Kiln
- // on TP_MST_KilnCar.Kilnid=TP_MST_Kiln.Kilnid
- // left join TP_MST_DataDictionary
- // on TP_PM_KilnCarGoods.KilnCarPosition=TP_MST_DataDictionary.DictionaryID
- // where TP_PM_KilnCarGoods.Barcode=:Barcode
- // ";
- string sqlString = @"
- select
- TP_PM_InProduction.KilnCarCode,
- TP_PM_InProduction.KilnCode,
- TP_MST_DataDictionary.Dictionaryvalue
- from TP_PM_InProduction
- inner join TP_MST_DataDictionary
- on TP_PM_InProduction.KilnCarPosition=TP_MST_DataDictionary.DictionaryID
- where TP_PM_InProduction.Barcode=:Barcode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":Barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #region 生产数据
- /// <summary>
- /// 查询在产产品数据
- /// </summary>
- /// <param name="searchInProductionEntity">在产产品数据实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet在产产品数据信息表</returns>
- public static DataSet GetInProductionData(SearchInProductionEntity searchInProductionEntity, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_barCode",OracleDbType.Varchar2,searchInProductionEntity.BarCode,ParameterDirection.Input),
- new OracleParameter("in_productionLineId",OracleDbType.Varchar2,searchInProductionEntity.ProductionLineIDS,ParameterDirection.Input),
- new OracleParameter("in_completeProcedureId",OracleDbType.Varchar2,searchInProductionEntity.ProcedureIDS,ParameterDirection.Input),
- new OracleParameter("in_goodsId",OracleDbType.Varchar2,searchInProductionEntity.GoodsIDS,ParameterDirection.Input),
- new OracleParameter("in_userId",OracleDbType.Varchar2,searchInProductionEntity.UserIDS,ParameterDirection.Input),
- new OracleParameter("in_groutingLineId",OracleDbType.Varchar2,searchInProductionEntity.GroutingLineIDS,ParameterDirection.Input),
- new OracleParameter("in_gMouldTypeId",OracleDbType.Varchar2,searchInProductionEntity.GMouldTypeIDS,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("in_createTimeStart",OracleDbType.Varchar2,searchInProductionEntity.CreateTimeStart,ParameterDirection.Input),
- new OracleParameter("in_createTimeEnd",OracleDbType.Varchar2,searchInProductionEntity.CreateTimeEnd,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- };
- DataSet dsInproduction = con.ExecStoredProcedure("PRO_PM_GetInProductionData", paras);
- return dsInproduction;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 查询成品数据
- /// </summary>
- /// <param name="searchInProductionEntity">产成品数据实体</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet产成品数据信息表</returns>
- public static DataSet GetFinishedProductionData(SearchFinishedProductEntity searchFinishedProductionEntity, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_barCode",OracleDbType.Varchar2,searchFinishedProductionEntity.BarCode,ParameterDirection.Input),
- new OracleParameter("in_productionLineId",OracleDbType.Varchar2,searchFinishedProductionEntity.ProductionLineIDS,ParameterDirection.Input),
- new OracleParameter("in_goodsId",OracleDbType.Varchar2,searchFinishedProductionEntity.GoodsIDS,ParameterDirection.Input),
- new OracleParameter("in_groutingLineId",OracleDbType.Varchar2,searchFinishedProductionEntity.GroutingLineIDS,ParameterDirection.Input),
- new OracleParameter("in_gMouldTypeId",OracleDbType.Varchar2,searchFinishedProductionEntity.GMouldTypeIDS,ParameterDirection.Input),
- new OracleParameter("in_accountDateStart",OracleDbType.Varchar2,searchFinishedProductionEntity.AccountDateStart,ParameterDirection.Input),
- new OracleParameter("in_accountDateEnd",OracleDbType.Varchar2,searchFinishedProductionEntity.AccountDateEnd,ParameterDirection.Input),
- new OracleParameter("in_createTimeStart",OracleDbType.Varchar2,searchFinishedProductionEntity.CreateTimeStart,ParameterDirection.Input),
- new OracleParameter("in_createTimeEnd",OracleDbType.Varchar2,searchFinishedProductionEntity.CreateTimeEnd,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- };
- DataSet dsInproduction = con.ExecStoredProcedure("PRO_PM_GetFinishdProductData", paras);
- return dsInproduction;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 查询半检数据一览
- /// </summary>
- /// <param name="SearchSemiTestDetailEntity">查询半检数据明细实体类</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetSearchSemiTestListModule(SemiTestDetailEntity semiTestDetailEntity, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_goodsId",OracleDbType.Varchar2,semiTestDetailEntity.GoodsIDS,ParameterDirection.Input),
- new OracleParameter("in_testUserID",OracleDbType.Varchar2,semiTestDetailEntity.TestUserIDS,ParameterDirection.Input),
- new OracleParameter("in_groutingUserID",OracleDbType.Varchar2,semiTestDetailEntity.GroutingUserIDS,ParameterDirection.Input),
- new OracleParameter("in_semitesttype",OracleDbType.Int32,semiTestDetailEntity.SemiTestType,ParameterDirection.Input),
- new OracleParameter("in_remarks",OracleDbType.Varchar2,semiTestDetailEntity.Remarks,ParameterDirection.Input),
- new OracleParameter("in_userPurviews",OracleDbType.Varchar2,semiTestDetailEntity.UserPurviews,ParameterDirection.Input),
- new OracleParameter("in_semiTestDateStart",OracleDbType.Varchar2,semiTestDetailEntity.SemiTestDateStart,ParameterDirection.Input),
- new OracleParameter("in_semiTestDateEnd",OracleDbType.Varchar2,semiTestDetailEntity.SemiTestDateEnd,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- };
- DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PM_GetSemiTestList", paras);
- return dsSearchReport;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- #endregion
- #region 校验条码是否可以下车
- /// <summary>
- /// 校验条码是否可以下车
- /// </summary>
- /// <param name="procedureID">当前工序</param>
- /// <param name="barcode">产品条码</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>CheckCancelLoadCar</returns>
- public static CheckCancelLoadCar CheckCancelLoadCar(int procedureID, string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- new OracleParameter("in_procedureid",OracleDbType.Int32,procedureID,ParameterDirection.Input),
- new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("out_errMsg",OracleDbType.NVarchar2,200,null,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_kilncarcode",OracleDbType.NVarchar2,50,null,ParameterDirection.Output),
- };
- oracleConn.ExecStoredProcedure("PRO_PM_CheckCancelLoadCar", paras);
- CheckCancelLoadCar checkCancelLoadCar = new CheckCancelLoadCar();
- checkCancelLoadCar.ErrMsg = paras[3].Value.ToString() == "null" ? "" : paras[3].Value.ToString().Replace("\\n\\r", "\n\r");
- checkCancelLoadCar.GoodsCode = paras[4].Value.ToString() == "null" ? "" : paras[4].Value.ToString();
- checkCancelLoadCar.GoodsName = paras[5].Value.ToString() == "null" ? "" : paras[5].Value.ToString();
- checkCancelLoadCar.KilnCarCode = paras[6].Value.ToString() == "null" ? "" : paras[6].Value.ToString();
- return checkCancelLoadCar;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #endregion
- /// <summary>
- /// 根据所选生产数据ID,显示成检数据信息
- /// </summary>
- /// <param name="productionDataID">生产数据ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetProductionDataByID(int productionDataID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- DataSet dsReturn = new DataSet();
- string sqlString = @"select
- TP_PM_ProductionData.Barcode as BarCode,
- TP_PM_ProductionData.Goodsid as GoodsID,
- TP_PM_ProductionData.Goodscode as GoodsCode,
- TP_PM_ProductionData.Goodsname as GoodsName,
- TP_PM_ProductionData.GoodsLevelID as DefectFlagID,
- TP_PM_ProductionData.Reworkprocedureid as ReworkProcedureID,
- TP_PM_ProductionData.Remarks as Remarks,
- TP_PM_ProductionData.Userid as UserID,
- TP_PM_ProductionData.UserCode as UserCode,
- TP_PM_ProductionData.UserName as UserName,
- TP_PM_ProductionData.Goodsleveltypeid as GoodsLevelTypeID,
- TP_PM_ProductionData.SpecialRepairflag,
- TP_PM_ProductionData.UserCode,
- TP_PM_ProductionData.KilnCode,
- TP_PM_ProductionData.KilnCarCode,
- TP_PM_ProductionData.GroutingUserCode,
- TP_PM_ProductionData.GroutingMouldCode as MouldCode,
- TP_PM_ProductionData.GroutingNum,
- TP_PM_ProductionData.GroutingDate,
- TP_MST_DataDictionary.Dictionaryvalue,
- TP_PM_ProductionData.IsPublicBody,
- TP_MST_Logo.logoid,
- TP_MST_Logo.logocode,
- TP_MST_Logo.logoname,
- TP_PM_ProductionData.CreateTime,
- TP_PM_ProductionData.CheckTime
- from TP_PM_ProductionData
- left join TP_MST_DataDictionary
- on TP_PM_ProductionData.KilnCarPosition=TP_MST_DataDictionary.DictionaryID
- left join TP_MST_Logo
- on TP_PM_ProductionData.logoid=TP_MST_Logo.logoid
- where
- TP_PM_ProductionData.Productiondataid=:ProductionDataID
- ";
- string sqlString2 = @"
- select
- TP_PM_Defect.ProductionDefectID as ProductionDefectID,
- TP_PM_Defect.Barcode as BarCode,
- TP_PM_Defect.DefectID as DefectID,
- TP_PM_Defect.Defectname as DefectName,
- TP_PM_Defect.Defectcode as DefectCode,
- TP_PM_Defect.Defectpositionid as DefectPositionID,
- TP_PM_Defect.Defectpositionname as DefectPositionName,
- TP_PM_Defect.Defectpositioncode as DefectPositionCode,
- TP_PM_Defect.Defectprocedureid as DefectProcedureID,
- TP_PM_Defect.Defectprocedurename as DefectProcedureName,
- TP_PM_Defect.Defectprocedurecode as DefectProcedureCode,
- TP_PM_Defect.Defectuserid as DefectUserID,
- TP_PM_Defect.Defectusername as DefectUserName,
- TP_PM_Defect.Defectusercode as DefectUserCode,
- TP_PM_Defect.DefectJobs as Jobs,
- nvl(TP_PM_Defect.MissedUserID,-1) as MissedUserID,
- TP_PM_Defect.MissedUserCode,
- TP_PM_Defect.MissedUserName,
- TP_MST_Jobs.Jobsname as JobsText,
- TP_PM_Defect.Remarks as DefectRemarks,
- TP_PM_Defect.Productiondataid as ProductionDataID,
- nvl(TP_PM_Defect.DefectProductionDataID,0) as DefectProductionDataID,
- TP_PM_Defect.Defectfine as DefectFineID,
- TP_MST_DefectFine.DefectFineCode as DefectFineValue,
- TP_PM_Defect.SpecialDefect,
- TP_PM_Defect.DefectDeductionNum,
- TP_PM_Defect.CheckTime
- 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";
- string sqlString3 = @"select
- TP_PM_DefectResponsible.ProductionDefectID as ProductionDefectID,
- TP_PM_DefectResponsible.Staffid as StaffID,
- TP_HR_Staff.Staffcode as StaffCode,
- TP_HR_Staff.Staffname as StaffName,
- TP_PM_DefectResponsible.Staffstatus as StaffStatus
- from TP_PM_DefectResponsible
- left join TP_HR_Staff
- on TP_PM_DefectResponsible.StaffID=TP_HR_Staff.Staffid
- where TP_PM_DefectResponsible.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- string sqlString4 = @" select
- TP_PM_DefectImage.ProductionDefectID,
- TP_PM_DefectImage.Thumbnailpath,
- TP_PM_DefectImage.Imagepath
- from TP_PM_DefectImage
- where TP_PM_DefectImage.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- string sqlString5 = @"select
- TP_PM_DefectMissedResponsible.ProductionDefectID as ProductionDefectID,
- TP_PM_DefectMissedResponsible.Staffid as StaffID,
- TP_HR_Staff.Staffcode as StaffCode,
- TP_HR_Staff.Staffname as StaffName,
- TP_PM_DefectMissedResponsible.Staffstatus as StaffStatus,
- TP_PM_DefectMissedResponsible.UJobsID,
- TP_PM_DefectMissedResponsible.SJobsID
- from TP_PM_DefectMissedResponsible
- left join TP_HR_Staff
- on TP_PM_DefectMissedResponsible.StaffID=TP_HR_Staff.Staffid
- where TP_PM_DefectMissedResponsible.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProductionDataID",OracleDbType.Int32, productionDataID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- ds.Tables[0].TableName = "TP_PM_ProductionData";
- DataSet ds2 = con.GetSqlResultToDs(sqlString2, paras);
- ds2.Tables[0].TableName = "TP_PM_Defect";
- DataSet ds3 = con.GetSqlResultToDs(sqlString3, paras);
- ds3.Tables[0].TableName = "TP_PM_DefectResponsible";
- DataSet ds4 = con.GetSqlResultToDs(sqlString4, paras);
- ds4.Tables[0].TableName = "TP_PM_DefectImage";
- DataSet ds5 = con.GetSqlResultToDs(sqlString5, paras);
- ds5.Tables[0].TableName = "TP_PM_DefectMissedResponsible";
- dsReturn.Tables.Add(ds.Tables[0].Copy());
- dsReturn.Tables.Add(ds2.Tables[0].Copy());
- dsReturn.Tables.Add(ds3.Tables[0].Copy());
- dsReturn.Tables.Add(ds4.Tables[0].Copy());
- dsReturn.Tables.Add(ds5.Tables[0].Copy());
- dsReturn.Tables["TP_PM_DefectImage"].Columns.Add("SourcePathByte", typeof(byte[]));
- for (int i = 0; i < dsReturn.Tables["TP_PM_DefectImage"].Rows.Count; i++)
- {
- string saveAllFilePath = AppDomain.CurrentDomain.BaseDirectory + dsReturn.Tables["TP_PM_DefectImage"].Rows[i]["ImagePath"].ToString();
- if (File.Exists(saveAllFilePath))
- {
- FileInfo file = new FileInfo(saveAllFilePath);
- Image PicImage = Image.FromStream(file.OpenRead());
- byte[] smallbuffer = null;
- using (MemoryStream ms = new MemoryStream())
- {
- PicImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
- ms.Position = 0;
- smallbuffer = new byte[ms.Length];
- ms.Read(smallbuffer, 0, Convert.ToInt32(ms.Length));
- ms.Flush();
- }
- dsReturn.Tables["TP_PM_DefectImage"].Rows[i]["SourcePathByte"] = smallbuffer;
- }
- }
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取产品完成工序的ID
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>int</returns>
- public static int GetCompleteProcedureID(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- FlowProcedureID as
- CompleteProcedureID,
- ProductionDataID,
- ProcedureID
- from TP_PM_InProduction
- where
- TP_PM_InProduction.BarCode=:BarCode
- union
- select
- FlowProcedureID as
- CompleteProcedureID,
- ProductionDataID,
- ProcedureID
- from Tp_Pm_Inproductiontrash
- where
- Tp_Pm_Inproductiontrash.BarCode=:BarCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["CompleteProcedureID"]);
- }
- else
- {
- sqlString = @"select
- BarCode
- from TP_PM_FinishedProduct
- where
- TP_PM_FinishedProduct.BarCode=:BarCode
- ";
- paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds2 = con.GetSqlResultToDs(sqlString, paras);
- if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
- {
- return -2;
- }
- else
- {
- return -1;
- }
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 编辑后删除生产数据
- /// </summary>
- /// <param name="productionDataID">生产数据ID</param>
- /// <returns>int</returns>
- public static int DeleteProductionDataByID(int productionDataID)
- {
- int deleteRow = 0;
- IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleTrConn.Connect();
- string sqlString5 = @"update TP_PM_DefectMissedResponsible set ValueFlag=0
- where TP_PM_DefectMissedResponsible.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- string sqlString4 = @"update TP_PM_ProductionData set ValueFlag=0
- where
- TP_PM_ProductionData.Productiondataid=:ProductionDataID
- ";
- string sqlString3 = @"update TP_PM_Defect set ValueFlag=0
- where TP_PM_Defect.Productiondataid =:ProductionDataID";
- string sqlString2 = @"update TP_PM_DefectResponsible set ValueFlag=0
- where TP_PM_DefectResponsible.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- string sqlString = @"update TP_PM_DefectImage set ValueFlag=0
- where TP_PM_DefectImage.Productiondefectid in
- (
- select ProductionDefectID from TP_PM_Defect where TP_PM_Defect.Productiondataid=:ProductionDataID
- )";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":ProductionDataID",OracleDbType.Int32, productionDataID,ParameterDirection.Input),
- };
- deleteRow += oracleTrConn.ExecuteNonQuery(sqlString, paras);
- deleteRow += oracleTrConn.ExecuteNonQuery(sqlString2, paras);
- deleteRow += oracleTrConn.ExecuteNonQuery(sqlString3, paras);
- deleteRow += oracleTrConn.ExecuteNonQuery(sqlString4, paras);
- deleteRow += oracleTrConn.ExecuteNonQuery(sqlString5, paras);
- // 没有错误 提交事务
- if (deleteRow > 0)
- {
- oracleTrConn.Commit();
- }
- else
- {
- oracleTrConn.Rollback();
- }
- }
- catch (Exception ex)
- {
- oracleTrConn.Rollback();
- throw ex;
- }
- finally
- {
- // 释放资源
- if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
- {
- oracleTrConn.Disconnect();
- }
- }
- return deleteRow;
- }
- /// <summary>
- /// 由产品条码获取注浆信息
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>DataSet</returns>
- public static DataSet GetGroutingProducttByBarCode(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- TP_PM_GroutingDailyDetail.GroutingCount as GroutingNum,
- TP_PM_GroutingDailyDetail.GroutingMouldCode as MouldCode,
- TP_MST_Logo.logoid,
- TP_MST_Logo.logocode,
- TP_MST_Logo.logoname,
- (select tp_pm_inproduction.ispublicbody from
- tp_pm_inproduction where tp_pm_inproduction.BarCode=:barcode) as ispublicbody,
- (select tp_pm_inproductiontrash.ispublicbody from
- tp_pm_inproductiontrash where tp_pm_inproductiontrash.BarCode=:barcode) as ispublicbodyTrach,
- TP_PM_GroutingDailyDetail.Groutingdate
- from TP_PM_GroutingDailyDetail
- left join TP_MST_Logo
- on TP_PM_GroutingDailyDetail.logoid=TP_MST_Logo.logoid
- where TP_PM_GroutingDailyDetail.BarCode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",barcode),
- };
- 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="jobs">工种ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyStaffByUserID(int jobs, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_HR_Staff.StaffID,TP_HR_Staff.StaffCode,TP_HR_Staff.StaffName,TP_HR_Staff.StaffStatus,TP_MST_UserStaff.UJobsID as SJobsID
- from TP_MST_UserStaff
- left join TP_HR_Staff
- on TP_MST_UserStaff.Staffid=TP_HR_Staff.Staffid
- where TP_MST_UserStaff.Ujobsid=:jobs and TP_HR_Staff.StaffStatus in (1,2)
- order by TP_HR_Staff.StaffCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":jobs",OracleDbType.Int32, jobs,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="userid">工号</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetMissedStaffByUserID(int userid, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_HR_Staff.StaffID,TP_HR_Staff.StaffCode,TP_HR_Staff.StaffName,TP_HR_Staff.StaffStatus,TP_MST_UserStaff.UJobsID as UJobsID,TP_HR_Staff.Jobs as SJobsID
- from TP_MST_UserStaff
- left join TP_HR_Staff
- on TP_MST_UserStaff.Staffid=TP_HR_Staff.Staffid
- where TP_MST_UserStaff.Userid=:userid
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":userid",OracleDbType.Int32, userid,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="jobs">工种ID</param>
- /// <param name="userid">用户ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetDutyStaffByUserJobsID(int jobs, SUserInfo sUserInfo, int userid)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_HR_Staff.StaffID,TP_HR_Staff.StaffCode,TP_HR_Staff.StaffName,TP_HR_Staff.StaffStatus,TP_MST_UserStaff.UJobsID as SJobsID
- from TP_MST_UserStaff
- left join TP_HR_Staff
- on TP_MST_UserStaff.Staffid=TP_HR_Staff.Staffid
- where TP_MST_UserStaff.Ujobsid=:jobs and TP_MST_UserStaff.Userid=:userid
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":jobs",OracleDbType.Int32, jobs,ParameterDirection.Input),
- new OracleParameter(":userid",OracleDbType.Int32, userid,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="barcode">产品条码</param>ram>
- /// <returns>int</returns>
- public static int GetSpecialRepairflagByBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- SpecialRepairflag
- from tp_pm_inproduction where barcode=:barcode
- union
- select
- SpecialRepairflag from
- tp_pm_inproductiontrash where barcode=:barcode
- union
- select
- SpecialRepairflag from
- tp_pm_finishedproduct where barcode=:barcode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["SpecialRepairflag"]);
- }
- return 0;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取窑车对应产品列表
- /// <param name="KilnCarID">窑车ID</param>
- /// </summary>
- /// <returns>DataSet</returns>
- public static DataSet GetKilnCarGoodsByKilnCarID(int KilnCarID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select distinct
- TP_PM_KilnCarGoods.Barcode,
- TP_MST_Goods.Goodsid,
- TP_MST_Goods.Goodscode,
- TP_MST_Goods.Goodsname,
- TP_PM_KilnCarGoods.Userid,
- TP_PM_KilnCarGoods.Usercode,
- TP_PM_KilnCarGoods.Username,
- TP_MST_KilnCar.Kilncarname,
- TP_MST_KilnCar.Kilncarcode,
- TP_MST_Kiln.KilnName,
- TP_MST_Kiln.KilnCode,
- TP_MST_KilnCar.Kilnid,
- TP_MST_KilnCar.KilnCarid,
- TP_PM_KilnCarGoods.KilnCarPosition,
- TP_MST_DataDictionary.Dictionaryvalue,
- TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode,
- TP_PM_GroutingDailyDetail.GroutingCount as GroutingNum,
- TP_PM_GroutingDailyDetail.GroutingMouldCode as MouldCode,
- (select max(tp_pm_inproduction.ispublicbody) from
- tp_pm_inproduction where tp_pm_inproduction.BarCode=TP_PM_KilnCarGoods.Barcode) as ispublicbody,
- TP_PM_GroutingDailyDetail.Groutingdate,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname
- from
- TP_PM_KilnCarGoods
- left join TP_MST_Goods
- on TP_PM_KilnCarGoods.Goodsid=TP_MST_Goods.Goodsid
- left join TP_MST_KilnCar
- on TP_PM_KilnCarGoods.Kilncarid=TP_MST_KilnCar.Kilncarid
- left join TP_MST_Kiln
- on TP_MST_KilnCar.Kilnid=TP_MST_Kiln.Kilnid
- left join TP_MST_DataDictionary
- on TP_PM_KilnCarGoods.KilnCarPosition=TP_MST_DataDictionary.Dictionaryid
- left join TP_PM_GroutingDailyDetail
- on TP_PM_KilnCarGoods.Barcode=TP_PM_GroutingDailyDetail.BarCode
- left join tp_mst_logo
- on TP_PM_GroutingDailyDetail.logoid=tp_mst_logo.logoid
- where TP_PM_KilnCarGoods.KilnCarID=:KilnCarID
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":KilnCarID",OracleDbType.Int32, KilnCarID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取未在生产线上报损的注浆信息
- /// <param name="barcode">产品条码</param>
- /// </summary>
- /// <returns>DataSet</returns>
- public static DataSet GetBarCodeInGroutingDailyDetail(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // 首先查看条码是否有效
- string sqlString = @"select TP_PM_GroutingDailyDetail.GoodsID,TP_PM_GroutingDailyDetail.GoodsCode,TP_PM_GroutingDailyDetail.GoodsName
- ,TP_PM_GroutingDailyDetail.GroutingDailyID,TP_PM_GroutingDailyDetail.GroutingDailyDetailID
- ,TP_PM_GroutingDailyDetail.GroutingDate,TP_PM_GroutingDailyDetail.GroutingLineID,TP_PM_GroutingDailyDetail.GroutingLineCode
- ,TP_PM_GroutingDailyDetail.GroutingLineName
- ,TP_PM_GroutingDailyDetail.GroutingLineDetailID,TP_PM_GroutingDailyDetail.GroutingMouldCode,TP_PM_GroutingDailyDetail.MouldCode
- ,TP_PM_GroutingDailyDetail.UserID as GroutingUserID
- ,TP_PM_GroutingDailyDetail.UserCode as GroutingUserCode
- ,TP_PM_GroutingDailyDetail.GroutingCount as GroutingNum
- ,0 as IsPublicBody
- ,0 as IsReFire
- ,TP_PC_GroutingLine.GMouldTypeID
- ,TP_PM_GroutingDailyDetail.SpecialRepairFlag
- from TP_PM_GroutingDailyDetail
- left join TP_PC_GroutingLine
- on TP_PM_GroutingDailyDetail.GroutingLineID=TP_PC_GroutingLine.GroutingLineID
- where TP_PM_GroutingDailyDetail.barcode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,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与列表所选生产数据ID做比较
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>int</returns>
- public static int GetCompleteProductionDataID(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- ProductionDataID
- from TP_PM_InProduction
- where
- TP_PM_InProduction.BarCode=:BarCode
- union
- select
- ProductionDataID
- from Tp_Pm_Inproductiontrash
- where
- Tp_Pm_Inproductiontrash.BarCode=:BarCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["ProductionDataID"]);
- }
- else
- {
- return 0;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取在产产品的信息标识列表
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>int</returns>
- public static DataSet GetInProductionDataList(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- BarCode,
- FlowProcedureID,
- FlowProcedureTime,
- ProcedureID,
- ProcedureTime,
- ProductionDataID,
- IsReFire,
- SpecialRepairFlag
- from TP_PM_InProduction
- where
- TP_PM_InProduction.BarCode=:BarCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 成检时获取此条码是否报损
- /// <param name="barcode">产品条码</param>
- /// </summary>
- /// <returns>int</returns>
- public static int CheckScrapProduct(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select auditstatus from tp_pm_scrapproduct where auditstatus in(0,1) and valueflag=1 and goodsleveltypeid=8 and barcode=:barcode and recyclingflag=0";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["auditstatus"]);
- }
- return -100;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取产品完成工序的ID(PDA)
- /// </summary>
- /// <param name="barcode">产品条码</param>
- /// <returns>int</returns>
- public static DataSet GetCompleteProcedureIDPDA(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- FlowProcedureID as
- CompleteProcedureID,
- ProductionDataID,
- ProcedureID,
- OPTimeStamp,
- to_char(OPTimeStamp,'DD-MM-YYHH12.MI.SS.FFAM') as ConvertOPTimeStamp
- from TP_PM_InProduction
- where
- TP_PM_InProduction.BarCode=:BarCode
- union
- select
- FlowProcedureID as
- CompleteProcedureID,
- ProductionDataID,
- ProcedureID,
- OPTimeStamp,
- to_char(OPTimeStamp,'DD-MM-YYHH12.MI.SS.FFAM') as ConvertOPTimeStamp
- from Tp_Pm_Inproductiontrash
- where
- Tp_Pm_Inproductiontrash.BarCode=:BarCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,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="barcode">产品条码</param>
- /// <returns>int</returns>
- public static DataSet GetGoodsInfoBybarcode(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- GoodsID,GoodsCode,GoodsName,
- (
- select
- TP_PM_InProduction.SpecialRepairFlag
- from TP_PM_InProduction
- where TP_PM_InProduction.BarCode=:BarCode
- ) SpecialRepairFlag,
- (
- select
- TP_PM_InProduction.IsReFire
- from TP_PM_InProduction
- where TP_PM_InProduction.BarCode=:BarCode
- ) IsReFire,
- tp_mst_logo.logoid,
- tp_mst_logo.logocode,
- tp_mst_logo.logoname,
- TP_PM_GroutingDailyDetail.UserCode,
- TP_PM_GroutingDailyDetail.GroutingMouldCode as MouldCode,
- TP_PM_GroutingDailyDetail.GroutingCount,
- TP_PM_GroutingDailyDetail.GroutingDate
- from TP_PM_GroutingDailyDetail
- left join tp_mst_logo
- on TP_PM_GroutingDailyDetail.logoid=tp_mst_logo.logoid
- where
- TP_PM_GroutingDailyDetail.BarCode=:BarCode
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,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="ProcedureIDS">工序ID集</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns></returns>
- public static DataSet GetInCheckedDetail(string ProcedureIDS, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_PM_InProduction.BarCode,
- TP_PM_InProduction.ProductionLineID,
- TP_PM_InProduction.ProductionLineCode,
- TP_PM_InProduction.ProductionLineName,
- TP_PM_InProduction.FlowProcedureID,
- TP_PM_InProduction.ProcedureID,
- TP_PM_InProduction.ProcedureModel,
- TP_PM_InProduction.ModelType,
- TP_PM_InProduction.GoodsID,
- TP_PM_InProduction.GoodsCode,
- TP_PM_InProduction.GoodsName,
- TP_PM_InProduction.GroutingDate,
- TP_PM_InProduction.GroutingLineCode,
- TP_PM_InProduction.GroutingLineName,
- TP_PM_InProduction.GroutingMouldCode,
- TP_PM_InProduction.GroutingUserCode,
- TP_PM_InProduction.GroutingNum,
- TP_PM_InProduction.KilnCode,
- TP_PM_InProduction.KilnName,
- TP_PM_InProduction.KilnCarCode,
- TP_PM_InProduction.KilnCarName,
- TP_PM_InProduction.IsPublicBody,
- TP_PM_InProduction.IsReFire,
- TP_PM_InProduction.SpecialRepairFlag,
- TP_PC_Procedure.ProcedureName
- from TP_PM_InProduction
- left join TP_PC_Procedure
- on TP_PM_InProduction.FlowProcedureID=TP_PC_Procedure.ProcedureID where TP_PM_InProduction.accountid=:accountid
- ";
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
- // 工序IDS
- if (!string.IsNullOrEmpty(ProcedureIDS))
- {
- sqlString += "AND instr(','||:ProcedureIDS||',',','||TP_PM_InProduction.FlowProcedureID||',')>0 ";
- parameters.Add(new OracleParameter(":ProcedureIDS", OracleDbType.NVarchar2, ProcedureIDS, ParameterDirection.Input));
- }
- DataSet ds = con.GetSqlResultToDs(sqlString, parameters.ToArray());
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单列表
- /// </summary>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static DataSet GetInCheckedList(SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select InCheckedID,InCheckedNo,AccountDate from TP_PM_InChecked where accountid=:accountid and ValueFlag=1";
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":accountid", OracleDbType.Int32, sUserInfo.AccountID, ParameterDirection.Input));
- DataSet ds = con.GetSqlResultToDs(sqlString, parameters.ToArray());
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单工号列表
- /// </summary>
- /// <param name="sUserInfo"></param>
- /// <returns></returns>
- public static DataSet GetInCheckedUserList(int InCheckedID, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select tp_pm_incheckeduser.InCheckedID,tp_pm_incheckeduser.UserID,tp_pm_incheckeduser.UserCode,
- tp_mst_user.UserName from tp_pm_incheckeduser
- left join tp_mst_user on tp_pm_incheckeduser.userid=tp_mst_user.userid
- where tp_pm_incheckeduser.InCheckedID=:InCheckedID";
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":InCheckedID", OracleDbType.Int32, InCheckedID, ParameterDirection.Input));
- DataSet ds = con.GetSqlResultToDs(sqlString, parameters.ToArray());
- return ds;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取主表盘点信息
- /// </summary>
- /// <param name="entity">盘点类</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns></returns>
- public static DataSet GetAllInChecked(InCheckedEntity entity, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter("in_inCheckedNo",OracleDbType.NVarchar2, entity.InCheckedNo,ParameterDirection.Input),
- new OracleParameter("in_inCheckedName",OracleDbType.NVarchar2, entity.InCheckedName,ParameterDirection.Input),
- new OracleParameter("in_remarks",OracleDbType.NVarchar2, entity.Remarks,ParameterDirection.Input),
- new OracleParameter("in_begindate",OracleDbType.Date, entity.BeginDate,ParameterDirection.Input),
- new OracleParameter("in_enddate",OracleDbType.Date,entity.EndDate,ParameterDirection.Input),
- new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
- new OracleParameter("in_accountID",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter("in_userID",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- };
- DataSet returnDataSet = oracleConn.ExecStoredProcedure("PRO_PM_GetInChecked", paras);
- return returnDataSet;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单名细信息
- /// </summary>
- /// <param name="InCheckedID">盘点单号</param>
- /// <returns></returns>
- public static DataSet GetAllInCheckedDetail(int inCheckedID)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sql = @"select
- TP_PM_InCheckedDetail.InCheckedID,
- 0 as Sel,
- TP_PM_InCheckedDetail.BarCode,
- TP_PM_InCheckedDetail.InCheckedNo,
- TP_PM_InCheckedDetail.ProductionLineCode,
- TP_PM_InCheckedDetail.ProductionLineName,
- TP_PC_Procedure.ProcedureName,
- decode(TP_PM_InCheckedDetail.ProcedureModel, '1', '计件模型' , '检验模型') as ProcedureModel,
- decode(TP_PM_InCheckedDetail.DefectFlag, '1', '无缺陷' , '有缺陷') as DefectFlag,
- TP_PM_InCheckedDetail.IsPublicBody,
- TP_PM_InCheckedDetail.IsReFire,
- TP_PM_InCheckedDetail.SpecialRepairFlag,
- TP_PM_InCheckedDetail.GoodsCode,
- TP_PM_InCheckedDetail.GoodsName,
- TP_PM_InCheckedDetail.GroutingDate,
- TP_PM_InCheckedDetail.GroutingLineCode,
- TP_PM_InCheckedDetail.GroutingLineName,
- TP_PM_InCheckedDetail.GroutingMouldCode,
- TP_PM_InCheckedDetail.GroutingUserCode,
- TP_PM_InCheckedDetail.GroutingNum,
- TP_PM_InCheckedDetail.KilnCode,
- TP_PM_InCheckedDetail.KilnName,
- TP_PM_InCheckedDetail.KilnCarCode,
- TP_PM_InCheckedDetail.KilnCarName,
- decode(TP_PM_InCheckedDetail.InCheckedFlag, '0', '未盘点' , '1','已盘点','盘盈') as InCheckedFlagName,
- TP_PM_InCheckedDetail.InCheckedFlag,
- TP_PM_InCheckedDetail.CheckedDate,
- Tp_mst_user.usercode CheckedUserCode,
- u.usercode,
- inpu.usercode cusercode,
- TP_PM_InCheckedDetail.ProcedureTime,
- TP_PM_InCheckedDetail.IsReworkFlag,
- TP_PM_InCheckedDetail.InScrapFlag,
- decode(sp.SCRAPPRODUCTID, null, 0, 1) SCRAPPRODUCTID,
- su.usercode susercode,
- spin.CREATETIME sdatetime,
- decode(spin.AUDITSTATUS,1, au.usercode , null) ausercode,
- spin.AUDITDATE adatetime,gt.goodstypename
- --,inpp.procedurename currentprocedurename
- --,inp.proceduretime currentproceduretime" + "\n" +
- " ,case when inp.barcode is not null then to_char(inpp.procedurename) " +
- " when sp.barcode is not null then to_char(glt.goodsleveltypename) " +
- " when fp.barcode is not null then '生产完成' else '' end currentprocedurename -- 当前工序\n" +
- " ,case when inp.barcode is not null then inp.PROCEDURETIME " +
- " when sp.barcode is not null then sp.auditdate " +
- " when fp.barcode is not null then fp.createtime else null end currentproceduretime -- 当前工序时间\n" +
- @"from TP_PM_InCheckedDetail
- left join tp_mst_goods g on TP_PM_InCheckedDetail.goodsid = g.goodsid
- left join tp_mst_goodstype gt on gt.goodstypeid = g.goodstypeid
- left join TP_PC_Procedure
- on TP_PM_InCheckedDetail.ProcedureID=TP_PC_Procedure.ProcedureID
- left join Tp_mst_user
- on TP_PM_InCheckedDetail.CheckedUserID=Tp_mst_user.userid
- left join Tp_mst_user u
- on TP_PM_InCheckedDetail.UserID=u.userid
- left join TP_PM_SCRAPPRODUCT spin
- -- on spin.barcode = TP_PM_InCheckedDetail.BarCode
- on spin.groutingdailydetailid = TP_PM_InCheckedDetail.groutingdailydetailid
- and spin.GOODSLEVELTYPEID = 8 and spin.AUDITSTATUS in (0,1)
- and spin.valueflag = '1' and spin.RECYCLINGFLAG = '0'
- left join Tp_mst_user su on su.userid = spin.CREATEUSERID
- left join Tp_mst_user au on au.userid = spin.AUDITOR
- LEFT JOIN Tp_Pm_Inproduction inp
- --ON inp.barcode = TP_PM_InCheckedDetail.Barcode
- ON inp.groutingdailydetailid = TP_PM_InCheckedDetail.groutingdailydetailid" +
- // 完成 groutingdailydetailid
- " LEFT JOIN tp_pm_finishedproduct fp \n" +
- //" ON inp.barcode is null and fp.barcode = TP_PM_InCheckedDetail.barcode\n" +
- " ON inp.barcode is null and fp.groutingdailydetailid = TP_PM_InCheckedDetail.groutingdailydetailid\n" +
- // 损坯
- " LEFT JOIN tp_pm_scrapproduct sp \n" +
- //" ON inp.barcode is null and fp.barcode is null and sp.barcode = TP_PM_InCheckedDetail.barcode\n" +
- " ON inp.barcode is null and fp.barcode is null and sp.groutingdailydetailid = TP_PM_InCheckedDetail.groutingdailydetailid\n" +
- " AND sp.valueflag = '1'\n" +
- " AND sp.auditstatus = 1\n" +
- " AND sp.goodsleveltypeid <> 9\n" +
- " AND sp.RECYCLINGFLAG = '0'\n" +
- " LEFT JOIN tp_sys_goodsleveltype glt \n" +
- " ON glt.goodsleveltypeid = sp.goodsleveltypeid\n" +
- @"LEFT JOIN tp_pc_procedure inpp
- ON inpp.procedureid = inp.procedureid
- left join Tp_mst_user inpu
- on inp.UserID=inpu.userid
- where InCheckedID=:InCheckedID and TP_PM_InCheckedDetail.valueflag=1 and TP_PM_InCheckedDetail.InCheckedFlag = :InCheckedFlag
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":InCheckedFlag",OracleDbType.Int32,(int)Constant.InCheckedFlag.InCheckedNo,ParameterDirection.Input),
- new OracleParameter(":InCheckedID",OracleDbType.Int32,inCheckedID,ParameterDirection.Input),
- };
- DataSet returnDataSet = oracleConn.GetSqlResultToDs(sql, paras);
- paras[0].Value = (int)Constant.InCheckedFlag.InCheckeded;
- returnDataSet.Tables.Add(oracleConn.GetSqlResultToDt(sql, paras));
- paras[0].Value = (int)Constant.InCheckedFlag.InCheckedWin;
- returnDataSet.Tables.Add(oracleConn.GetSqlResultToDt(sql, paras));
- sql = @"select tp_pm_incheckeduser.InCheckedID,tp_pm_incheckeduser.UserID,tp_pm_incheckeduser.UserCode,
- tp_mst_user.UserName from tp_pm_incheckeduser
- left join tp_mst_user on tp_pm_incheckeduser.userid=tp_mst_user.userid
- where tp_pm_incheckeduser.InCheckedID=:InCheckedID";
- paras = new OracleParameter[]{
- new OracleParameter(":InCheckedID",OracleDbType.Int32,inCheckedID,ParameterDirection.Input),
- };
- DataTable userTable = oracleConn.GetSqlResultToDt(sql, paras);
- userTable.TableName = "UserTable";
- returnDataSet.Tables.Add(userTable);
- return returnDataSet;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单名细信息
- /// </summary>
- /// <param name="InCheckedID">盘点单号</param>
- /// <returns></returns>
- public static DataSet GetGroutingInfoBybarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- // Flowprocedureid 换成 procedureid,干补特殊,会不一样,别的都一样
- string sql = @"select
- gdd.barcode,
- gdd.GoodsCode,
- gdd.UserCode,
- gdd.GroutingDate,
- gdd.GroutingMouldCode,
- logo.logoname -- 商标
- --,g.MaterialCode || logo.TagCode || gdd.OnlyCode OutOnlyCode -- 外包装唯一码
- ,nvl(gdd.outlabelcode, g.MaterialCode || (select a.workcode from tp_mst_account a where a.accountid = gdd.accountid) || logo.TagCode || gdd.OnlyCode) OutOnlyCode
- ,tp_pc_procedure.procedurename
- from TP_PM_GroutingDailyDetail gdd
- INNER JOIN tp_mst_goods g
- ON g.goodsid = gdd.goodsid
- LEFT JOIN tp_mst_logo logo
- ON logo.logoid = gdd.logoid
- left join TP_PM_InProduction
- on gdd.barcode=TP_PM_InProduction.barcode
- left join tp_pc_procedure
- on TP_PM_InProduction.procedureid=tp_pc_procedure.procedureid
- where gdd.barcode=FUN_CMN_GetBarCode(:barcode,null,:accountid) and gdd.valueflag=1 and gdd.scrapflag=0
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet returnDataSet = oracleConn.GetSqlResultToDs(sql, paras);
- return returnDataSet;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单名细信息
- /// </summary>
- /// <param name="InCheckedID">盘点单号</param>
- /// <returns></returns>
- public static DataSet GetFinishedProductGroutingInfoBybarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection oracleConn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- oracleConn.Open();
- string sql = @"select
- gdd.barcode,
- gdd.GoodsCode,
- gdd.UserCode,
- gdd.GroutingDate,
- gdd.GroutingMouldCode,
- logo.logoname -- 商标
- --,g.MaterialCode || logo.TagCode || gdd.OnlyCode OutOnlyCode -- 外包装唯一码
- ,nvl(gdd.outlabelcode, g.MaterialCode || (select a.workcode from tp_mst_account a where a.accountid = gdd.accountid) || logo.TagCode || gdd.OnlyCode) OutOnlyCode
- ,tp_pc_procedure.procedurename
- from TP_PM_GroutingDailyDetail gdd
- INNER JOIN tp_mst_goods g
- ON g.goodsid = gdd.goodsid
- LEFT JOIN tp_mst_logo logo
- ON logo.logoid = gdd.logoid
- left join TP_PM_InProduction
- on gdd.barcode=TP_PM_InProduction.barcode
- left join tp_pc_procedure
- on TP_PM_InProduction.Flowprocedureid=tp_pc_procedure.procedureid
- where gdd.barcode=FUN_CMN_GetBarCode(:barcode,null,:accountid) and gdd.valueflag=1 and gdd.scrapflag=0
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2,barcode,ParameterDirection.Input),
- new OracleParameter(":accountid",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
- };
- DataSet returnDataSet = oracleConn.GetSqlResultToDs(sql, paras);
- return returnDataSet;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (oracleConn.ConnState == ConnectionState.Open)
- {
- oracleConn.Close();
- }
- }
- }
- #region 清除在产残留数据
- /// <summary>
- /// 取得PM2108画面(在产品明细表)的查询数据
- /// </summary>
- /// <param name="user">登录用户信息</param>
- /// <param name="se">查询条件</param>
- /// <returns>查询结果</returns>
- public static ServiceResultEntity GetPM2108Data(SUserInfo user, RPT010401_SE se)
- {
- IDBConnection conn = null;
- try
- {
- conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- List<OracleParameter> parameters = new List<OracleParameter>();
- StringBuilder sql = new StringBuilder(PMModuleLogic.GetRPT010401SSQL());
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
- sql.Append(" and TP_PM_InProduction.modeltype not in (1,2,3) ");
- if (se != null)
- {
- //生产线IDS
- if (!string.IsNullOrEmpty(se.ProductionLineIDS))
- {
- sql.Append(" AND instr(','||:ProductionLineIDS||',',','||TP_PM_InProduction.ProductionLineID||',')>0 ");
- parameters.Add(new OracleParameter(":ProductionLineIDS", OracleDbType.NVarchar2, se.ProductionLineIDS, ParameterDirection.Input));
- }
- //完成工序IDS
- if (!string.IsNullOrEmpty(se.ProcedureIDS))
- {
- sql.Append(" AND instr(','||:ProcedureIDS||',',','||TP_PM_InProduction.ProcedureID||',')>0 ");
- parameters.Add(new OracleParameter(":ProcedureIDS", OracleDbType.NVarchar2, se.ProcedureIDS, ParameterDirection.Input));
- }
- // 生产时间--开始
- if (se.UpdateTimeStart.HasValue)
- {
- sql.Append(" AND TP_PM_InProduction.Proceduretime >= :UpdateTimeStart ");
- parameters.Add(new OracleParameter(":UpdateTimeStart", OracleDbType.Date, se.UpdateTimeStart.Value, ParameterDirection.Input));
- }
- // 生产时间--结束
- if (se.UpdateTimeEnd.HasValue)
- {
- sql.Append(" AND TP_PM_InProduction.Proceduretime <= :UpdateTimeEnd ");
- parameters.Add(new OracleParameter(":UpdateTimeEnd", OracleDbType.Date, se.UpdateTimeEnd.Value, ParameterDirection.Input));
- }
- //产品条码
- if (!string.IsNullOrEmpty(se.Barcode))
- {
- sql.Append(" AND instr(TP_PM_InProduction.barcode,:barcode)>0 ");
- parameters.Add(new OracleParameter(":barcode", OracleDbType.NVarchar2, se.Barcode, ParameterDirection.Input));
- }
- sql.Append(" AND TP_PM_InProduction.inscrapflag=0 ");
- }
- sql.Append(" order by TP_PM_InProduction.UpdateTime desc");
- DataTable data = conn.GetSqlResultToDt(sql.ToString(), parameters.ToArray());
- ServiceResultEntity sre = new ServiceResultEntity();
- if (data == null || data.Rows.Count == 0)
- {
- sre.Status = Constant.ServiceResultStatus.NoSearchResults;
- return sre;
- }
- sre.Data = new DataSet();
- sre.Data.Tables.Add(data);
- return sre;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn != null &&
- conn.ConnState == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- }
- /// <summary>
- /// 获取RPT010401画面(在产品明细表)的查询sql
- /// </summary>
- /// <returns>sql</returns>
- private static string GetRPT010401SSQL()
- {
- string selSql =
- "SELECT 0 as Sel," +
- " TP_PM_InProduction.BarCode, " +
- " TP_PM_InProduction.GoodsID,TP_PM_InProduction.GoodsCode, " +
- " TP_PM_InProduction.GoodsName, " +
- " TP_PM_InProduction.Userid,A.USERNAME as UserName,A.USERCode as UserCode, " +
- " TP_PM_InProduction.ProductionLineID, " +
- " TP_PM_InProduction.ProductionLineCode, " +
- " TP_PM_InProduction.ProductionLineName, " +
- " TP_PM_InProduction.ModelType, " +
- " decode(TP_PM_InProduction.inscrapflag , '1', '待审核的报废品' , '正常') as inscrapflag, " +
- //" decode(TP_PM_InProduction.IsPublicBody, '1', '是' , '否') as IsPublicBody, " +
- //" decode(TP_PM_InProduction.IsReFire, '1', '是' , '否') as IsReFire, " +
- " TP_PM_InProduction.IsPublicBody, " +
- " TP_PM_InProduction.IsReFire, " +
- " decode(TP_PM_InProduction.CanManyTimes, '1', '能' , '不能') as CanManyTimes, " +
- " decode(TP_PM_InProduction.ProcedureModel, '1', '计件模型' , '检验模型') as ProcedureModel, " +
- " TP_PM_InProduction.GroutingDailyID, " +
- " TP_PM_InProduction.GroutingDailyDetailID, " +
- " TP_PM_InProduction.GroutingDate, " +
- " TP_PM_InProduction.GroutingLineID, " +
- " TP_PM_InProduction.GroutingLineCode, " +
- " TP_PM_InProduction.GroutingLineName, " +
- " TP_PM_InProduction.ProcedureID CompleteProcedureID, " +
- " D.ProcedureName as CompleteProcedureName, " +
- " TP_PM_InProduction.GMouldTypeID, " +
- " TP_MST_GMouldType.GMOULDTYPENAME as GMouldTypeName, " +
- " TP_PM_InProduction.GroutingLineDetailID, " +
- " TP_PM_InProduction.GroutingMouldCode, " +
- " TP_PM_InProduction.SPECIALREPAIRFLAG, " +
- " TP_PM_InProduction.GROUTINGUSERCODE, " +
- " TP_PM_GroutingDailyDetail.GROUTINGCOUNT, " +
- " TP_PM_InProduction.Remarks, " +
- " TP_PM_InProduction.GoodsLevelID,TP_MST_GoodsLevel.GOODSLEVELNAME, " +
- " TP_PM_InProduction.GoodsLevelTypeID,TP_SYS_GoodsLevelType.GOODSLEVELTYPENAME, " +
- " TP_PM_InProduction.AccountID,TP_PM_InProduction.ValueFlag, " +
- " TP_PM_InProduction.CreateTime,TP_PM_InProduction.CreateUserID,B.USERNAME as CreateUserName, " +
- " TP_PM_InProduction.PROCEDURETIME AS UpdateTime,TP_PM_InProduction.UpdateUserID,C.USERNAME as UpdateUserName, " +
- " TP_PM_InProduction.IsReworkFlag " +
- "FROM TP_PM_InProduction " +
- " inner join TP_MST_User A on A.UserID=TP_PM_InProduction.Userid " +
- " inner join TP_MST_User B on B.UserID=TP_PM_InProduction.CreateUserID " +
- " inner join TP_MST_User C on C.UserID=TP_PM_InProduction.UpdateUserID " +
- " inner join TP_PC_Procedure D on D.PROCEDUREID=TP_PM_InProduction.ProcedureID " +
- " inner join TP_MST_GMouldType on TP_MST_GMouldType.GMouldTypeID=TP_PM_InProduction.GMouldTypeID " +
- " inner join TP_SYS_ProcedureModelType on TP_SYS_ProcedureModelType.ProcedureModelTypeID=TP_PM_InProduction.ModelType " +
- " inner join TP_PM_GroutingDaily on TP_PM_GroutingDaily.GroutingDailyID=TP_PM_InProduction.GroutingDailyID " +
- " inner join TP_PM_GroutingDailyDetail on TP_PM_GroutingDailyDetail.Groutingdailydetailid=TP_PM_InProduction.GroutingDailyDetailID " +
- " inner join TP_PC_GroutingLineDetail on TP_PC_GroutingLineDetail.Groutinglinedetailid=TP_PM_InProduction.GroutingLineDetailID " +
- " inner join TP_MST_Account on TP_MST_Account.Accountid=TP_PM_InProduction.Accountid " +
- " left join TP_MST_GoodsLevel on TP_MST_GoodsLevel.GoodsLevelID=TP_PM_InProduction.GoodsLevelID " +
- " left join TP_SYS_GoodsLevelType on TP_SYS_GoodsLevelType.GoodsLevelTypeID=TP_PM_InProduction.GoodsLevelTypeID " +
- " Where 1=1 and TP_PM_InProduction.ValueFlag = 1 " +
- " and TP_PM_InProduction.AccountID=:AccountID ";
- return selSql;
- }
- #endregion
- #region 清除在产回收站数据
- public static ServiceResultEntity GetPM2110Data(SUserInfo user, FPM2110_SE se)
- {
- IDBConnection conn = null;
- try
- {
- conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- List<OracleParameter> parameters = new List<OracleParameter>();
- StringBuilder sql = new StringBuilder(PMModuleLogic.GetPM2110SQL());
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
- if (se != null)
- {
- //生产线IDS
- if (!string.IsNullOrEmpty(se.ProductionLineIDS))
- {
- sql.Append(" AND instr(','||:ProductionLineIDS||',',','||Tp_Pm_Inproductiontrash.ProductionLineID||',')>0 ");
- parameters.Add(new OracleParameter(":ProductionLineIDS", OracleDbType.NVarchar2, se.ProductionLineIDS, ParameterDirection.Input));
- }
- //完成工序IDS
- if (!string.IsNullOrEmpty(se.ProcedureIDS))
- {
- sql.Append(" AND instr(','||:ProcedureIDS||',',','||Tp_Pm_Inproductiontrash.ProcedureID||',')>0 ");
- parameters.Add(new OracleParameter(":ProcedureIDS", OracleDbType.NVarchar2, se.ProcedureIDS, ParameterDirection.Input));
- }
- // 生产时间--开始
- if (se.UpdateTimeStart.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproductiontrash.Proceduretime >= :UpdateTimeStart ");
- parameters.Add(new OracleParameter(":UpdateTimeStart", OracleDbType.Date, se.UpdateTimeStart.Value, ParameterDirection.Input));
- }
- // 生产时间--结束
- if (se.UpdateTimeEnd.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproductiontrash.Proceduretime <= :UpdateTimeEnd ");
- parameters.Add(new OracleParameter(":UpdateTimeEnd", OracleDbType.Date, se.UpdateTimeEnd.Value, ParameterDirection.Input));
- }
- //报废日期开始
- if (se.ScrapDataStart.HasValue)
- {
- sql.Append(" AND TP_PM_SCRAPPRODUCT.SCRAPDATE >= trunc(:ScrapDateStart) ");
- parameters.Add(new OracleParameter(":ScrapDateStart", OracleDbType.Date, se.ScrapDataStart.Value, ParameterDirection.Input));
- }
- //报废日期结束
- if (se.ScrapDataEnd.HasValue)
- {
- sql.Append(" AND TP_PM_SCRAPPRODUCT.SCRAPDATE <= trunc(:ScrapDateEnd)");
- parameters.Add(new OracleParameter(":ScrapDateEnd", OracleDbType.Date, se.ScrapDataEnd.Value, ParameterDirection.Input));
- }
- //产品条码
- if (!string.IsNullOrEmpty(se.Barcode))
- {
- sql.Append(" AND instr(Tp_Pm_Inproductiontrash.barcode,:barcode)>0 ");
- parameters.Add(new OracleParameter(":barcode", OracleDbType.NVarchar2, se.Barcode, ParameterDirection.Input));
- }
- // 产品分级
- sql.Append(" AND TP_PM_SCRAPPRODUCT.GOODSLEVELTYPEID = :GooddLevelTypeID ");
- parameters.Add(new OracleParameter(":GooddLevelTypeID", OracleDbType.Int32, se.GooddLevelTypeID, ParameterDirection.Input));
- }
- sql.Append(" order by Tp_Pm_Inproductiontrash.UpdateTime desc");
- DataTable data = conn.GetSqlResultToDt(sql.ToString(), parameters.ToArray());
- ServiceResultEntity sre = new ServiceResultEntity();
- if (data == null || data.Rows.Count == 0)
- {
- sre.Status = Constant.ServiceResultStatus.NoSearchResults;
- return sre;
- }
- sre.Data = new DataSet();
- sre.Data.Tables.Add(data);
- return sre;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn != null &&
- conn.ConnState == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- }
- /// <summary>
- /// 获取RPT010401画面(在产品明细表)的查询sql
- /// </summary>
- /// <returns>sql</returns>
- private static string GetPM2110SQL()
- {
- string selSql =
- @"SELECT 0 as Sel,
- Tp_Pm_Inproductiontrash.BarCode,
- Tp_Pm_Inproductiontrash.GoodsID,
- Tp_Pm_Inproductiontrash.GoodsCode,
- Tp_Pm_Inproductiontrash.GoodsName,
- Tp_Pm_Inproductiontrash.Userid,
- A.USERNAME as UserName,
- A.USERCode as UserCode,
- Tp_Pm_Inproductiontrash.ProductionLineID,
- Tp_Pm_Inproductiontrash.ProductionLineCode,
- Tp_Pm_Inproductiontrash.ProductionLineName,
- Tp_Pm_Inproductiontrash.ModelType,
- --decode(Tp_Pm_Inproductiontrash.IsPublicBody, '1', '是', '否') as IsPublicBody,
- --decode(Tp_Pm_Inproductiontrash.IsReFire, '1', '是', '否') as IsReFire,
- Tp_Pm_Inproductiontrash.IsPublicBody,
- Tp_Pm_Inproductiontrash.IsReFire,
- decode(Tp_Pm_Inproductiontrash.CanManyTimes, '1', '能', '不能') as CanManyTimes,
- decode(Tp_Pm_Inproductiontrash.ProcedureModel,
- '1',
- '计件模型',
- '检验模型') as ProcedureModel,
- Tp_Pm_Inproductiontrash.GroutingDailyID,
- Tp_Pm_Inproductiontrash.GroutingDailyDetailID,
- Tp_Pm_Inproductiontrash.GroutingDate,
- Tp_Pm_Inproductiontrash.GroutingLineID,
- Tp_Pm_Inproductiontrash.GroutingLineCode,
- Tp_Pm_Inproductiontrash.GroutingLineName,
- Tp_Pm_Inproductiontrash.ProcedureID CompleteProcedureID,
- D.ProcedureName as CompleteProcedureName,
- Tp_Pm_Inproductiontrash.GMouldTypeID,
- TP_MST_GMouldType.GMOULDTYPENAME as GMouldTypeName,
- Tp_Pm_Inproductiontrash.GroutingLineDetailID,
- Tp_Pm_Inproductiontrash.GroutingMouldCode,
- Tp_Pm_Inproductiontrash.SPECIALREPAIRFLAG,
- Tp_Pm_Inproductiontrash.GROUTINGUSERCODE,
- TP_PM_GroutingDailyDetail.GROUTINGCOUNT,
- Tp_Pm_Inproductiontrash.Remarks,
- Tp_Pm_Inproductiontrash.GoodsLevelID,
- TP_MST_GoodsLevel.GOODSLEVELNAME,
- Tp_Pm_Inproductiontrash.GoodsLevelTypeID,
- TP_SYS_GoodsLevelType.GOODSLEVELTYPENAME,
- Tp_Pm_Inproductiontrash.AccountID,
- Tp_Pm_Inproductiontrash.ValueFlag,
- Tp_Pm_Inproductiontrash.CreateTime,
- Tp_Pm_Inproductiontrash.CreateUserID,
- B.USERNAME as CreateUserName,
- Tp_Pm_Inproductiontrash.PROCEDURETIME AS UpdateTime,
- Tp_Pm_Inproductiontrash.UpdateUserID,
- C.USERNAME as UpdateUserName
- FROM Tp_Pm_Inproductiontrash
- inner join TP_MST_User A on A.UserID = Tp_Pm_Inproductiontrash.Userid
- inner join TP_MST_User B on B.UserID = Tp_Pm_Inproductiontrash.CreateUserID
- inner join TP_MST_User C on C.UserID = Tp_Pm_Inproductiontrash.UpdateUserID
- inner join TP_PC_Procedure D on D.PROCEDUREID =
- Tp_Pm_Inproductiontrash.ProcedureID
- inner join TP_MST_GMouldType on TP_MST_GMouldType.GMouldTypeID =
- Tp_Pm_Inproductiontrash.GMouldTypeID
- inner join TP_PM_GroutingDaily on TP_PM_GroutingDaily.GroutingDailyID =
- Tp_Pm_Inproductiontrash.GroutingDailyID
- inner join TP_PM_GroutingDailyDetail on TP_PM_GroutingDailyDetail.Groutingdailydetailid =
- Tp_Pm_Inproductiontrash.GroutingDailyDetailID
- inner join TP_PC_GroutingLineDetail on TP_PC_GroutingLineDetail.Groutinglinedetailid =
- Tp_Pm_Inproductiontrash.GroutingLineDetailID
- inner join TP_MST_Account on TP_MST_Account.Accountid =
- Tp_Pm_Inproductiontrash.Accountid
- left join TP_PM_SCRAPPRODUCT on TP_PM_SCRAPPRODUCT.barcode=Tp_Pm_Inproductiontrash.barcode
- left join TP_MST_GoodsLevel on TP_MST_GoodsLevel.GoodsLevelID =
- TP_PM_SCRAPPRODUCT.GoodsLevelID
- left join TP_SYS_GoodsLevelType on TP_SYS_GoodsLevelType.GoodsLevelTypeID =
- TP_PM_SCRAPPRODUCT.GoodsLevelTypeID
-
- Where 1 = 1
- and Tp_Pm_Inproductiontrash.ValueFlag = 1
- and Tp_Pm_Inproductiontrash.AccountID = :AccountID";
- return selSql;
- }
- #endregion
- #region 清除在产临时表数据
- public static ServiceResultEntity GetPM2112Data(SUserInfo user, FPM2112_SE se)
- {
- IDBConnection conn = null;
- try
- {
- conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- List<OracleParameter> parameters = new List<OracleParameter>();
- StringBuilder sql = new StringBuilder(PMModuleLogic.GetPM2112SQL());
- parameters.Add(new OracleParameter(":AccountID", OracleDbType.Int32, user.AccountID, ParameterDirection.Input));
- if (se != null)
- {
- //生产线IDS
- if (!string.IsNullOrEmpty(se.ProductionLineIDS))
- {
- sql.Append(" AND instr(','||:ProductionLineIDS||',',','||Tp_Pm_Inproduction_Tmp.ProductionLineID||',')>0 ");
- parameters.Add(new OracleParameter(":ProductionLineIDS", OracleDbType.NVarchar2, se.ProductionLineIDS, ParameterDirection.Input));
- }
- //完成工序IDS
- if (!string.IsNullOrEmpty(se.ProcedureIDS))
- {
- sql.Append(" AND instr(','||:ProcedureIDS||',',','||Tp_Pm_Inproduction_Tmp.ProcedureID||',')>0 ");
- parameters.Add(new OracleParameter(":ProcedureIDS", OracleDbType.NVarchar2, se.ProcedureIDS, ParameterDirection.Input));
- }
- // 生产时间--开始
- if (se.UpdateTimeStart.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproduction_Tmp.Proceduretime >= :UpdateTimeStart ");
- parameters.Add(new OracleParameter(":UpdateTimeStart", OracleDbType.Date, se.UpdateTimeStart.Value, ParameterDirection.Input));
- }
- // 生产时间--结束
- if (se.UpdateTimeEnd.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproduction_Tmp.Proceduretime <= :UpdateTimeEnd ");
- parameters.Add(new OracleParameter(":UpdateTimeEnd", OracleDbType.Date, se.UpdateTimeEnd.Value, ParameterDirection.Input));
- }
- //产品条码
- if (!string.IsNullOrEmpty(se.Barcode))
- {
- sql.Append(" AND instr(Tp_Pm_Inproduction_Tmp.barcode,:barcode)>0 ");
- parameters.Add(new OracleParameter(":barcode", OracleDbType.NVarchar2, se.Barcode, ParameterDirection.Input));
- }
- if (se.TrashFlag == 1)
- {
- //报废日期开始
- if (se.ScrapDataStart.HasValue)
- {
- sql.Append(" AND TP_PM_SCRAPPRODUCT.SCRAPDATE >= trunc(:ScrapDateStart) ");
- parameters.Add(new OracleParameter(":ScrapDateStart", OracleDbType.Date, se.ScrapDataStart.Value, ParameterDirection.Input));
- }
- //报废日期结束
- if (se.ScrapDataEnd.HasValue)
- {
- sql.Append(" AND TP_PM_SCRAPPRODUCT.SCRAPDATE <= trunc(:ScrapDateEnd)");
- parameters.Add(new OracleParameter(":ScrapDateEnd", OracleDbType.Date, se.ScrapDataEnd.Value, ParameterDirection.Input));
- }
- }
- // 清除时间
- if (se.DeletedTimeStart.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproduction_Tmp.deletedtime >= :deletedtime ");
- parameters.Add(new OracleParameter(":deletedtime", OracleDbType.Date, se.DeletedTimeStart.Value, ParameterDirection.Input));
- }
- // 清除时间--结束
- if (se.DeletedTimeEnd.HasValue)
- {
- sql.Append(" AND Tp_Pm_Inproduction_Tmp.deletedtime <= :deletedtimeEnd ");
- parameters.Add(new OracleParameter(":deletedtimeEnd", OracleDbType.Date, se.DeletedTimeEnd.Value, ParameterDirection.Input));
- }
- if (se.GooddLevelTypeID != -100)
- {
- // 产品分级
- sql.Append(" AND TP_PM_SCRAPPRODUCT.GOODSLEVELTYPEID = :GooddLevelTypeID ");
- parameters.Add(new OracleParameter(":GooddLevelTypeID", OracleDbType.Int32, se.GooddLevelTypeID, ParameterDirection.Input));
- }
- else
- {
- // 产品分级
- //// sql.Append(" AND TP_PM_SCRAPPRODUCT.GOODSLEVELTYPEID is null ");
- }
- //数据来源
- sql.Append(" AND Tp_Pm_Inproduction_Tmp.TrashFlag = :TrashFlag ");
- parameters.Add(new OracleParameter(":TrashFlag", OracleDbType.Int32, se.TrashFlag, ParameterDirection.Input));
- }
- sql.Append(" order by Tp_Pm_Inproduction_Tmp.UpdateTime desc");
- DataTable data = conn.GetSqlResultToDt(sql.ToString(), parameters.ToArray());
- ServiceResultEntity sre = new ServiceResultEntity();
- if (data == null || data.Rows.Count == 0)
- {
- sre.Status = Constant.ServiceResultStatus.NoSearchResults;
- return sre;
- }
- sre.Data = new DataSet();
- sre.Data.Tables.Add(data);
- return sre;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn != null &&
- conn.ConnState == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- }
- /// <summary>
- /// 获取RPT010401画面(在产品明细表)的查询sql
- /// </summary>
- /// <returns>sql</returns>
- private static string GetPM2112SQL()
- {
- string selSql =
- @"SELECT 0 as Sel,
- TP_PM_SCRAPPRODUCT.SCRAPDATE,
- Tp_Pm_Inproduction_Tmp.BarCode,
- Tp_Pm_Inproduction_Tmp.GoodsID,
- Tp_Pm_Inproduction_Tmp.GoodsCode,
- Tp_Pm_Inproduction_Tmp.GoodsName,
- Tp_Pm_Inproduction_Tmp.Userid,
- A.USERNAME as UserName,
- A.USERCode as UserCode,
- Tp_Pm_Inproduction_Tmp.ProductionLineID,
- Tp_Pm_Inproduction_Tmp.ProductionLineCode,
- Tp_Pm_Inproduction_Tmp.ProductionLineName,
- Tp_Pm_Inproduction_Tmp.ModelType,
- --decode(Tp_Pm_Inproduction_Tmp.IsPublicBody, '1', '是', '否') as IsPublicBody,
- --decode(Tp_Pm_Inproduction_Tmp.IsReFire, '1', '是', '否') as IsReFire,
- Tp_Pm_Inproduction_Tmp.IsPublicBody,
- Tp_Pm_Inproduction_Tmp.IsReFire,
- decode(Tp_Pm_Inproduction_Tmp.CanManyTimes, '1', '能', '不能') as CanManyTimes,
- decode(Tp_Pm_Inproduction_Tmp.ProcedureModel,
- '1',
- '计件模型',
- '检验模型') as ProcedureModel,
- Tp_Pm_Inproduction_Tmp.GroutingDailyID,
- Tp_Pm_Inproduction_Tmp.GroutingDailyDetailID,
- Tp_Pm_Inproduction_Tmp.GroutingDate,
- Tp_Pm_Inproduction_Tmp.GroutingLineID,
- Tp_Pm_Inproduction_Tmp.GroutingLineCode,
- Tp_Pm_Inproduction_Tmp.GroutingLineName,
- Tp_Pm_Inproduction_Tmp.ProcedureID CompleteProcedureID,
- D.ProcedureName as CompleteProcedureName,
- Tp_Pm_Inproduction_Tmp.GMouldTypeID,
- TP_MST_GMouldType.GMOULDTYPENAME as GMouldTypeName,
- Tp_Pm_Inproduction_Tmp.GroutingLineDetailID,
- Tp_Pm_Inproduction_Tmp.GroutingMouldCode,
- Tp_Pm_Inproduction_Tmp.SPECIALREPAIRFLAG,
- Tp_Pm_Inproduction_Tmp.GROUTINGUSERCODE,
- TP_PM_GroutingDailyDetail.GROUTINGCOUNT,
- Tp_Pm_Inproduction_Tmp.Remarks,
- Tp_Pm_Inproduction_Tmp.GoodsLevelID,
- TP_MST_GoodsLevel.GOODSLEVELNAME,
- Tp_Pm_Inproduction_Tmp.GoodsLevelTypeID,
- TP_SYS_GoodsLevelType.GOODSLEVELTYPENAME,
- Tp_Pm_Inproduction_Tmp.AccountID,
- Tp_Pm_Inproduction_Tmp.ValueFlag,
- Tp_Pm_Inproduction_Tmp.CreateTime,
- Tp_Pm_Inproduction_Tmp.CreateUserID,
- B.USERNAME as CreateUserName,
- Tp_Pm_Inproduction_Tmp.PROCEDURETIME AS UpdateTime,
- Tp_Pm_Inproduction_Tmp.UpdateUserID,
- C.USERNAME as UpdateUserName
- FROM Tp_Pm_Inproduction_Tmp
- inner join TP_MST_User A on A.UserID = Tp_Pm_Inproduction_Tmp.Userid
- inner join TP_MST_User B on B.UserID = Tp_Pm_Inproduction_Tmp.CreateUserID
- inner join TP_MST_User C on C.UserID = Tp_Pm_Inproduction_Tmp.UpdateUserID
- inner join TP_PC_Procedure D on D.PROCEDUREID =
- Tp_Pm_Inproduction_Tmp.ProcedureID
- inner join TP_MST_GMouldType on TP_MST_GMouldType.GMouldTypeID =
- Tp_Pm_Inproduction_Tmp.GMouldTypeID
- inner join TP_PM_GroutingDaily on TP_PM_GroutingDaily.GroutingDailyID =
- Tp_Pm_Inproduction_Tmp.GroutingDailyID
- inner join TP_PM_GroutingDailyDetail on TP_PM_GroutingDailyDetail.Groutingdailydetailid =
- Tp_Pm_Inproduction_Tmp.GroutingDailyDetailID
- inner join TP_PC_GroutingLineDetail on TP_PC_GroutingLineDetail.Groutinglinedetailid =
- Tp_Pm_Inproduction_Tmp.GroutingLineDetailID
- inner join TP_MST_Account on TP_MST_Account.Accountid =
- Tp_Pm_Inproduction_Tmp.Accountid
- left join TP_MST_GoodsLevel on TP_MST_GoodsLevel.GoodsLevelID =
- Tp_Pm_Inproduction_Tmp.GoodsLevelID
- left join TP_SYS_GoodsLevelType on TP_SYS_GoodsLevelType.GoodsLevelTypeID =
- Tp_Pm_Inproduction_Tmp.GoodsLevelTypeID
- left join TP_PM_SCRAPPRODUCT on TP_PM_SCRAPPRODUCT.barcode=Tp_Pm_Inproduction_Tmp.barcode and TP_PM_SCRAPPRODUCT.AUDITSTATUS=1 and TP_PM_SCRAPPRODUCT.RECYCLINGFLAG='0' and TP_PM_SCRAPPRODUCT.GOODSLEVELTYPEID=8
- Where Tp_Pm_Inproduction_Tmp.AccountID = :AccountID";
- return selSql; //and Tp_Pm_Inproduction_Tmp.ValueFlag = 1
- }
- #endregion
- /// <summary>
- /// 工序是否有商标ID
- /// <param name="ProcedureID">工序ID</param>
- /// </summary>
- /// <returns>int</returns>
- public static int GetLogoID(int ProcedureID, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select LogoID from tp_pc_procedure where accountid=:accountid and ProcedureID=:ProcedureID";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":accountid",OracleDbType.Int32, sUserInfo.AccountID,ParameterDirection.Input),
- new OracleParameter(":ProcedureID",OracleDbType.Int32, ProcedureID,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- if (ds.Tables[0].Rows[0]["LogoID"] == DBNull.Value)
- {
- return 0;
- }
- else
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["LogoID"]);
- }
- }
- return 0;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取条码商标
- /// <param name="barcode">产品条码</param>
- /// </summary>
- /// <returns>int</returns>
- public static DataSet GetBarCodeLogoID(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- // 转换条码
- 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),
- };
- barcode = con.GetSqlResultToStr(sqlString, paras1);
- sqlString = @"select g.LogoID,l.logocode,l.logoname, g.glazetypeid, d.DICTIONARYVALUE glazetypename
- from tp_pm_groutingdailydetail g
- left join tp_mst_logo l
- on g.logoid=l.logoid
- left join TP_MST_DataDictionary d on d.DICTIONARYID = g.glazetypeid
- where g.barcode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- 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();
- }
- }
- }
- /// <summary>
- /// 半检时,入窑前检验获取此条码是否报损为废品
- /// <param name="barcode">产品条码</param>
- /// </summary>
- /// <returns>int</returns>
- public static int CheckWasteScrapProduct(string barcode)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select auditstatus from tp_pm_scrapproduct where auditstatus in(0,1) and valueflag=1 and goodsleveltypeid=3 and barcode=:barcode";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":barcode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["auditstatus"]);
- }
- return -100;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取盘点单明细
- /// </summary>
- /// <param name="procedureID">工序ID</param>
- /// <returns>DataSet</returns>
- public static DataSet GetUpdateInCheckedInfo(string incheckedno, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select tp_pm_inchecked.incheckedid from tp_pm_inchecked where tp_pm_inchecked.incheckedno=:incheckedno";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":incheckedno",OracleDbType.Varchar2, incheckedno,ParameterDirection.Input),
- };
- DataSet dsReturn = null;
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- int incheckedid = Convert.ToInt32(ds.Tables[0].Rows[0]["incheckedid"]);
- sqlString = @"SELECT to_char(checked.UserCheckedCount) || '/' ||
- to_char(checked.CheckedCount) CheckedCount
- ,to_char(checked.UserOverageCount) || '/' ||
- to_char(checked.OverageCount) OverageCount
- ,to_char(checked.UserCheckedCount + checked.UserOverageCount) || '/' ||
- to_char(checked.CheckedCount + checked.OverageCount) || '/' ||
- to_char(TCount) TCount
- FROM (SELECT icd.incheckedid
- , SUM(CASE
- WHEN icd.checkeduserid = :userid AND icd.InCheckedFlag = '1' THEN
- 1
- ELSE
- 0
- END) UserCheckedCount
- , SUM(CASE
- WHEN icd.checkeduserid = :userid AND icd.InCheckedFlag = '2' THEN
- 1
- ELSE
- 0
- END) UserOverageCount
- , SUM(CASE
- WHEN icd.InCheckedFlag = '1' THEN
- 1
- ELSE
- 0
- END) CheckedCount
- , SUM(CASE
- WHEN icd.InCheckedFlag = '2' THEN
- 1
- ELSE
- 0
- END) OverageCount
- ,COUNT(icd.incheckedid) TCount
- FROM tp_pm_incheckeddetail icd
- WHERE icd.incheckedid = :incheckedid
- AND icd.valueflag = '1') checked";
- paras = new OracleParameter[]{
- new OracleParameter(":incheckedid",OracleDbType.Int32, incheckedid,ParameterDirection.Input),
- new OracleParameter(":userid",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- };
- ds = con.GetSqlResultToDs(sqlString, paras);
- ds.Tables[0].TableName = "Table1";
- dsReturn = new DataSet();
- dsReturn.Tables.Add(ds.Tables[0].Copy());
- sqlString = @"
- SELECT icd.goodscode, COUNT(icd.goodscode) goodscount
- FROM tp_pm_incheckeddetail icd
- WHERE icd.incheckedid = :incheckedid
- AND icd.checkeduserid = :userid
- AND icd.InCheckedFlag = '1'
- AND icd.valueflag = '1'
- GROUP BY icd.goodscode";
- paras = new OracleParameter[]{
- new OracleParameter(":incheckedid",OracleDbType.Int32, incheckedid,ParameterDirection.Input),
- new OracleParameter(":userid",OracleDbType.Int32, sUserInfo.UserID,ParameterDirection.Input),
- };
- ds = con.GetSqlResultToDs(sqlString, paras);
- ds.Tables[0].TableName = "Table2";
- dsReturn.Tables.Add(ds.Tables[0].Copy());
-
- }
- return dsReturn;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- /// <summary>
- /// 获取半成品检验列表
- /// <param name="entity">实体类</param>
- /// </summary>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiCheck(SemiCheckEntity 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
- SemiCheck.SemiCheckID,
- CProcedure.ProcedureName as CProcedureName,
- SemiCheck.ProcedureTime,
- SemiCheck.UserCode,
- GoodsType2.GoodsTypeName as LevelGoodsTypeName,
- GoodsType.GoodsTypeName,
- Goods.GoodsCode,
- SemiCheck.BarCode,
- -- 复检后不显示半检状态
- SemiCheckType.SemiCheckTypeName,
- --decode(SemiCheck.ReSemiCheckType, 0, SemiCheckType.SemiCheckTypeName, '已复检') SemiCheckTypeName
- SemiCheck.SemiCheckUserCode,
- SemiCheck.SemiCheckTime,
- ReSemiCheckType.ReSemiCheckTypeName,
- SemiCheck.ReSemiCheckUserCode,
- SemiCheck.ReSemiCheckTime,
- decode(SemiCheck.BackOutFlag,'0','正常','撤销') as BackOutFlag,
- SemiCheck.BackOutUserCode,
- SemiCheck.BackOutTime,
- SemiCheck.GroutingUserCode,
- SemiCheck.GroutingDate,
- GroutingDailyDetail.DeliverTime,
- logo.logoName,
- RProcedure.ProcedureName as RProcedureName,
- SemiCheck.ReworkUserCode
- from TP_PM_SemiCheck SemiCheck
- left join TP_PC_Procedure CProcedure
- on SemiCheck.ProcedureID=CProcedure.ProcedureID
- left join TP_MST_Goods Goods
- on SemiCheck.GoodsID=Goods.GoodsID
- left join TP_MST_GoodsType GoodsType
- on Goods.GoodsTypeID=GoodsType.GoodsTypeID
- left join TP_MST_GoodsType GoodsType2
- on GoodsType2.accountid=GoodsType.accountid
- and GoodsType2.GoodsTypecode=substr(GoodsType.GoodsTypecode,1,6)
- left join TP_SYS_SemiCheckType SemiCheckType
- on SemiCheck.SemiCheckType=SemiCheckType.SemiCheckTypeID
- left join TP_SYS_ReSemiCheckType ReSemiCheckType
- on SemiCheck.ReSemiCheckType=ReSemiCheckType.ReSemiCheckTypeID
- left join TP_PM_GroutingDailyDetail GroutingDailyDetail
- on GroutingDailyDetail.GroutingDailyDetailID=SemiCheck.GroutingDailyDetailID
- left join TP_MST_Logo logo
- on GroutingDailyDetail.LogoID=logo.LogoID
- left join TP_PC_Procedure RProcedure
- on SemiCheck.ReworkProcedureID=RProcedure.ProcedureID
- where SemiCheck.AccountID=:AccountID
- ";
- // 完成工序
- if (!string.IsNullOrEmpty(entity.CProcedureIDS))
- {
- sqlString = sqlString + " AND instr(','||:CProcedureIDS||',',','||SemiCheck.ProcedureID||',')>0 ";
- parameters.Add(new OracleParameter(":CProcedureIDS", OracleDbType.NVarchar2, entity.CProcedureIDS, ParameterDirection.Input));
- }
- // 完成时间起始
- if (entity.CDateTimeStart.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.ProcedureTime >= :CDateTimeStart ";
- parameters.Add(new OracleParameter(":CDateTimeStart", OracleDbType.Date, entity.CDateTimeStart.Value, ParameterDirection.Input));
- }
- // 完成时间结束
- if (entity.CDateTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.ProcedureTime <= :CDateTimeEnd ";
- parameters.Add(new OracleParameter(":CDateTimeEnd", OracleDbType.Date, entity.CDateTimeStart.Value, ParameterDirection.Input));
- }
- // 完成工号
- if (!string.IsNullOrEmpty(entity.CUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.UserCode,:UserCode)>0";
- parameters.Add(new OracleParameter(":UserCode", OracleDbType.NVarchar2, entity.CUserCode, 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.GoodsCode))
- {
- sqlString = sqlString + " AND instr(Goods.GoodsCode,:GoodsCode)>0";
- parameters.Add(new OracleParameter(":GoodsCode", OracleDbType.NVarchar2, entity.GoodsCode, ParameterDirection.Input));
- }
- // 成型工号
- if (!string.IsNullOrEmpty(entity.GroutingUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.GroutingUserCode,:GroutingUserCode)>0";
- parameters.Add(new OracleParameter(":GroutingUserCode", OracleDbType.NVarchar2, entity.GroutingUserCode, ParameterDirection.Input));
- }
- // 注浆时间起始
- if (entity.GroutingDateTimeStart.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.GroutingDate >= :GroutingDateTimeStart ";
- parameters.Add(new OracleParameter(":GroutingDateTimeStart", OracleDbType.Date, entity.GroutingDateTimeStart.Value, ParameterDirection.Input));
- }
- // 注浆时间结束
- if (entity.GroutingDateTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.GroutingDate <= :GroutingDateTimeEnd ";
- parameters.Add(new OracleParameter(":GroutingDateTimeEnd", OracleDbType.Date, entity.GroutingDateTimeEnd.Value, ParameterDirection.Input));
- }
- // 交坯时间起始
- if (entity.DeliveryDateTimeStart.HasValue)
- {
- sqlString = sqlString + " AND GroutingDailyDetail.DeliverTime >= :DeliveryDateTimeStart ";
- parameters.Add(new OracleParameter(":DeliveryDateTimeStart", OracleDbType.Date, entity.DeliveryDateTimeStart.Value, ParameterDirection.Input));
- }
- // 交坯时间结束
- if (entity.DeliveryDateTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND GroutingDailyDetail.DeliverTime <= :DeliveryDateTimeEnd ";
- parameters.Add(new OracleParameter(":DeliveryDateTimeEnd", OracleDbType.Date, entity.DeliveryDateTimeEnd.Value, ParameterDirection.Input));
- }
- // 半检状态
- if (!string.IsNullOrEmpty(entity.SemiCheckType))
- {
- sqlString = sqlString + " AND instr(','||:SemiCheckType||',',','||SemiCheck.SemiCheckType||',')>0 ";
- parameters.Add(new OracleParameter(":SemiCheckType", OracleDbType.NVarchar2, entity.SemiCheckType, ParameterDirection.Input));
- }
- // 半检时间起始
- if (entity.SemiCheckDateTimeStart.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.SemiCheckTime >= :SemiCheckDateTimeStart ";
- parameters.Add(new OracleParameter(":SemiCheckDateTimeStart", OracleDbType.Date, entity.SemiCheckDateTimeStart.Value, ParameterDirection.Input));
- }
- // 半检时间结束
- if (entity.SemiCheckDateTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.SemiCheckTime <= :SemiCheckDateTimeEnd ";
- parameters.Add(new OracleParameter(":SemiCheckDateTimeEnd", OracleDbType.Date, entity.SemiCheckDateTimeEnd.Value, ParameterDirection.Input));
- }
- // 半检工号
- if (!string.IsNullOrEmpty(entity.SemiCheckUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.SemiCheckUserCode,:SemiCheckUserCode)>0";
- parameters.Add(new OracleParameter(":SemiCheckUserCode", OracleDbType.NVarchar2, entity.SemiCheckUserCode, ParameterDirection.Input));
- }
- // 返工工序
- if (!string.IsNullOrEmpty(entity.RProcedureIDS))
- {
- sqlString = sqlString + " AND instr(','||:RProcedureIDS||',',','||SemiCheck.ReworkProcedureID||',')>0 ";
- parameters.Add(new OracleParameter(":RProcedureIDS", OracleDbType.NVarchar2, entity.RProcedureIDS, ParameterDirection.Input));
- }
- // 返工工号
- if (!string.IsNullOrEmpty(entity.ReworkUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.ReworkUserCode,:ReworkUserCode)>0";
- parameters.Add(new OracleParameter(":ReworkUserCode", OracleDbType.NVarchar2, entity.ReworkUserCode, ParameterDirection.Input));
- }
- // 复检状态
- if (!string.IsNullOrEmpty(entity.ReSemiCheckType))
- {
- sqlString = sqlString + " AND instr(','||:ReSemiCheckType||',',','||SemiCheck.ReSemiCheckType||',')>0 ";
- parameters.Add(new OracleParameter(":ReSemiCheckType", OracleDbType.NVarchar2, entity.ReSemiCheckType, ParameterDirection.Input));
- }
- // 复检时间起始
- if (entity.ReSemiCheckDateTimeStart.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.ReSemiCheckTime >= :ReSemiCheckDateTimeStart ";
- parameters.Add(new OracleParameter(":ReSemiCheckDateTimeStart", OracleDbType.Date, entity.ReSemiCheckDateTimeStart.Value, ParameterDirection.Input));
- }
- // 复检时间结束
- if (entity.ReSemiCheckDateTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.ReSemiCheckTime <= :ReSemiCheckDateTimeEnd ";
- parameters.Add(new OracleParameter(":ReSemiCheckDateTimeEnd", OracleDbType.Date, entity.ReSemiCheckDateTimeEnd.Value, ParameterDirection.Input));
- }
- // 复检工号
- if (!string.IsNullOrEmpty(entity.ReSemiCheckUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.ReSemiCheckUserCode,:ReSemiCheckUserCode)>0";
- parameters.Add(new OracleParameter(":ReSemiCheckUserCode", OracleDbType.NVarchar2, entity.ReSemiCheckUserCode, ParameterDirection.Input));
- }
- // 撤销标识
- if (!string.IsNullOrEmpty(entity.BackOutFlag))
- {
- sqlString = sqlString + " AND instr(','||:BackOutFlag||',',','||SemiCheck.BackOutFlag||',')>0 ";
- parameters.Add(new OracleParameter(":BackOutFlag", OracleDbType.NVarchar2, entity.BackOutFlag, ParameterDirection.Input));
- }
- // 撤销时间起始
- if (entity.BackOutTimeStart.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.BackOutTime >= :BackOutTimeStart ";
- parameters.Add(new OracleParameter(":BackOutTimeStart", OracleDbType.Date, entity.BackOutTimeStart.Value, ParameterDirection.Input));
- }
- // 撤销时间结束
- if (entity.BackOutTimeEnd.HasValue)
- {
- sqlString = sqlString + " AND SemiCheck.BackOutTime <= :BackOutTimeEnd ";
- parameters.Add(new OracleParameter(":BackOutTimeEnd", OracleDbType.Date, entity.BackOutTimeEnd.Value, ParameterDirection.Input));
- }
- // 撤销工号
- if (!string.IsNullOrEmpty(entity.BackOutUserCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.BackOutUserCode,:BackOutUserCode)>0";
- parameters.Add(new OracleParameter(":BackOutUserCode", OracleDbType.NVarchar2, entity.BackOutUserCode, ParameterDirection.Input));
- }
- // 产品条码
- if (!string.IsNullOrEmpty(entity.BarCode))
- {
- sqlString = sqlString + " AND instr(SemiCheck.BarCode,:BarCode)>0";
- parameters.Add(new OracleParameter(":BarCode", OracleDbType.NVarchar2, entity.BarCode, 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();
- }
- }
- }
- /// <summary>
- /// 获取半成品检验缺陷列表
- /// <param name="semiCheckID">半成品检验ID</param>
- /// </summary>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiCheckDefect(int semiCheckID)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- List<OracleParameter> parameters = new List<OracleParameter>();
- parameters.Add(new OracleParameter(":semiCheckID", OracleDbType.Int32, semiCheckID, ParameterDirection.Input));
- string sqlString = @"select
- TP_PM_SemiCheckDefect.DefectCode,
- TP_PM_SemiCheckDefect.DefectName,
- TP_PM_SemiCheckDefect.DefectPositionCode,
- TP_PM_SemiCheckDefect.DefectPositionName,
- TP_PC_Procedure.ProcedureName,
- TP_PM_SemiCheckDefect.DefectUserCode
- from TP_PM_SemiCheckDefect
- left join TP_PC_Procedure
- on TP_PM_SemiCheckDefect.DefectProcedureID=TP_PC_Procedure.ProcedureID
- where TP_PM_SemiCheckDefect.semiCheckID=:semiCheckID
- ";
- 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();
- }
- }
- }
- /// <summary>
- /// 根据所选工号,查出缺陷责任员工
- /// </summary>
- /// <param name="userid">用户ID</param>
- /// <param name="sUserInfo">用户基本信息</param>
- /// <returns>DataSet</returns>
- public static DataSet GetSemiCheckDefectStaffByUserID(SUserInfo sUserInfo, int userid)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = @"select
- TP_HR_Staff.StaffID,TP_HR_Staff.StaffCode,TP_HR_Staff.StaffName,
- TP_HR_Staff.StaffStatus,TP_MST_UserStaff.UJobsID as SJobsID,
- TP_MST_UserStaff.Ujobsid
- from TP_MST_UserStaff
- left join TP_HR_Staff
- on TP_MST_UserStaff.Staffid=TP_HR_Staff.Staffid
- where TP_MST_UserStaff.Userid=:userid
- ";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":userid",OracleDbType.Int32, userid,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="barcode">产品条码</param>ram>
- /// <returns>int</returns>
- public static int GetRecyclingflagByBarcode(string barcode, SUserInfo sUserInfo)
- {
- IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
- try
- {
- con.Open();
- string sqlString = "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";
- OracleParameter[] paras = new OracleParameter[]{
- new OracleParameter(":BarCode",OracleDbType.Varchar2, barcode,ParameterDirection.Input),
- };
- DataSet ds = con.GetSqlResultToDs(sqlString, paras);
- if (ds != null && ds.Tables[0].Rows.Count > 0)
- {
- return Convert.ToInt32(ds.Tables[0].Rows[0]["recyclingflag"]);
- }
- return 0;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (con.ConnState == ConnectionState.Open)
- {
- con.Close();
- }
- }
- }
- }
- }
|