SystemModuleLogicPartial.cs 106 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042
  1. /*******************************************************************************
  2. * Copyright(c) 2014 DongkeSoft All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:SystemModuleLogic.cs
  5. * 2.功能描述:产品档案数据查询处理
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 张国印 2014/09/12 1.00 新建
  9. *******************************************************************************/
  10. using System;
  11. using System.Collections.Generic;
  12. using System.Data;
  13. using System.Linq;
  14. using System.Text;
  15. using Dongke.IBOSS.PRD.Basics.DataAccess;
  16. using Dongke.IBOSS.PRD.Service.DataModels;
  17. using Dongke.IBOSS.PRD.WCF.DataModels;
  18. using Oracle.ManagedDataAccess.Client;
  19. using static Dongke.IBOSS.PRD.Basics.BaseResources.Constant;
  20. namespace Dongke.IBOSS.PRD.Service.SystemModuleLogic
  21. {
  22. /// <summary>
  23. /// 产品档案数据查询处理
  24. /// </summary>
  25. public partial class SystemModuleLogic
  26. {
  27. #region 产品档案
  28. /// <summary>
  29. /// 查询产品信息
  30. /// </summary>
  31. /// <param name="sUserInfo">用户基本信息</param>
  32. /// <param name="goodsEntity">产品信息</param>
  33. /// <returns>DataSet</returns>
  34. /// <remarks>
  35. /// 陈冰 2014.09.01 新建
  36. /// </remarks>
  37. public static DataSet SerachGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity)
  38. {
  39. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  40. try
  41. {
  42. con.Open();
  43. if (!string.IsNullOrWhiteSpace(goodsEntity.GoodsCodeOnly))
  44. {
  45. string sql = "select goodsid from tp_mst_goods g where g.goodscode = :goodscode";
  46. OracleParameter[] paras1 = new OracleParameter[]{
  47. new OracleParameter(":goodscode",OracleDbType.Varchar2,
  48. goodsEntity.GoodsCodeOnly,ParameterDirection.Input),
  49. };
  50. return con.GetSqlResultToDs(sql, paras1);
  51. }
  52. OracleParameter[] paras = new OracleParameter[]{
  53. new OracleParameter("account",OracleDbType.Int32,
  54. sUserInfo.AccountID,ParameterDirection.Input),
  55. new OracleParameter("goodsID",OracleDbType.Int32,
  56. goodsEntity.GoodsID,ParameterDirection.Input),
  57. new OracleParameter("goodsCode",OracleDbType.NVarchar2,
  58. goodsEntity.GoodsCode,ParameterDirection.Input),
  59. new OracleParameter("goodsName",OracleDbType.NVarchar2,
  60. goodsEntity.GoodsName,ParameterDirection.Input),
  61. new OracleParameter("goodsSpecification",OracleDbType.NVarchar2,
  62. goodsEntity.GoodsSpecification,ParameterDirection.Input),
  63. new OracleParameter("goodsModel",OracleDbType.NVarchar2,
  64. goodsEntity.GoodsModel,ParameterDirection.Input),
  65. new OracleParameter("goodsTypeCode",OracleDbType.NVarchar2,
  66. goodsEntity.GoodsTypeCode,ParameterDirection.Input),
  67. new OracleParameter("glazeTypeID",OracleDbType.Int32,
  68. goodsEntity.GlazeTypeID,ParameterDirection.Input),
  69. new OracleParameter("ceaseFlag",OracleDbType.NVarchar2,
  70. goodsEntity.CeaseFlag,ParameterDirection.Input),
  71. new OracleParameter("remarks",OracleDbType.NVarchar2,
  72. goodsEntity.Remarks,ParameterDirection.Input),
  73. new OracleParameter("valueFlag",OracleDbType.NVarchar2,
  74. goodsEntity.ValueFlag,ParameterDirection.Input),
  75. new OracleParameter("planFlag",OracleDbType.NVarchar2,
  76. goodsEntity.PlanFlag,ParameterDirection.Input),
  77. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  78. new OracleParameter("rs_result_img",OracleDbType.RefCursor,ParameterDirection.Output),
  79. };
  80. foreach (OracleParameter item in paras)
  81. {
  82. if (item.Value + "" == "")
  83. {
  84. item.Value = DBNull.Value;
  85. }
  86. }
  87. DataSet ds = con.ExecStoredProcedure("PRO_MST_SerachGoods", paras);
  88. return ds;
  89. }
  90. catch (Exception ex)
  91. {
  92. throw ex;
  93. }
  94. finally
  95. {
  96. if (con.ConnState == ConnectionState.Open)
  97. {
  98. con.Close();
  99. }
  100. }
  101. }
  102. /// <summary>
  103. /// 新建产品档案
  104. /// </summary>
  105. /// <param name="sUserInfo">用户基本信息</param>
  106. /// <param name="goodsEntity">产品实体</param>
  107. /// <param name="imgList">产品图片集合</param>
  108. /// <param name="attList">缺陷位置ID集合</param>
  109. /// <returns>int受影响行数</returns>
  110. /// <remarks>
  111. /// 庄天威 2014.09.04 新建
  112. /// </remarks>
  113. public static int AddGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  114. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  115. {
  116. int returnRows;
  117. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  118. if (goodsEntity.MudQuantity == null)
  119. {
  120. goodsEntity.MudQuantity = 0;
  121. }
  122. if (goodsEntity.GlazeQuantity == null)
  123. {
  124. goodsEntity.GlazeQuantity = 0;
  125. }
  126. if (goodsEntity.Remarks == null)
  127. {
  128. goodsEntity.Remarks = "";
  129. }
  130. if (goodsEntity.GoodsSpecification == null)
  131. {
  132. goodsEntity.GoodsSpecification = "";
  133. }
  134. if (goodsEntity.GoodsModel == null)
  135. {
  136. goodsEntity.GoodsModel = "";
  137. }
  138. try
  139. {
  140. oracleTrConn.Connect();
  141. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  142. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  143. //string sqlString = "SELECT g.goodscode \n" +
  144. //" FROM tp_mst_goods g\n" +
  145. //" WHERE g.materialcode = :materialcode";
  146. //OracleParameter[] checkParas = new OracleParameter[]{
  147. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  148. //};
  149. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  150. //if (!string.IsNullOrWhiteSpace(goodscode))
  151. //{
  152. // return -10;
  153. //}
  154. // 物料编码重复验证 add by chenxy 2017-07-11 end
  155. //2021年11月18日09:28:072 by fy modify 产品档案增加防伪码绑定标识、防伪码验证标识
  156. StringBuilder sbSql = new StringBuilder();
  157. sbSql.Append("select SEQ_MST_Goods_GoodsID.nextval from dual");
  158. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  159. sbSql.Clear();
  160. sbSql.Append(" INSERT INTO TP_MST_GOODS");
  161. sbSql.Append("(GoodsID,GoodsCode,GoodsName,GoodsSpecification,GoodsModel,GoodsTypeID,");
  162. sbSql.Append("GlazeTypeID,MudWeight,GlazeWeight,LusterwareWeight,ProductionCycle,CeaseFlag,Goods_Line_Type,Goods_Line_Code,");
  163. sbSql.Append("StartingDate,AutoLossCycle,DeliverLimitCycle,PlateLimitNum,UnitPrice,ReservedDays,");
  164. sbSql.Append("PackageNum,OutletDistance,MaterialCode,MaterialRemark,printcopies,");
  165. sbSql.Append("MouldWeight,MouldCost,ScrapSumFlag,SEATCOVERCODE,");
  166. sbSql.Append("WaterLabelCode,StandardGroutingNum,MouldMaterialCode,MouldOutputCount,logoid,");
  167. sbSql.Append("Remarks,AccountID,ValueFlag,CreateUserID,UpdateUserID,MudStoreType,SecurityCodeBindFlag,SecurityCodeCheckFlag,PlanFlag)");
  168. sbSql.Append("VALUES( :GoodsId, :GoodsCode, :GoodsName, :GoodsSpecification, :GoodsModel, :GoodsTypeID,");
  169. sbSql.Append(" :GlazeTypeID, :MudWeight, :GlazeWeight,:LusterwareWeight, :ProductionCycle, :CeaseFlag,:Goods_Line_Type,:Goods_Line_Code,");
  170. sbSql.Append(" :StartingDate, :AutoLossCycle, :DeliverLimitCycle,:PlateLimitNum,:UnitPrice,:ReservedDays,");
  171. sbSql.Append(" :PackageNum, :OutletDistance, :MaterialCode,:MaterialRemark,:printcopies,");
  172. sbSql.Append(" :MouldWeight, :MouldCost,:ScrapSumFlag,:SEATCOVERCODE,");
  173. sbSql.Append(" :WaterLabelCode, :StandardGroutingNum, :MouldMaterialCode, :MouldOutputCount,:logoid,");
  174. sbSql.Append(" :Remarks, :AccountID, :ValueFlag, :CreateUserID, :UpdateUserID, :MudStoreType , :SecurityCodeBindFlag,:SecurityCodeCheckFlag,:PlanFlag)");
  175. OracleParameter[] paras = new OracleParameter[]{
  176. new OracleParameter(":GoodsId",id),
  177. new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  178. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  179. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  180. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  181. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  182. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  183. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  184. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  185. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  186. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  187. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  188. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  189. new OracleParameter(":Goods_Line_Code",goodsEntity.GoodsLineCode),
  190. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  191. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  192. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  193. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  194. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  195. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  196. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  197. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  198. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  199. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  200. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  201. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  202. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  203. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  204. new OracleParameter(":SEATCOVERCODE", goodsEntity.SeatCoverCode),
  205. new OracleParameter(":WaterLabelCode", goodsEntity.WaterLabelCode),
  206. new OracleParameter(":StandardGroutingNum", goodsEntity.StandardGroutingNum),
  207. new OracleParameter(":MouldMaterialCode", goodsEntity.MouldMaterialCode),
  208. new OracleParameter(":MouldOutputCount", goodsEntity.MouldOutputCount),
  209. new OracleParameter(":logoid", goodsEntity.LogoID),
  210. new OracleParameter(":Remarks",goodsEntity.Remarks),
  211. new OracleParameter(":AccountID",sUserInfo.AccountID),
  212. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  213. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  214. new OracleParameter(":CreateUserID",sUserInfo.UserID),
  215. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  216. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  217. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  218. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  219. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  220. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag)
  221. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  222. };
  223. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  224. //SAP物料信息
  225. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + id;
  226. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  227. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  228. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID, WaterLabelCode, PLATELIMITNUM)\n" +
  229. "values\n" +
  230. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID, :WaterLabelCode, :PlateLimitNum)";
  231. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  232. {
  233. string sapcode = item["MATERIALCODE"] + "";
  234. string sapremark = item["MATERIALREMARK"] + "";
  235. if (string.IsNullOrWhiteSpace(sapcode))
  236. {
  237. continue;
  238. }
  239. if (string.IsNullOrEmpty(sapremark))
  240. {
  241. sapremark = " ";
  242. }
  243. paras = new OracleParameter[]{
  244. new OracleParameter(":GOODSID",id),
  245. new OracleParameter(":LOGOID",item["LOGOID"]),
  246. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  247. new OracleParameter(":MATERIALCODE",sapcode),
  248. new OracleParameter(":MATERIALREMARK",sapremark),
  249. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  250. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  251. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  252. };
  253. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  254. }
  255. //此处添加图片信息
  256. foreach (GoodsImageEntity img in imgList)
  257. {
  258. int imgReturn = 0;
  259. sbSql.Clear();
  260. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  261. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  262. sbSql.Clear();
  263. sbSql.Append("Insert into TP_MST_GoodsImage");
  264. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  265. sbSql.Append("CreateUserID,UpdateUserID)");
  266. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  267. sbSql.Append(":CreateUserID,:UpdateUserID)");
  268. OracleParameter[] imgParas = new OracleParameter[] {
  269. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  270. new OracleParameter(":GoodsID",OracleDbType.Int32,id,ParameterDirection.Input),
  271. new OracleParameter(":Thumbnail",OracleDbType.Blob,img.Thumbnail,ParameterDirection.Input),
  272. new OracleParameter(":Image",OracleDbType.Blob,img.Image,ParameterDirection.Input),
  273. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  274. new OracleParameter(":ValueFlag",OracleDbType.Int32,img.ValueFlag,ParameterDirection.Input),
  275. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  276. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  277. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  278. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  279. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  280. };
  281. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  282. }
  283. //此处添加产品附件
  284. //int AttReturn = AddAttachment(oracleTrConn, attList, id, sUserInfo);
  285. //此处添加缺陷位置关联
  286. //int dpCount = SaveGoodsDefectPosition(oracleTrConn, dpList, id, sUserInfo);
  287. oracleTrConn.Commit();
  288. oracleTrConn.Disconnect();
  289. }
  290. catch (Exception ex)
  291. {
  292. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  293. {
  294. oracleTrConn.Rollback();
  295. oracleTrConn.Disconnect();
  296. }
  297. throw ex;
  298. }
  299. return returnRows;
  300. }
  301. /// <summary>
  302. /// 修改产品档案
  303. /// </summary>
  304. /// <param name="sUserInfo">用户基本信息</param>
  305. /// <param name="goodsEntity">产品实体</param>
  306. /// <param name="imgList">产品图片集合</param>
  307. /// <param name="attList">缺陷位置ID集合</param>
  308. /// <returns>int受影响行数</returns>
  309. /// <remarks>
  310. /// 庄天威 2014.09.04 新建
  311. /// </remarks>
  312. public static int updateGoods(SUserInfo sUserInfo, GoodsEntity goodsEntity
  313. , List<GoodsImageEntity> imgList, List<GoodsAttachmentEntity> attList)
  314. {
  315. int returnRows = 0;
  316. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  317. if (goodsEntity.MudQuantity == null)
  318. {
  319. goodsEntity.MudQuantity = 0;
  320. }
  321. if (goodsEntity.GlazeQuantity == null)
  322. {
  323. goodsEntity.GlazeQuantity = 0;
  324. }
  325. if (goodsEntity.Remarks == null)
  326. {
  327. goodsEntity.Remarks = "";
  328. }
  329. if (goodsEntity.GoodsSpecification == null)
  330. {
  331. goodsEntity.GoodsSpecification = "";
  332. }
  333. if (goodsEntity.GoodsModel == null)
  334. {
  335. goodsEntity.GoodsModel = "";
  336. }
  337. try
  338. {
  339. oracleTrConn.Connect();
  340. // 物料编码重复验证 add by chenxy 2017-07-11 begin
  341. // 有不同编码,同物料编码的情况 delete by chenxy 2017-11-10
  342. //string sqlString = "SELECT g.goodscode \n" +
  343. //" FROM tp_mst_goods g\n" +
  344. //" WHERE g.materialcode = :materialcode and g.goodsid <> :goodsid";
  345. //OracleParameter[] checkParas = new OracleParameter[]{
  346. // new OracleParameter(":materialcode",goodsEntity.MaterialCode),
  347. // new OracleParameter(":goodsid",goodsEntity.GoodsID),
  348. //};
  349. //string goodscode = oracleTrConn.GetSqlResultToStr(sqlString, checkParas);
  350. //if (!string.IsNullOrWhiteSpace(goodscode))
  351. //{
  352. // return -10;
  353. //}
  354. // 物料编码重复验证 add by chenxy 2017-07-11 end
  355. StringBuilder sbSql = new StringBuilder();
  356. sbSql.Append("update TP_MST_GOODS");
  357. //sbSql.Append(" set GoodsCode=:GoodsCode,GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  358. sbSql.Append(" set GoodsName=:GoodsName,GoodsSpecification=:GoodsSpecification,");
  359. sbSql.Append(" GoodsModel=:GoodsModel,GoodsTypeID=:GoodsTypeID,GlazeTypeID=:GlazeTypeID,MudWeight=:MudWeight,");
  360. sbSql.Append(" GlazeWeight=:GlazeWeight,LusterwareWeight=:LusterwareWeight,ProductionCycle=:ProductionCycle,CeaseFlag=:CeaseFlag,Goods_Line_Type=:Goods_Line_Type,Goods_Line_CODE=:Goods_Line_CODE,Remarks=:Remarks,");
  361. sbSql.Append(" StartingDate=:StartingDate, AutoLossCycle = :AutoLossCycle, DeliverLimitCycle=:DeliverLimitCycle, PlateLimitNum=:PlateLimitNum,");
  362. sbSql.Append(" UnitPrice=:UnitPrice,PackageNum=:PackageNum,OutletDistance=:OutletDistance,MaterialCode=:MaterialCode,MaterialRemark=:MaterialRemark,printcopies=:printcopies,");
  363. sbSql.Append(" MouldWeight=:MouldWeight, MouldCost=:MouldCost,ScrapSumFlag=:ScrapSumFlag, ReservedDays=:ReservedDays,SEATCOVERCODE=:SEATCOVERCODE,");
  364. sbSql.Append(" WaterLabelCode=:WaterLabelCode, StandardGroutingNum=:StandardGroutingNum,MouldMaterialCode=:MouldMaterialCode, MouldOutputCount=:MouldOutputCount,");
  365. sbSql.Append(" AccountID=:AccountID,ValueFlag=:ValueFlag,UpdateUserID=:UpdateUserID,logoid=:logoid,");
  366. sbSql.Append(" MudStoreType=:MudStoreType,");
  367. sbSql.Append(" SecurityCodeBindFlag=:SecurityCodeBindFlag,");
  368. sbSql.Append(" SecurityCodeCheckFlag=:SecurityCodeCheckFlag,");
  369. sbSql.Append(" PlanFlag=:PlanFlag");
  370. //sbSql.Append(" CreateTime=:CreateTime,CreateUserID=:CreateUserID ");
  371. sbSql.Append(" where GoodsID=:GoodsID and OPTimeStamp=:OPTimeStamp");
  372. OracleParameter[] paras = new OracleParameter[]{
  373. // new OracleParameter(":GoodsCode",goodsEntity.GoodsCode),
  374. new OracleParameter(":GoodsName",goodsEntity.GoodsName),
  375. new OracleParameter(":GoodsSpecification",goodsEntity.GoodsSpecification),
  376. new OracleParameter(":GoodsModel",goodsEntity.GoodsModel),
  377. new OracleParameter(":GoodsTypeID",goodsEntity.GoodsTypeID),
  378. new OracleParameter(":GlazeTypeID",goodsEntity.GlazeTypeID),
  379. new OracleParameter(":MudWeight",goodsEntity.MudQuantity),
  380. new OracleParameter(":GlazeWeight",goodsEntity.GlazeQuantity),
  381. new OracleParameter(":LusterwareWeight",goodsEntity.LusterwareWeight),
  382. new OracleParameter(":ProductionCycle",goodsEntity.ProductionCycle),
  383. new OracleParameter(":CeaseFlag",goodsEntity.CeaseFlag),
  384. new OracleParameter(":Goods_Line_Type",goodsEntity.GoodsLineType),
  385. new OracleParameter(":Goods_Line_CODE",goodsEntity.GoodsLineCode),
  386. new OracleParameter(":StartingDate",goodsEntity.StartingDate),
  387. new OracleParameter(":AutoLossCycle",goodsEntity.AutoLossCycle),
  388. new OracleParameter(":DeliverLimitCycle",goodsEntity.DeliverLimitCycle),
  389. new OracleParameter(":PlateLimitNum",goodsEntity.PlateLimitNum),
  390. new OracleParameter(":ReservedDays",goodsEntity.ReservedDays),
  391. new OracleParameter(":UnitPrice",goodsEntity.UnitPrice),
  392. new OracleParameter(":PackageNum",goodsEntity.PackageNum),
  393. new OracleParameter(":OutletDistance",goodsEntity.OutletDistance),
  394. new OracleParameter(":MaterialCode",goodsEntity.MaterialCode),
  395. new OracleParameter(":MouldWeight",goodsEntity.MouldWeight),
  396. new OracleParameter(":MouldCost",goodsEntity.MouldCost),
  397. new OracleParameter(":ScrapSumFlag",goodsEntity.ScrapSumFlag),
  398. new OracleParameter(":MaterialRemark",goodsEntity.MaterialRemark),
  399. new OracleParameter(":printcopies",goodsEntity.PrintCopies),
  400. new OracleParameter(":Remarks",goodsEntity.Remarks),
  401. new OracleParameter(":SEATCOVERCODE",goodsEntity.SeatCoverCode),
  402. new OracleParameter(":WaterLabelCode",goodsEntity.WaterLabelCode),
  403. new OracleParameter(":StandardGroutingNum",goodsEntity.StandardGroutingNum),
  404. new OracleParameter(":MouldMaterialCode",goodsEntity.MouldMaterialCode),
  405. new OracleParameter(":MouldOutputCount",goodsEntity.MouldOutputCount),
  406. new OracleParameter(":logoid", goodsEntity.LogoID),
  407. new OracleParameter(":AccountID",goodsEntity.AccountID),
  408. new OracleParameter(":ValueFlag",goodsEntity.ValueFlag),
  409. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  410. new OracleParameter(":UpdateUserID",sUserInfo.UserID),
  411. //new OracleParameter(":CreateTime",OracleDbType.Date,goodsEntity.CreateTime,ParameterDirection.Input),
  412. //new OracleParameter(":CreateUserID",goodsEntity.CreateUserID),
  413. new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,goodsEntity.OPTimeStamp,ParameterDirection.Input),
  414. new OracleParameter(":MudStoreType",goodsEntity.MudStoreType),
  415. new OracleParameter(":SecurityCodeBindFlag",goodsEntity.SecurityCodeBindFlag),
  416. new OracleParameter(":SecurityCodeCheckFlag",goodsEntity.SecurityCodeCheckFlag),
  417. new OracleParameter(":PlanFlag",goodsEntity.PlanFlag),
  418. new OracleParameter(":GoodsId",goodsEntity.GoodsID)
  419. };
  420. returnRows = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), paras);
  421. if (returnRows == 0)
  422. {
  423. oracleTrConn.Rollback();
  424. oracleTrConn.Disconnect();
  425. return -500;
  426. }
  427. //SAP物料信息
  428. string sql = "delete from TP_MST_GoodsLogoSAP where goodsid = " + goodsEntity.GoodsID;
  429. returnRows += oracleTrConn.ExecuteNonQuery(sql);
  430. sql = "insert into TP_MST_GOODSLOGOSAP\n" +
  431. " (GOODSID, LOGOID, GOODSCODE, MATERIALCODE, MATERIALREMARK, CREATEUSERID,WaterLabelCode,PLATELIMITNUM)\n" +
  432. "values\n" +
  433. " (:GOODSID, :LOGOID, :GOODSCODE, :MATERIALCODE, :MATERIALREMARK, :CREATEUSERID,:WaterLabelCode,:PlateLimitNum)";
  434. foreach (DataRow item in goodsEntity.SAPInfo.Rows)
  435. {
  436. string sapcode = item["MATERIALCODE"] + "";
  437. string sapremark = item["MATERIALREMARK"] + "";
  438. if (string.IsNullOrWhiteSpace(sapcode))
  439. {
  440. continue;
  441. }
  442. if (string.IsNullOrEmpty(sapremark))
  443. {
  444. sapremark = " ";
  445. }
  446. paras = new OracleParameter[]{
  447. new OracleParameter(":GOODSID",goodsEntity.GoodsID),
  448. new OracleParameter(":LOGOID",item["LOGOID"]),
  449. new OracleParameter(":GOODSCODE",goodsEntity.GoodsCode),
  450. new OracleParameter(":MATERIALCODE",sapcode),
  451. new OracleParameter(":MATERIALREMARK",sapremark),
  452. new OracleParameter(":CREATEUSERID",sUserInfo.UserID),
  453. new OracleParameter(":WaterLabelCode",item["WaterLabelCode"]),
  454. new OracleParameter(":PlateLimitNum",item["PlateLimitNum"]),
  455. };
  456. returnRows += oracleTrConn.ExecuteNonQuery(sql, paras);
  457. }
  458. foreach (GoodsImageEntity imgEntity in imgList)
  459. {
  460. if (imgEntity.GoodsImageID == 0)
  461. {
  462. int imgReturn = 0;
  463. sbSql.Clear();
  464. sbSql.Append("select SEQ_MST_GoodsImage_ID.nextval from dual");
  465. int imgId = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  466. sbSql.Clear();
  467. sbSql.Append("Insert into TP_MST_GoodsImage");
  468. sbSql.Append("(GoodsImageID,GoodsID,Thumbnail,Image,AccountID,ValueFlag,");
  469. sbSql.Append("CreateUserID,UpdateUserID)");
  470. sbSql.Append(" VALUES(:GoodsImageID,:GoodsID,:Thumbnail,:Image,:AccountID,:ValueFlag,");
  471. sbSql.Append(":CreateUserID,:UpdateUserID)");
  472. OracleParameter[] imgParas = new OracleParameter[] {
  473. new OracleParameter(":GoodsImageID",OracleDbType.Int32,imgId,ParameterDirection.Input),
  474. new OracleParameter(":GoodsID",OracleDbType.Int32,goodsEntity.GoodsID,ParameterDirection.Input),
  475. new OracleParameter(":Thumbnail",OracleDbType.Blob,imgEntity.Thumbnail,ParameterDirection.Input),
  476. new OracleParameter(":Image",OracleDbType.Blob,imgEntity.Image,ParameterDirection.Input),
  477. new OracleParameter(":AccountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  478. new OracleParameter(":ValueFlag",OracleDbType.Int32,imgEntity.ValueFlag,ParameterDirection.Input),
  479. //new OracleParameter(":CreateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  480. new OracleParameter(":CreateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  481. //new OracleParameter(":UpdateTime",OracleDbType.Date,DateTime.Now,ParameterDirection.Input),
  482. new OracleParameter(":UpdateUserID",OracleDbType.Int32,sUserInfo.UserID,ParameterDirection.Input),
  483. //new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,DateTime.Now,ParameterDirection.Input)
  484. };
  485. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  486. }
  487. else
  488. {
  489. int imgReturn = 0;
  490. sbSql.Clear();
  491. sbSql.Append(" update TP_MST_GoodsImage");
  492. sbSql.Append(" set GoodsID=:GoodsID,AccountID=:AccountID,ValueFlag=:ValueFlag,");
  493. sbSql.Append(" UpdateUserID=:UpdateUserID");
  494. //sbSql.Append(" where GoodsImageID=:GoodsImageID And OPTimeStamp=to_date(:OPTimeStamp,'yyyy-mm-dd HH24:mi:ss')");
  495. sbSql.Append(" where GoodsImageID=:GoodsImageID");
  496. OracleParameter[] imgParas = new OracleParameter[] {
  497. new OracleParameter(":GoodsID",OracleDbType.Int32,
  498. goodsEntity.GoodsID,ParameterDirection.Input),
  499. new OracleParameter(":AccountID",OracleDbType.Int32,
  500. imgEntity.AccountID,ParameterDirection.Input),
  501. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  502. imgEntity.ValueFlag,ParameterDirection.Input),
  503. //new OracleParameter(":UpdateTime",OracleDbType.NVarchar2,
  504. // DateTime.Now.ToString(),ParameterDirection.Input),
  505. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  506. sUserInfo.UserID,ParameterDirection.Input),
  507. new OracleParameter(":GoodsImageID",OracleDbType.Int32,
  508. imgEntity.GoodsImageID,ParameterDirection.Input)
  509. //,new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp, imgEntity.OPTimeStamp,ParameterDirection.Input)
  510. };
  511. imgReturn = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), imgParas);
  512. }
  513. }
  514. //修改产品附件
  515. //int AttReturn = UpdateAttachment(oracleTrConn, attList, Convert.ToInt32(goodsEntity.GoodsID), sUserInfo);
  516. oracleTrConn.Commit();
  517. oracleTrConn.Disconnect();
  518. }
  519. catch (Exception ex)
  520. {
  521. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  522. {
  523. oracleTrConn.Rollback();
  524. oracleTrConn.Disconnect();
  525. }
  526. throw ex;
  527. }
  528. return returnRows;
  529. }
  530. /// <summary>
  531. /// 查询产品物料信息
  532. /// </summary>
  533. /// <param name="sUserInfo"></param>
  534. /// <param name="goodsID"></param>
  535. /// <returns></returns>
  536. public static ServiceResultEntity GetGoodsSAP(SUserInfo sUserInfo, int goodsID)
  537. {
  538. IDBConnection conn = null;
  539. try
  540. {
  541. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  542. string sqlString = @"
  543. select gl.LOGONAME , g.materialcode, g.materialremark,g.WaterLabelCode, '1' valueflag, -1 displayno, g.platelimitnum
  544. from tp_mst_goods g
  545. LEFT JOIN TP_MST_GOODSLOGO gl on gl.GOODSCODE=g.GOODSCODE
  546. where g.goodsid = :goodsid
  547. union all
  548. select to_char(l.logoname)
  549. ,gls.materialcode
  550. ,gls.materialremark
  551. ,gls.WaterLabelCode
  552. ,l.valueflag
  553. ,l.displayno
  554. ,gls.platelimitnum
  555. from tp_mst_goodslogosap gls
  556. inner join tp_mst_logo l on l.logoid = gls.logoid
  557. where gls.goodsid = :goodsid
  558. order by valueflag desc, displayno";
  559. OracleParameter[] paras = new OracleParameter[]{
  560. new OracleParameter(":goodsid",goodsID),
  561. };
  562. ServiceResultEntity sre = new ServiceResultEntity();
  563. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  564. return sre;
  565. }
  566. catch (Exception ex)
  567. {
  568. throw ex;
  569. }
  570. finally
  571. {
  572. if (conn != null &&
  573. conn.ConnState == ConnectionState.Open)
  574. {
  575. conn.Close();
  576. }
  577. }
  578. }
  579. /// <summary>
  580. /// 查询产品物料信息(编辑用)
  581. /// </summary>
  582. /// <param name="sUserInfo"></param>
  583. /// <param name="goodsID"></param>
  584. /// <returns></returns>
  585. public static ServiceResultEntity GetGoodsSAPByEdit(SUserInfo sUserInfo, int goodsID)
  586. {
  587. IDBConnection conn = null;
  588. try
  589. {
  590. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  591. string sqlString = "select l.logoid\n" +
  592. " ,l.logoname\n" +
  593. " ,gls.materialcode\n" +
  594. " ,gls.materialremark\n" +
  595. " ,gls.WaterLabelCode\n" +
  596. " ,gls.goodsid\n" +
  597. " ,l.valueflag\n" +
  598. " ,gls.platelimitnum\n" +
  599. " from tp_mst_logo l\n" +
  600. " left join tp_mst_goodslogosap gls\n" +
  601. " on gls.goodsid = :goodsid\n" +
  602. " and l.logoid = gls.logoid\n" +
  603. " where (l.valueflag = '1' or gls.goodsid is not null)\n" +
  604. " order by gls.goodsid, l.valueflag desc, l.displayno";
  605. OracleParameter[] paras = new OracleParameter[]{
  606. new OracleParameter(":goodsid",goodsID),
  607. };
  608. ServiceResultEntity sre = new ServiceResultEntity();
  609. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  610. return sre;
  611. }
  612. catch (Exception ex)
  613. {
  614. throw ex;
  615. }
  616. finally
  617. {
  618. if (conn != null &&
  619. conn.ConnState == ConnectionState.Open)
  620. {
  621. conn.Close();
  622. }
  623. }
  624. }
  625. #endregion
  626. #region 获得生产工号集合
  627. /// <summary>
  628. /// 获得生产工号集合
  629. /// </summary>
  630. /// <param name="sUserInfo">用户基本信息</param>
  631. /// <returns>DataSet</returns>
  632. /// <remarks>
  633. /// 陈冰 2014.09.03 新建
  634. /// </remarks>
  635. public static DataSet GetWorker(SUserInfo sUserInfo)
  636. {
  637. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  638. try
  639. {
  640. con.Open();
  641. OracleParameter[] paras = new OracleParameter[]{
  642. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  643. new OracleParameter("rs_worker",OracleDbType.RefCursor,ParameterDirection.Output),
  644. };
  645. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetWorker", paras);
  646. return ds;
  647. }
  648. catch (Exception ex)
  649. {
  650. throw ex;
  651. }
  652. finally
  653. {
  654. if (con.ConnState == ConnectionState.Open)
  655. {
  656. con.Close();
  657. }
  658. }
  659. }
  660. #endregion
  661. #region 获得工种集合
  662. /// <summary>
  663. /// 获得工种集合
  664. /// </summary>
  665. /// <param name="sUserInfo">用户基本信息</param>
  666. /// <returns>DataSet</returns>
  667. /// <remarks>
  668. /// 陈冰 2014.09.03 新建
  669. /// </remarks>
  670. public static DataSet GetJobs(SUserInfo sUserInfo)
  671. {
  672. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  673. try
  674. {
  675. con.Open();
  676. OracleParameter[] paras = new OracleParameter[]{
  677. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  678. new OracleParameter("rs_jobs",OracleDbType.RefCursor,ParameterDirection.Output),
  679. };
  680. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetJobs", paras);
  681. return ds;
  682. }
  683. catch (Exception ex)
  684. {
  685. throw ex;
  686. }
  687. finally
  688. {
  689. if (con.ConnState == ConnectionState.Open)
  690. {
  691. con.Close();
  692. }
  693. }
  694. }
  695. #endregion
  696. #region 获得缺陷集合
  697. /// <summary>
  698. /// 获得缺陷集合
  699. /// </summary>
  700. /// <param name="sUserInfo">用户基本信息</param>
  701. /// <returns>DataSet</returns>
  702. /// <remarks>
  703. /// 陈冰 2014.09.03 新建
  704. /// </remarks>
  705. public static DataSet GetDefect(SUserInfo sUserInfo)
  706. {
  707. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  708. try
  709. {
  710. con.Open();
  711. OracleParameter[] paras = new OracleParameter[]{
  712. new OracleParameter("accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  713. new OracleParameter("rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  714. };
  715. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetDefect", paras);
  716. return ds;
  717. }
  718. catch (Exception ex)
  719. {
  720. throw ex;
  721. }
  722. finally
  723. {
  724. if (con.ConnState == ConnectionState.Open)
  725. {
  726. con.Close();
  727. }
  728. }
  729. }
  730. #endregion
  731. #region 产品图片
  732. /// <summary>
  733. /// 根据产品ID获取产品图片
  734. /// </summary>
  735. /// <param name="sUserInfo">用户基本信息</param>
  736. /// <param name="goodsId">产品ID</param>
  737. /// <returns>DataSet</returns>
  738. /// <remarks>
  739. /// 庄天威 2014.09.04 新建
  740. /// </remarks>
  741. public static DataSet GetImageByGoodsId(SUserInfo sUserInfo, int goodsId)
  742. {
  743. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  744. try
  745. {
  746. con.Open();
  747. OracleParameter[] paras = new OracleParameter[]{
  748. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  749. new OracleParameter("in_goodsID",OracleDbType.Int32,goodsId,ParameterDirection.Input),
  750. new OracleParameter("rs_result",OracleDbType.RefCursor,ParameterDirection.Output),
  751. };
  752. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetImageByGoodsId", paras);
  753. return ds;
  754. }
  755. catch (Exception ex)
  756. {
  757. throw ex;
  758. }
  759. finally
  760. {
  761. if (con.ConnState == ConnectionState.Open)
  762. {
  763. con.Close();
  764. }
  765. }
  766. }
  767. #endregion
  768. #region 附件
  769. /// <summary>
  770. /// 新建附件信息
  771. /// </summary>
  772. /// <param name="AttList">附件实体集合</param>
  773. /// <param name="mainId">产品ID</param>
  774. /// <param name="userInfo">用户基本信息</param>
  775. /// <returns>int影响结果行数</returns>
  776. public static int AddAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  777. {
  778. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  779. try
  780. {
  781. oracleTrConn.Connect();
  782. int AttReturn = 0;
  783. int GAReturn = 0;
  784. StringBuilder sbSql = new StringBuilder();
  785. foreach (GoodsAttachmentEntity attFor in AttList)
  786. {
  787. sbSql.Clear();
  788. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  789. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  790. sbSql.Clear();
  791. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  792. CreateUserID,UpdateUserID)
  793. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  794. :CreateUserID,:UpdateUserID)");
  795. OracleParameter[] attParas = new OracleParameter[] {
  796. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  797. id,ParameterDirection.Input),
  798. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  799. attFor.FileName,ParameterDirection.Input),
  800. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  801. attFor.FilePath,ParameterDirection.Input),
  802. new OracleParameter(":AccountID",OracleDbType.Int32,
  803. userInfo.AccountID,ParameterDirection.Input),
  804. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  805. 1,ParameterDirection.Input),
  806. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  807. userInfo.UserID,ParameterDirection.Input),
  808. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  809. userInfo.UserID,ParameterDirection.Input)
  810. };
  811. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  812. sbSql.Clear();
  813. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  814. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  815. OracleParameter[] gaParas = new OracleParameter[] {
  816. new OracleParameter(":GoodsID",OracleDbType.Int32,
  817. mainId,ParameterDirection.Input),
  818. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  819. id,ParameterDirection.Input),
  820. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  821. userInfo.UserID,ParameterDirection.Input),
  822. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  823. userInfo.UserID,ParameterDirection.Input)
  824. };
  825. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  826. sbSql.Clear();
  827. }
  828. oracleTrConn.Commit();
  829. oracleTrConn.Disconnect();
  830. return AttReturn;
  831. }
  832. catch (Exception ex)
  833. {
  834. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  835. {
  836. oracleTrConn.Rollback();
  837. oracleTrConn.Disconnect();
  838. }
  839. throw ex;
  840. }
  841. }
  842. /// <summary>
  843. /// 修改附件信息
  844. /// </summary>
  845. /// <param name="AttList">附件实体集合</param>
  846. /// <param name="mainId">产品ID</param>
  847. /// <param name="userInfo">用户基本信息</param>
  848. /// <returns>int受影响行数</returns>
  849. public static int UpdateAttachment(List<GoodsAttachmentEntity> AttList, int mainId, SUserInfo userInfo)
  850. {
  851. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  852. try
  853. {
  854. oracleTrConn.Connect();
  855. int AttReturn = 0;
  856. int GAReturn = 0;
  857. StringBuilder sbSql = new StringBuilder();
  858. foreach (GoodsAttachmentEntity attFor in AttList)
  859. {
  860. if (attFor.IsUpdateAdd == 0) //不是新建的
  861. {
  862. sbSql.Clear();
  863. sbSql.Append(@"Update TP_MST_Attachment set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  864. Where AttachmentID = :AttachmentID");
  865. OracleParameter[] attParas = new OracleParameter[] {
  866. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  867. attFor.ValueFlag,ParameterDirection.Input),
  868. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  869. userInfo.UserID,ParameterDirection.Input),
  870. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  871. attFor.AttachmentID,ParameterDirection.Input)
  872. };
  873. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  874. sbSql.Clear();
  875. sbSql.Append(@"Update TP_MST_GoodsAttachment
  876. Set ValueFlag = :ValueFlag,UpdateUserID=:UpdateUserID
  877. Where AttachmentID = :AttachmentID");
  878. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  879. sbSql.Clear();
  880. }
  881. else //新建的
  882. {
  883. sbSql.Clear();
  884. sbSql.Append("select SEQ_MST_Attachment_ID.nextval from dual");
  885. int id = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));
  886. sbSql.Clear();
  887. sbSql.Append(@"Insert into TP_MST_Attachment(AttachmentID,FileName,FilePath,AccountID,ValueFlag,
  888. CreateUserID,UpdateUserID)
  889. Values(:AttachmentID,:FileName,:FilePath,:AccountID,:ValueFlag,
  890. :CreateUserID,:UpdateUserID)");
  891. OracleParameter[] attParas = new OracleParameter[] {
  892. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  893. id,ParameterDirection.Input),
  894. new OracleParameter(":FileName",OracleDbType.NVarchar2,
  895. attFor.FileName,ParameterDirection.Input),
  896. new OracleParameter(":FilePath",OracleDbType.NVarchar2,
  897. attFor.FilePath,ParameterDirection.Input),
  898. new OracleParameter(":AccountID",OracleDbType.Int32,
  899. userInfo.AccountID,ParameterDirection.Input),
  900. new OracleParameter(":ValueFlag",OracleDbType.Int32,
  901. 1,ParameterDirection.Input),
  902. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  903. userInfo.UserID,ParameterDirection.Input),
  904. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  905. userInfo.UserID,ParameterDirection.Input)
  906. };
  907. AttReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), attParas);
  908. sbSql.Clear();
  909. sbSql.Append(@"Insert into TP_MST_GoodsAttachment(GoodsID,AttachmentID,CreateUserID,UpdateUserID)
  910. Values(:GoodsID,:AttachmentID,:CreateUserID,:UpdateUserID)");
  911. OracleParameter[] gaParas = new OracleParameter[] {
  912. new OracleParameter(":GoodsID",OracleDbType.Int32,
  913. mainId,ParameterDirection.Input),
  914. new OracleParameter(":AttachmentID",OracleDbType.Int32,
  915. id,ParameterDirection.Input),
  916. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  917. userInfo.UserID,ParameterDirection.Input),
  918. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  919. userInfo.UserID,ParameterDirection.Input)
  920. };
  921. GAReturn += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), gaParas);
  922. sbSql.Clear();
  923. }
  924. }
  925. oracleTrConn.Commit();
  926. oracleTrConn.Disconnect();
  927. return AttReturn;
  928. }
  929. catch (Exception ex)
  930. {
  931. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  932. {
  933. oracleTrConn.Rollback();
  934. oracleTrConn.Disconnect();
  935. }
  936. throw ex;
  937. }
  938. }
  939. /// <summary>
  940. /// 根据产品ID获取附件
  941. /// </summary>
  942. /// <param name="goodsId">产品ID</param>
  943. /// <returns>DataSet</returns>
  944. public static DataSet GetAttachmentByGoodsId(int goodsId)
  945. {
  946. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  947. try
  948. {
  949. con.Open();
  950. String strSql = @"Select goodsAtt.GoodsID,att.* from TP_MST_GoodsAttachment goodsAtt
  951. Inner join TP_MST_Attachment att
  952. On goodsAtt.AttachmentID = att.AttachmentID
  953. Where goodsAtt.ValueFlag = 1 and goodsAtt.GoodsID = " + goodsId;
  954. DataSet ds = con.GetSqlResultToDs(strSql, null);
  955. return ds;
  956. }
  957. catch (Exception ex)
  958. {
  959. throw ex;
  960. }
  961. finally
  962. {
  963. if (con.ConnState == ConnectionState.Open)
  964. {
  965. con.Close();
  966. }
  967. }
  968. }
  969. #endregion
  970. #region 缺陷位置
  971. /// <summary>
  972. /// 获取缺陷位置
  973. /// </summary>
  974. /// <param name="dpEntity">缺陷位置实体</param>
  975. /// <param name="userInfo">用户基本信息</param>
  976. /// <returns>DataSet</returns>
  977. public static DataSet GetDefectPosition(DefectPositionEntity dpEntity, SUserInfo userInfo)
  978. {
  979. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  980. try
  981. {
  982. con.Open();
  983. OracleParameter[] paras = new OracleParameter[]{
  984. new OracleParameter("in_DefectPositionID",OracleDbType.Int32,
  985. dpEntity.DefectPositionID,ParameterDirection.Input),
  986. new OracleParameter("in_DefectPositionCode",OracleDbType.NVarchar2,
  987. dpEntity.DefectPositionCode,ParameterDirection.Input),
  988. new OracleParameter("in_DefectPositionName",OracleDbType.NVarchar2,
  989. dpEntity.DefectPositionName,ParameterDirection.Input),
  990. new OracleParameter("in_AccountID",OracleDbType.Int32,
  991. userInfo.AccountID,ParameterDirection.Input),
  992. new OracleParameter("out_rs_defect",OracleDbType.RefCursor,ParameterDirection.Output),
  993. };
  994. DataSet dsDefectPosition = con.ExecStoredProcedure("PRO_MST_GetDefectPosition", paras);
  995. return dsDefectPosition;
  996. }
  997. catch (Exception ex)
  998. {
  999. throw ex;
  1000. }
  1001. finally
  1002. {
  1003. if (con.ConnState == ConnectionState.Open)
  1004. {
  1005. con.Close();
  1006. }
  1007. }
  1008. }
  1009. /// <summary>
  1010. /// 根据产品获得产品缺陷位置
  1011. /// </summary>
  1012. /// <param name="GoodsId">产品ID</param>
  1013. /// <returns>DataSet</returns>
  1014. public static DataSet getGoodsDefectPositionByGoodsId(int GoodsId)
  1015. {
  1016. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1017. try
  1018. {
  1019. con.Open();
  1020. string sql = @"select gdp.*,dp.DefectPositionCode,dp.DefectPositionName,dp.Remarks
  1021. from TP_MST_GoodsDefectPosition gdp
  1022. inner join TP_MST_DefectPosition dp
  1023. on gdp.DefectPositionID=dp.DefectPositionID
  1024. where gdp.GoodsID=" + GoodsId;
  1025. DataSet dsDefectPosition = con.GetSqlResultToDs(sql, null);
  1026. return dsDefectPosition;
  1027. }
  1028. catch (Exception ex)
  1029. {
  1030. throw ex;
  1031. }
  1032. finally
  1033. {
  1034. if (con.ConnState == ConnectionState.Open)
  1035. {
  1036. con.Close();
  1037. }
  1038. }
  1039. }
  1040. /// <summary>
  1041. /// 保存产品缺陷位置关联(依附在添加产品中)
  1042. /// </summary>
  1043. /// <param name="dpList">缺陷位置集</param>
  1044. /// <param name="GoodsId">产品ID</param>
  1045. /// <param name="userInfo">用户基本信息</param>
  1046. /// <returns>int</returns>
  1047. public static int SaveGoodsDefectPosition(IDBTransaction oracleTrConn, List<int> dpList, int GoodsId, SUserInfo userInfo)
  1048. {
  1049. try
  1050. {
  1051. int ReturnCount = 0;
  1052. string sql = "Delete from TP_MST_GoodsDefectPosition where GoodsId=" + GoodsId;
  1053. foreach (int dpFor in dpList)
  1054. {
  1055. string sqlAdd = @"Insert into TP_MST_GoodsDefectPosition(GoodsID,DefectPositionID,
  1056. CreateTime,CreateUserID) Values(:GoodsID,:DefectPositionID,sysdate,:CreateUserID)";
  1057. OracleParameter[] paras = new OracleParameter[]{
  1058. new OracleParameter(":GoodsID",OracleDbType.Int32,
  1059. GoodsId,ParameterDirection.Input),
  1060. new OracleParameter(":DefectPositionID",OracleDbType.Int32,
  1061. dpFor,ParameterDirection.Input),
  1062. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  1063. userInfo.UserID,ParameterDirection.Input),
  1064. };
  1065. ReturnCount += oracleTrConn.ExecuteNonQuery(sqlAdd, paras);
  1066. }
  1067. return ReturnCount;
  1068. }
  1069. catch (Exception ex)
  1070. {
  1071. throw ex;
  1072. }
  1073. }
  1074. #endregion
  1075. #region 成型线类型
  1076. /// <summary>
  1077. /// 获取成型线类型
  1078. /// </summary>
  1079. /// <param name="userInfo">用户基本信息</param>
  1080. /// <returns>数据集</returns>
  1081. /// <remarks>
  1082. /// 庄天威 2014.09.04 新建
  1083. /// </remarks>
  1084. public static DataSet GetGMouldType(SUserInfo userInfo)
  1085. {
  1086. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1087. try
  1088. {
  1089. con.Open();
  1090. OracleParameter[] paras = new OracleParameter[]{
  1091. new OracleParameter("in_accountID",OracleDbType.Int32,
  1092. userInfo.AccountID,ParameterDirection.Input),
  1093. new OracleParameter("in_valueFlag",OracleDbType.Int32,
  1094. 1,ParameterDirection.Input),
  1095. new OracleParameter("out_result",OracleDbType.RefCursor,ParameterDirection.Output),
  1096. };
  1097. DataSet ds = con.ExecStoredProcedure("PRO_MST_GetMouldType", paras);
  1098. return ds;
  1099. }
  1100. catch (Exception ex)
  1101. {
  1102. throw ex;
  1103. }
  1104. finally
  1105. {
  1106. if (con.ConnState == ConnectionState.Open)
  1107. {
  1108. con.Close();
  1109. }
  1110. }
  1111. }
  1112. #endregion
  1113. #region 产品分级数据源
  1114. /// <summary>
  1115. /// 产品分级数据源
  1116. /// </summary>
  1117. /// <param name="type">1适用半成品2检验 2适用成品检验 3入窑前检验</param>
  1118. /// <param name="userInfo">用户基本信息</param>
  1119. /// <returns>DataSet</returns>
  1120. public static DataSet GetGoodsLevel(int type, SUserInfo userInfo)
  1121. {
  1122. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1123. try
  1124. {
  1125. con.Open();
  1126. string sqlString = "";
  1127. if (type == 1 || type == 3)
  1128. {
  1129. sqlString = "select GoodsLevelID as DefectFlagID,GoodsLevelName as DefectFlagName,GoodsLevelTypeID from TP_MST_GoodsLevel where IsSemiFinishedEx=1 and AccountID=:AccountID and ValueFlag=1 order by SFEDisplayNo";
  1130. }
  1131. else if (type == 2)
  1132. {
  1133. sqlString = "select GoodsLevelID as DefectFlagID,GoodsLevelName as DefectFlagName,GoodsLevelTypeID from TP_MST_GoodsLevel where IsFinishedEx=1 and AccountID=:AccountID and ValueFlag=1 order by FEDisplayNo";
  1134. }
  1135. OracleParameter[] paras = new OracleParameter[]{
  1136. new OracleParameter(":AccountID",userInfo.AccountID),
  1137. };
  1138. DataSet dsGoodsLevel = con.GetSqlResultToDs(sqlString, paras);
  1139. return dsGoodsLevel;
  1140. }
  1141. catch (Exception ex)
  1142. {
  1143. throw ex;
  1144. }
  1145. finally
  1146. {
  1147. if (con.ConnState == ConnectionState.Open)
  1148. {
  1149. con.Close();
  1150. }
  1151. }
  1152. }
  1153. #endregion
  1154. #region 审核状态
  1155. /// <summary>
  1156. /// 获取全部审核状态
  1157. /// </summary>
  1158. /// <returns>DataSet审核状态数据源</returns>
  1159. public static DataSet GetAuditStatus()
  1160. {
  1161. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1162. try
  1163. {
  1164. con.Open();
  1165. String strSql = "Select * from TP_SYS_AuditStatus Order by DisplayNo";
  1166. DataSet ds = con.GetSqlResultToDs(strSql, null);
  1167. return ds;
  1168. }
  1169. catch (Exception ex)
  1170. {
  1171. throw ex;
  1172. }
  1173. finally
  1174. {
  1175. if (con.ConnState == ConnectionState.Open)
  1176. {
  1177. con.Close();
  1178. }
  1179. }
  1180. }
  1181. #endregion
  1182. /// <summary>
  1183. /// 工序集合
  1184. /// </summary>
  1185. /// <param name="ProductionLineEntity">工序实体</param>
  1186. /// <param name="sUserInfo">用户<基本信息/param>
  1187. /// <returns>DataSet</returns>
  1188. /// <remarks>
  1189. /// 王鑫 2014.11.29 新建
  1190. /// </remarks>
  1191. public static DataSet GetProdureList(SearchProductionLineEntity productionLineEntity, SUserInfo sUserInfo)
  1192. {
  1193. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1194. try
  1195. {
  1196. con.Open();
  1197. OracleParameter[] paras = new OracleParameter[]{
  1198. new OracleParameter("in_procedureCode",OracleDbType.Varchar2,productionLineEntity.ProductionLineCode,ParameterDirection.Input),
  1199. new OracleParameter("in_procedureName",OracleDbType.Varchar2,productionLineEntity.ProductionLineName,ParameterDirection.Input),
  1200. new OracleParameter("in_procedureIDS",OracleDbType.Varchar2,productionLineEntity.ProcuteLineIDS,ParameterDirection.Input),
  1201. new OracleParameter("in_accountID",OracleDbType.Int32,sUserInfo.AccountID,ParameterDirection.Input),
  1202. new OracleParameter("out_result",OracleDbType.RefCursor, ParameterDirection.Output),
  1203. };
  1204. DataSet dsSearchReport = con.ExecStoredProcedure("PRO_PC_GetProcedureList", paras);
  1205. return dsSearchReport;
  1206. }
  1207. catch (Exception ex)
  1208. {
  1209. throw ex;
  1210. }
  1211. finally
  1212. {
  1213. if (con.ConnState == ConnectionState.Open)
  1214. {
  1215. con.Close();
  1216. }
  1217. }
  1218. }
  1219. /// <summary>
  1220. /// 获取全部工种计件方式
  1221. /// </summary>
  1222. /// <returns>DataSet工种计件方式集合</returns>
  1223. public static DataSet GetJobsPriceType()
  1224. {
  1225. IDBConnection con = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1226. try
  1227. {
  1228. con.Open();
  1229. String strSql = "Select * from TP_SYS_JobsPriceType Order by DisplayNo";
  1230. DataSet dsSearchReport = con.GetSqlResultToDs(strSql, null);
  1231. return dsSearchReport;
  1232. }
  1233. catch (Exception ex)
  1234. {
  1235. throw ex;
  1236. }
  1237. finally
  1238. {
  1239. if (con.ConnState == ConnectionState.Open)
  1240. {
  1241. con.Close();
  1242. }
  1243. }
  1244. }
  1245. #region 装具管理
  1246. /// <summary>
  1247. /// 查询装具信息
  1248. /// </summary>
  1249. /// <param name="sUserInfo"></param>
  1250. /// <param name="goodsID"></param>
  1251. /// <returns></returns>
  1252. public static ServiceResultEntity GetEntruckingInfo(SUserInfo sUserInfo, string entruckingCode)
  1253. {
  1254. IDBConnection conn = null;
  1255. try
  1256. {
  1257. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1258. string sqlString = @"
  1259. SELECT
  1260. TPE.ENTRUCKINGCODE,
  1261. CASE WHEN TPE.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
  1262. TPE.TRUCKSIZE,
  1263. TPE.REMARKS,
  1264. TPE.Batch,
  1265. TPE.VALUEFLAG
  1266. FROM
  1267. TP_PM_ENTRUCKING TPE
  1268. WHERE 1=1";
  1269. if (!string.IsNullOrEmpty(entruckingCode))
  1270. {
  1271. sqlString += "AND TPE.ENTRUCKINGCODE LIKE '%" + entruckingCode.ToString() + "%'";
  1272. }
  1273. ServiceResultEntity sre = new ServiceResultEntity();
  1274. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  1275. return sre;
  1276. }
  1277. catch (Exception ex)
  1278. {
  1279. throw ex;
  1280. }
  1281. finally
  1282. {
  1283. if (conn != null &&
  1284. conn.ConnState == ConnectionState.Open)
  1285. {
  1286. conn.Close();
  1287. }
  1288. }
  1289. }
  1290. /// <summary>
  1291. /// 查询装具明细信息
  1292. /// </summary>
  1293. /// <param name="sUserInfo"></param>
  1294. /// <param name="goodsID"></param>
  1295. /// <returns></returns>
  1296. public static ServiceResultEntity GetEntruckingInfoDetail(SUserInfo sUserInfo, string entruckingCode)
  1297. {
  1298. IDBConnection conn = null;
  1299. try
  1300. {
  1301. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1302. string sqlString = @"
  1303. SELECT
  1304. TPED.BARCODE AS BARCODEDETAIL,
  1305. TPED.BATCH AS BATCHDETAIL,
  1306. CASE WHEN TPED.DOFUNCTION = 1 THEN '绑定'
  1307. WHEN TPED.DOFUNCTION = 2 THEN '解绑'
  1308. WHEN TPED.DOFUNCTION = 3 THEN '增加'
  1309. WHEN TPED.DOFUNCTION = 4 THEN '删减'
  1310. ELSE '' END AS DOFUNCTIONDETAIL,
  1311. TPP.PROCEDURENAME AS PROCEDUREIDDETAIL,
  1312. TPED.REMARKS AS REMARKSDETAIL,
  1313. TPED.USERCODE AS USERCODEDETAIL,
  1314. TPED.CREATETIME AS CREATETIMEDETAIL
  1315. FROM
  1316. TP_PM_ENTRUCKINGDETAIL TPED
  1317. INNER JOIN TP_PM_ENTRUCKING TPE ON TPED.ENTRUCKINGCODE = TPE.ENTRUCKINGCODE
  1318. LEFT JOIN TP_PC_PROCEDURE TPP ON TPED.ProcedureID = TPP.ProcedureID
  1319. WHERE
  1320. 1 = 1
  1321. AND TPED.VALUEFLAG = 1
  1322. AND TPED.ENTRUCKINGCODE = : ENTRUCKINGCODE
  1323. ORDER BY TPED.CREATETIME DESC";
  1324. OracleParameter[] paras = new OracleParameter[]{
  1325. new OracleParameter(":ENTRUCKINGCODE",entruckingCode),
  1326. };
  1327. ServiceResultEntity sre = new ServiceResultEntity();
  1328. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1329. return sre;
  1330. }
  1331. catch (Exception ex)
  1332. {
  1333. throw ex;
  1334. }
  1335. finally
  1336. {
  1337. if (conn != null &&
  1338. conn.ConnState == ConnectionState.Open)
  1339. {
  1340. conn.Close();
  1341. }
  1342. }
  1343. }
  1344. /// <summary>
  1345. /// 保存装具信息
  1346. /// </summary>
  1347. /// <param name="sUserInfo"></param>
  1348. /// <param name="goodsID"></param>
  1349. /// <returns></returns>
  1350. public static ServiceResultEntity InsertEntruckingInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1351. {
  1352. IDBTransaction conn = null;
  1353. try
  1354. {
  1355. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1356. ServiceResultEntity sre = new ServiceResultEntity();
  1357. DataTable dt = new DataTable();
  1358. string sqlString = string.Empty;
  1359. OracleParameter[] paras = new OracleParameter[] { };
  1360. #region 新建校验
  1361. if (cre.Properties["FromStatus"].ToString() == "Add")
  1362. {
  1363. //如果装具条码是新建的情况下,是否存在相同装具条码
  1364. sqlString = @"
  1365. SELECT 1 FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1366. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()), };
  1367. dt = new DataTable();
  1368. dt = conn.GetSqlResultToDt(sqlString, paras);
  1369. if (dt != null && dt.Rows.Count > 0)
  1370. {
  1371. //存在相同装具条码
  1372. sre.OtherStatus = -1001;
  1373. return sre;
  1374. }
  1375. }
  1376. #endregion
  1377. #region 编辑校验
  1378. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1379. {
  1380. //查看装具是否时使用状态,如果使用状态不可以修改装具信息
  1381. sqlString = @"
  1382. SELECT STATUS FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1383. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1384. dt = conn.GetSqlResultToDt(sqlString, paras);
  1385. if (dt != null && dt.Rows.Count > 0 && dt.Rows[0]["STATUS"].ToString() == "1")
  1386. {
  1387. //使用状态不可以修改装具信息
  1388. sre.OtherStatus = -1002;
  1389. return sre;
  1390. }
  1391. //删除存在装具条码
  1392. sqlString = @"
  1393. DELETE FROM TP_PM_ENTRUCKING WHERE ENTRUCKINGCODE = : ENTRUCKINGCODE";
  1394. paras = new OracleParameter[] { new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) };
  1395. int results = conn.ExecuteNonQuery(sqlString, paras);
  1396. if (results <= 0)
  1397. {
  1398. //未改变任何数据
  1399. sre.OtherStatus = -1003;
  1400. return sre;
  1401. }
  1402. }
  1403. #endregion
  1404. #region 保存信息
  1405. //保存装具条码
  1406. sqlString = @"
  1407. INSERT INTO TP_PM_ENTRUCKING(
  1408. ENTRUCKINGCODE,
  1409. STATUS,
  1410. TRUCKSIZE,
  1411. BATCH,
  1412. REMARKS,
  1413. ACCOUNTID,
  1414. VALUEFLAG,
  1415. CREATEUSERID,
  1416. UPDATEUSERID
  1417. ) VALUES(
  1418. :ENTRUCKINGCODE,
  1419. 0,
  1420. :TRUCKSIZE,
  1421. 0,
  1422. :REMARKS,
  1423. 1,
  1424. :VALUEFLAG,
  1425. :USERID,
  1426. :USERID
  1427. )";
  1428. paras = new OracleParameter[] {
  1429. new OracleParameter(":ENTRUCKINGCODE", cre.Properties["txtEntruckingCode"].ToString()) ,
  1430. new OracleParameter(":TRUCKSIZE", cre.Properties["txtTruckSize"].ToString()) ,
  1431. new OracleParameter(":REMARKS", cre.Properties["txtRemarks"].ToString()) ,
  1432. new OracleParameter(":VALUEFLAG", cre.Properties["cmbValueFlag"].ToString()) ,
  1433. new OracleParameter(":USERID", sUserInfo.UserID)
  1434. };
  1435. int result = conn.ExecuteNonQuery(sqlString, paras);
  1436. if (result <= 0)
  1437. {
  1438. //未改变任何数据
  1439. sre.OtherStatus = -1003;
  1440. return sre;
  1441. }
  1442. else
  1443. {
  1444. //提交数据
  1445. sre.OtherStatus = 1;
  1446. conn.Commit();
  1447. }
  1448. #endregion
  1449. return sre;
  1450. }
  1451. catch (Exception ex)
  1452. {
  1453. conn.Rollback();
  1454. conn.Disconnect();
  1455. throw ex;
  1456. }
  1457. finally
  1458. {
  1459. if (conn != null &&
  1460. conn.ConnState == ConnectionState.Open)
  1461. {
  1462. conn.Disconnect();
  1463. }
  1464. }
  1465. }
  1466. #endregion
  1467. #region 客户信息
  1468. public static ServiceResultEntity GetCustomer(SUserInfo sUserInfo, ClientRequestEntity cre)
  1469. {
  1470. IDBConnection conn = null;
  1471. try
  1472. {
  1473. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1474. string sqlString = @"
  1475. SELECT
  1476. C.CUSTOMERID,
  1477. C.CUSTOMERCODE,
  1478. C.CUSTOMERNAME,
  1479. M.GOODSCODE,
  1480. M.GOODSNAME,
  1481. C.REMARKS,
  1482. CASE
  1483. WHEN C.VALUEFLAG = 1 THEN
  1484. '是' ELSE '否'
  1485. END AS VALUEFLAG
  1486. FROM
  1487. TP_PC_CUSTOMERINFORMATION C
  1488. LEFT JOIN TP_MST_GOODS M ON C.GOODSCODE = M.GOODSCODE
  1489. WHERE
  1490. 1 =1 AND M.GOODSCODE IS NOT NULL";
  1491. if (!string.IsNullOrEmpty(cre.Properties["Customerid"].ToString()))
  1492. {
  1493. sqlString += " AND C.CUSTOMERID = :CUSTOMERID";
  1494. }
  1495. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1496. {
  1497. sqlString += " AND C.CUSTOMERCODE like :CUSTOMERCODE";
  1498. }
  1499. if (!string.IsNullOrEmpty(cre.Properties["CustomerName"].ToString()))
  1500. {
  1501. sqlString += " AND C.CUSTOMERNAME like :CUSTOMERNAME";
  1502. }
  1503. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1504. {
  1505. sqlString += " AND C.VALUEFLAG = :VALUEFLAG";
  1506. }
  1507. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1508. {
  1509. sqlString += " AND M.GOODSCODE like :GOODSCODE";
  1510. }
  1511. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1512. {
  1513. sqlString += " AND M.GOODSNAME like :GOODSNAME";
  1514. }
  1515. OracleParameter[] paras = new OracleParameter[]{
  1516. new OracleParameter(":CUSTOMERID",cre.Properties["Customerid"].ToString()),
  1517. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1518. new OracleParameter(":CUSTOMERNAME",'%'+cre.Properties["CustomerName"].ToString()+'%'),
  1519. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1520. new OracleParameter(":GOODSNAME",'%'+cre.Properties["GOODSNAME"].ToString()+'%'),
  1521. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString())
  1522. };
  1523. ServiceResultEntity sre = new ServiceResultEntity();
  1524. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1525. return sre;
  1526. }
  1527. catch (Exception ex)
  1528. {
  1529. throw ex;
  1530. }
  1531. finally
  1532. {
  1533. if (conn != null &&
  1534. conn.ConnState == ConnectionState.Open)
  1535. {
  1536. conn.Close();
  1537. }
  1538. }
  1539. }
  1540. /// <summary>
  1541. /// 保存客户信息
  1542. /// </summary>
  1543. /// <param name="sUserInfo"></param>
  1544. /// <param name="goodsID"></param>
  1545. /// <returns></returns>
  1546. public static ServiceResultEntity AddCustomerInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1547. {
  1548. IDBTransaction conn = null;
  1549. try
  1550. {
  1551. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1552. ServiceResultEntity sre = new ServiceResultEntity();
  1553. DataTable dt = new DataTable();
  1554. string sqlString = string.Empty;
  1555. OracleParameter[] paras = new OracleParameter[] { };
  1556. //如果客户信息是新建的情况下,是否存在相同客户编码
  1557. if (cre.Properties["FromStatus"].ToString() == "Add")
  1558. {
  1559. sqlString = @" SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND GOODSCODE = :GOODSCODE ";
  1560. paras = new OracleParameter[] {
  1561. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1562. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1563. };
  1564. dt = new DataTable();
  1565. dt = conn.GetSqlResultToDt(sqlString, paras);
  1566. if (dt != null && dt.Rows.Count > 0)
  1567. {
  1568. //存在相同客户编码
  1569. sre.OtherStatus = -1001;
  1570. return sre;
  1571. }
  1572. }
  1573. #region 新增
  1574. if (cre.Properties["FromStatus"].ToString() == "Add")
  1575. {
  1576. //保存客户信息
  1577. sqlString = @"
  1578. INSERT INTO TP_PC_CUSTOMERINFORMATION(
  1579. CUSTOMERCODE,
  1580. CUSTOMERNAME,
  1581. REMARKS,
  1582. ACCOUNTID,
  1583. VALUEFLAG,
  1584. CREATEUSERID,
  1585. UPDATEUSERID,
  1586. GOODSCODE
  1587. ) VALUES(
  1588. :CUSTOMERCODE,
  1589. :CUSTOMERNAME,
  1590. :REMARKS,
  1591. 1,
  1592. :VALUEFLAG,
  1593. :USERID,
  1594. :USERID,
  1595. :GOODSCODE)";
  1596. paras = new OracleParameter[] {
  1597. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1598. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1599. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1600. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1601. new OracleParameter(":USERID", sUserInfo.UserID) ,
  1602. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1603. };
  1604. }
  1605. #endregion
  1606. #region 编辑
  1607. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1608. {
  1609. //sqlString = @"
  1610. // SELECT 1 FROM TP_PC_CUSTOMERINFORMATION WHERE CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE";
  1611. //paras = new OracleParameter[] {
  1612. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1613. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString())
  1614. //};
  1615. //dt = new DataTable();
  1616. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1617. //if (dt != null && dt.Rows.Count > 0)
  1618. //{
  1619. // //存在相同客户编码
  1620. // sre.OtherStatus = -1001;
  1621. // return sre;
  1622. //}
  1623. sqlString = @"UPDATE TP_PC_CUSTOMERINFORMATION
  1624. SET
  1625. CUSTOMERCODE=:CUSTOMERCODE,
  1626. CUSTOMERNAME =:CUSTOMERNAME,
  1627. REMARKS = :REMARKS,
  1628. VALUEFLAG = :VALUEFLAG,
  1629. GOODSCODE = :GOODSCODE
  1630. WHERE
  1631. CUSTOMERID = :CUSTOMERID";
  1632. paras = new OracleParameter[] {
  1633. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1634. new OracleParameter(":CUSTOMERID",Convert.ToInt32(cre.Properties["CUSTOMERID"])),
  1635. new OracleParameter(":CUSTOMERNAME", cre.Properties["CUSTOMERNAME"].ToString()) ,
  1636. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1637. new OracleParameter(":VALUEFLAG", Convert.ToInt32(cre.Properties["VALUEFLAG"])),
  1638. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1639. //new OracleParameter(":USERID", sUserInfo.UserID)
  1640. };
  1641. }
  1642. #endregion
  1643. int result = conn.ExecuteNonQuery(sqlString, paras);
  1644. if (result <= 0)
  1645. {
  1646. //未改变任何数据
  1647. sre.OtherStatus = -1003;
  1648. return sre;
  1649. }
  1650. else
  1651. {
  1652. //提交数据
  1653. sre.OtherStatus = 1;
  1654. conn.Commit();
  1655. }
  1656. return sre;
  1657. }
  1658. catch (Exception ex)
  1659. {
  1660. conn.Rollback();
  1661. conn.Disconnect();
  1662. throw ex;
  1663. }
  1664. finally
  1665. {
  1666. if (conn != null &&
  1667. conn.ConnState == ConnectionState.Open)
  1668. {
  1669. conn.Disconnect();
  1670. }
  1671. }
  1672. }
  1673. #endregion
  1674. #region 版面信息
  1675. public static ServiceResultEntity GetLayout(SUserInfo sUserInfo, ClientRequestEntity cre)
  1676. {
  1677. IDBConnection conn = null;
  1678. try
  1679. {
  1680. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1681. string sqlString = @"SELECT DISTINCT
  1682. L.LAYOUTID,
  1683. L.CUSTOMERCODE,
  1684. C.CUSTOMERNAME,
  1685. L.LAYOUTCODE,
  1686. L.LAYOUTNAME,
  1687. L.REMARKS,
  1688. L.GOODSCODE,
  1689. M.GOODSNAME,
  1690. CASE
  1691. WHEN L.VALUEFLAG = 1 THEN
  1692. '是' ELSE '否'
  1693. END AS VALUEFLAG
  1694. FROM
  1695. TP_PC_LAYOUTINFORMATION L
  1696. LEFT JOIN TP_PC_CUSTOMERINFORMATION C ON L.CUSTOMERCODE = C.CUSTOMERCODE
  1697. LEFT JOIN TP_MST_GOODS M ON L.GOODSCODE = M.GOODSCODE
  1698. WHERE 1 =1 AND l.LAYOUTID IN
  1699. (
  1700. SELECT LAYOUTID FROM
  1701. (
  1702. SELECT MAX(LAYOUTID) LAYOUTID, CUSTOMERCODE,
  1703. LAYOUTNAME, GOODSCODE,
  1704. count( 1 ) over ( partition BY CUSTOMERCODE, LAYOUTNAME, GOODSCODE ) rn
  1705. FROM TP_PC_LAYOUTINFORMATION
  1706. GROUP BY CUSTOMERCODE,LAYOUTNAME,GOODSCODE
  1707. )
  1708. )";
  1709. if (!string.IsNullOrEmpty(cre.Properties["Layoutid"].ToString()))
  1710. {
  1711. sqlString += " AND L.LAYOUTID = :LAYOUTID";
  1712. }
  1713. if (!string.IsNullOrEmpty(cre.Properties["LayoutCode"].ToString()))
  1714. {
  1715. sqlString += " AND L.LAYOUTCODE like : LAYOUTCODE";
  1716. }
  1717. if (!string.IsNullOrEmpty(cre.Properties["CustomerCode"].ToString()))
  1718. {
  1719. sqlString += " AND L.CUSTOMERCODE like : CUSTOMERCODE";
  1720. }
  1721. if (!string.IsNullOrEmpty(cre.Properties["LayoutName"].ToString()))
  1722. {
  1723. sqlString += " AND L.LAYOUTNAME like : LAYOUTNAME";
  1724. }
  1725. if (!string.IsNullOrEmpty(cre.Properties["ValueFlag"].ToString()))
  1726. {
  1727. sqlString += " AND L.VALUEFLAG = : VALUEFLAG";
  1728. }
  1729. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1730. {
  1731. sqlString += " AND L.GOODSCODE like : GOODSCODE";
  1732. }
  1733. OracleParameter[] paras = new OracleParameter[]{
  1734. new OracleParameter(":LAYOUTID",cre.Properties["Layoutid"].ToString()),
  1735. new OracleParameter(":LAYOUTCODE",'%'+cre.Properties["LayoutCode"].ToString()+'%'),
  1736. new OracleParameter(":CUSTOMERCODE",'%'+cre.Properties["CustomerCode"].ToString()+'%'),
  1737. new OracleParameter(":LAYOUTNAME",'%'+cre.Properties["LayoutName"].ToString()+'%'),
  1738. new OracleParameter(":VALUEFLAG",cre.Properties["ValueFlag"].ToString()),
  1739. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%')
  1740. };
  1741. ServiceResultEntity sre = new ServiceResultEntity();
  1742. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1743. return sre;
  1744. }
  1745. catch (Exception ex)
  1746. {
  1747. throw ex;
  1748. }
  1749. finally
  1750. {
  1751. if (conn != null &&
  1752. conn.ConnState == ConnectionState.Open)
  1753. {
  1754. conn.Close();
  1755. }
  1756. }
  1757. }
  1758. ///<summary>
  1759. ///保存版面信息
  1760. /// </summary>
  1761. public static ServiceResultEntity AddLayoutInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  1762. {
  1763. IDBTransaction conn = null;
  1764. try
  1765. {
  1766. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  1767. ServiceResultEntity sre = new ServiceResultEntity();
  1768. DataTable dt = new DataTable();
  1769. string sqlString = string.Empty;
  1770. OracleParameter[] paras = new OracleParameter[] { };
  1771. OracleParameter[] paras1= new OracleParameter[] { };
  1772. #region 新增
  1773. if (cre.Properties["FromStatus"].ToString() == "Add")
  1774. {
  1775. //保存客户信息
  1776. sqlString = @"INSERT INTO TP_PC_LAYOUTINFORMATION(
  1777. CUSTOMERCODE,
  1778. LAYOUTNAME,
  1779. REMARKS,
  1780. ACCOUNTID,
  1781. VALUEFLAG,
  1782. CREATEUSERID,
  1783. UPDATEUSERID ,
  1784. GOODSCODE
  1785. ) VALUES(
  1786. :CUSTOMERCODE,
  1787. :LAYOUTNAME,
  1788. :REMARKS,
  1789. 1,
  1790. :VALUEFLAG,
  1791. :USERID,
  1792. :USERID,
  1793. :GOODSCODE)";
  1794. paras = new OracleParameter[] {
  1795. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  1796. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()) ,
  1797. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()) ,
  1798. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  1799. new OracleParameter(":USERID", sUserInfo.UserID),
  1800. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString())
  1801. };
  1802. }
  1803. #endregion
  1804. #region 编辑
  1805. if (cre.Properties["FromStatus"].ToString() == "Edit")
  1806. {
  1807. //sqlString = @"
  1808. // SELECT 1 FROM TP_PC_LAYOUTINFORMATION WHERE
  1809. // LAYOUTCODE = :LAYOUTCODE AND LAYOUTCODE != :LAYOUTCODEONE
  1810. // AND CUSTOMERCODE = :CUSTOMERCODE AND CUSTOMERCODE != :CUSTOMERCODEONE
  1811. // AND GOODSCODE = :GOODSCODE AND GOODSCODE != :GOODSCODEONE ";
  1812. //paras = new OracleParameter[] {
  1813. // new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  1814. // new OracleParameter(":LAYOUTCODEONE", cre.Properties["LAYOUTCODEONE"].ToString()),
  1815. // new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1816. // new OracleParameter(":CUSTOMERCODEONE", cre.Properties["CUSTOMERCODEONE"].ToString()),
  1817. // new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1818. // new OracleParameter(":GOODSCODEONE", cre.Properties["GOODSCODEONE"].ToString()),
  1819. //};
  1820. //dt = new DataTable();
  1821. //dt = conn.GetSqlResultToDt(sqlString, paras);
  1822. //if (dt != null && dt.Rows.Count > 0)
  1823. //{
  1824. // //存在相同版面编码
  1825. // sre.OtherStatus = -1001;
  1826. // return sre;
  1827. //}
  1828. sqlString = @"UPDATE TP_PC_LAYOUTINFORMATION
  1829. SET
  1830. CUSTOMERCODE=:CUSTOMERCODE,
  1831. LAYOUTNAME =:LAYOUTNAME,
  1832. REMARKS = :REMARKS,
  1833. VALUEFLAG = :VALUEFLAG ,
  1834. GOODSCODE = :GOODSCODE
  1835. WHERE
  1836. LAYOUTID = :LAYOUTID";
  1837. paras = new OracleParameter[] {
  1838. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()),
  1839. new OracleParameter(":LAYOUTID",Convert.ToInt32(cre.Properties["LAYOUTID"])),
  1840. new OracleParameter(":LAYOUTNAME", cre.Properties["LAYOUTNAME"].ToString()),
  1841. new OracleParameter(":REMARKS", cre.Properties["REMARKS"].ToString()),
  1842. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  1843. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  1844. };
  1845. }
  1846. #endregion
  1847. int result = conn.ExecuteNonQuery(sqlString, paras);
  1848. if (result <= 0)
  1849. {
  1850. //未改变任何数据
  1851. sre.OtherStatus = -1003;
  1852. return sre;
  1853. }
  1854. else
  1855. {
  1856. //提交数据
  1857. sre.OtherStatus = 1;
  1858. conn.Commit();
  1859. }
  1860. return sre;
  1861. }
  1862. catch (Exception ex)
  1863. {
  1864. throw ex;
  1865. }
  1866. finally
  1867. {
  1868. if (conn != null &&
  1869. conn.ConnState == ConnectionState.Open)
  1870. {
  1871. conn.Disconnect();
  1872. }
  1873. }
  1874. }
  1875. #endregion
  1876. #region 订单信息
  1877. public static ServiceResultEntity GetOrder(SUserInfo sUserInfo, ClientRequestEntity cre)
  1878. {
  1879. IDBConnection conn = null;
  1880. try
  1881. {
  1882. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1883. string sqlString = @"SELECT
  1884. ord.ORDERSCODE,
  1885. ord.ORDERSNAME,
  1886. '' AS GOODSCODE,
  1887. ord.NUMBERS,
  1888. CASE
  1889. WHEN ord.VALUEFLAG = 1 THEN
  1890. '是' ELSE '否'
  1891. END AS VALUEFLAG
  1892. FROM
  1893. TP_PC_ORDERINFORMATION ord
  1894. WHERE
  1895. 1 = 1";
  1896. if (!string.IsNullOrEmpty(cre.Properties["ORDERSCODE"].ToString()))
  1897. {
  1898. sqlString += " AND ORDERSCODE like :ORDERSCODE";
  1899. }
  1900. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1901. {
  1902. sqlString += " AND GOODSCODE like :GOODSCODE";
  1903. }
  1904. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1905. {
  1906. sqlString += " AND VALUEFLAG = :VALUEFLAG";
  1907. }
  1908. OracleParameter[] paras = new OracleParameter[]{
  1909. new OracleParameter(":ORDERSCODE",'%'+cre.Properties["ORDERSCODE"].ToString()+'%'),
  1910. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  1911. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  1912. };
  1913. ServiceResultEntity sre = new ServiceResultEntity();
  1914. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  1915. return sre;
  1916. }
  1917. catch (Exception ex)
  1918. {
  1919. throw ex;
  1920. }
  1921. finally
  1922. {
  1923. if (conn != null &&
  1924. conn.ConnState == ConnectionState.Open)
  1925. {
  1926. conn.Close();
  1927. }
  1928. }
  1929. }
  1930. //订单详细信息
  1931. public static ServiceResultEntity GetOrderDetails(SUserInfo sUserInfo, ClientRequestEntity cre)
  1932. {
  1933. IDBConnection conn = null;
  1934. try
  1935. {
  1936. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  1937. string sqlString = @"SELECT
  1938. DISTINCT
  1939. ord.ORDERSDETAILID,
  1940. ord.ORDERSID,
  1941. ORD.ORDERSCODE,
  1942. cus.CUSTOMERCODE,
  1943. cus.CUSTOMERNAME,
  1944. lay.LAYOUTCODE,
  1945. lay.LAYOUTNAME,
  1946. ord.GOODSCODE,
  1947. gd.GOODSNAME,
  1948. ord.BARCODE,
  1949. ord.ENTRUCKINGCODE,
  1950. ord.NUMBERS,
  1951. ord.CREATETIME,
  1952. case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
  1953. FROM
  1954. TP_PC_ORDERINFORMATIONDETAILS ord
  1955. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  1956. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  1957. LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
  1958. WHERE 1=1 ";
  1959. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  1960. {
  1961. string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
  1962. sqlString += " AND ord.ORDERSCODE like " + order;
  1963. }
  1964. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  1965. {
  1966. string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
  1967. sqlString += " AND ord.GOODSCODE like " + goodscode;
  1968. }
  1969. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  1970. {
  1971. sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
  1972. }
  1973. if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
  1974. {
  1975. sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
  1976. }
  1977. if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
  1978. {
  1979. sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
  1980. }
  1981. if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
  1982. {
  1983. string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
  1984. sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
  1985. }
  1986. if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
  1987. {
  1988. string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
  1989. sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
  1990. }
  1991. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  1992. {
  1993. string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
  1994. sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
  1995. }
  1996. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
  1997. {
  1998. sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  1999. }
  2000. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
  2001. {
  2002. sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2003. }
  2004. sqlString += " ORDER BY ord.CREATETIME DESC";
  2005. ServiceResultEntity sre = new ServiceResultEntity();
  2006. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2007. return sre;
  2008. }
  2009. catch (Exception ex)
  2010. {
  2011. throw ex;
  2012. }
  2013. finally
  2014. {
  2015. if (conn != null &&
  2016. conn.ConnState == ConnectionState.Open)
  2017. {
  2018. conn.Close();
  2019. }
  2020. }
  2021. }
  2022. //订单最新信息汇总
  2023. public static ServiceResultEntity GetOrderNumber(SUserInfo sUserInfo, ClientRequestEntity cre)
  2024. {
  2025. IDBConnection conn = null;
  2026. try
  2027. {
  2028. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2029. string sqlString = @"SELECT
  2030. GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) GID,
  2031. ORDERSDETAILID,
  2032. ORDERSID,
  2033. CASE WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =15 THEN '合计'
  2034. WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =63 THEN '总计'
  2035. WHEN GROUPING_ID(CUSTOMERCODE,CUSTOMERNAME,LAYOUTCODE,LAYOUTNAME,GOODSCODE,GOODSNAME) =0 AND CREATETIME is null THEN '小计' ELSE TO_CHAR(ORDERSCODE) END AS ORDERSCODE ,
  2036. CUSTOMERCODE,
  2037. CUSTOMERNAME,
  2038. LAYOUTCODE,
  2039. LAYOUTNAME,
  2040. GOODSCODE,
  2041. GOODSNAME,
  2042. ENTRUCKINGCODE,
  2043. STATUS,
  2044. SUM(NUMBERS) AS NUMBERS,
  2045. CREATETIME,
  2046. VALUEFLAG
  2047. FROM(
  2048. SELECT
  2049. DISTINCT
  2050. ord.ORDERSDETAILID,
  2051. ord.ORDERSID,
  2052. ORD.ORDERSCODE,
  2053. cus.CUSTOMERCODE,
  2054. cus.CUSTOMERNAME,
  2055. lay.LAYOUTCODE,
  2056. lay.LAYOUTNAME,
  2057. ord.GOODSCODE,
  2058. gd.GOODSNAME,
  2059. ord.BARCODE,
  2060. ord.ENTRUCKINGCODE,
  2061. CASE WHEN pe.STATUS = 1 THEN '已使用' ELSE '未使用' END AS STATUS,
  2062. ord.NUMBERS,
  2063. ord.CREATETIME,
  2064. row_number() over(partition by ord.ENTRUCKINGCODE order by ord.CREATETIME desc) rn ,
  2065. case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
  2066. FROM
  2067. TP_PC_ORDERINFORMATIONDETAILS ord
  2068. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  2069. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  2070. LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
  2071. LEFT JOIN TP_PM_ENTRUCKING pe on pe.entruckingcode = ord.entruckingcode
  2072. WHERE 1=1 ";
  2073. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  2074. {
  2075. string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
  2076. sqlString += " AND ord.ORDERSCODE like " + order;
  2077. }
  2078. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2079. {
  2080. string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
  2081. sqlString += " AND ord.GOODSCODE like " + goodscode;
  2082. }
  2083. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2084. {
  2085. sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
  2086. }
  2087. if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
  2088. {
  2089. sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
  2090. }
  2091. if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
  2092. {
  2093. sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
  2094. }
  2095. if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
  2096. {
  2097. string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
  2098. sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
  2099. }
  2100. if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
  2101. {
  2102. string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
  2103. sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
  2104. }
  2105. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  2106. {
  2107. string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
  2108. sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
  2109. }
  2110. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
  2111. {
  2112. sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2113. }
  2114. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
  2115. {
  2116. sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2117. }
  2118. sqlString += @" )
  2119. WHERE rn = 1
  2120. GROUP BY GROUPING SETS((
  2121. ORDERSDETAILID,
  2122. ORDERSID,
  2123. ORDERSCODE,
  2124. CUSTOMERCODE,
  2125. CUSTOMERNAME,
  2126. LAYOUTCODE,
  2127. LAYOUTNAME,
  2128. GOODSCODE,
  2129. GOODSNAME,
  2130. ENTRUCKINGCODE,
  2131. STATUS,
  2132. CREATETIME,
  2133. VALUEFLAG
  2134. ), (CUSTOMERCODE, CUSTOMERNAME, LAYOUTCODE, LAYOUTNAME, GOODSCODE, GOODSNAME), (CUSTOMERCODE, CUSTOMERNAME), ())";
  2135. ServiceResultEntity sre = new ServiceResultEntity();
  2136. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2137. return sre;
  2138. }
  2139. catch (Exception ex)
  2140. {
  2141. throw ex;
  2142. }
  2143. finally
  2144. {
  2145. if (conn != null &&
  2146. conn.ConnState == ConnectionState.Open)
  2147. {
  2148. conn.Close();
  2149. }
  2150. }
  2151. }
  2152. /// <summary>
  2153. /// /保存订单信息
  2154. /// </summary>
  2155. public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2156. {
  2157. IDBTransaction conn = null;
  2158. try
  2159. {
  2160. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2161. ServiceResultEntity sre = new ServiceResultEntity();
  2162. DataTable dt = new DataTable();
  2163. string sqlString = string.Empty;
  2164. OracleParameter[] paras = new OracleParameter[] { };
  2165. //如果版面信息是新建的情况下,是否存在相同版面编码
  2166. if (cre.Properties["FromStatus"].ToString() == "Add")
  2167. {
  2168. sqlString = @"
  2169. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
  2170. paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
  2171. dt = new DataTable();
  2172. dt = conn.GetSqlResultToDt(sqlString, paras);
  2173. if (dt != null && dt.Rows.Count > 0)
  2174. {
  2175. //存在相同版面编码
  2176. sre.OtherStatus = -1001;
  2177. return sre;
  2178. }
  2179. }
  2180. #region 新增
  2181. if (cre.Properties["FromStatus"].ToString() == "Add")
  2182. {
  2183. //保存客户信息
  2184. sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
  2185. CUSTOMERCODE,
  2186. LAYOUTCODE,
  2187. ORDERSCODE,
  2188. ORDERSNAME,
  2189. NUMBERS,
  2190. VALUEFLAG,
  2191. ACCOUNTID,
  2192. CREATEUSERID,
  2193. UPDATEUSERID
  2194. ) VALUES(
  2195. :CUSTOMERCODE,
  2196. :LAYOUTCODE,
  2197. :ORDERSCODE,
  2198. :ORDERSNAME,
  2199. :NUMBERS,
  2200. :VALUEFLAG,
  2201. 1,
  2202. :USERID,
  2203. :USERID)";
  2204. paras = new OracleParameter[] {
  2205. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  2206. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2207. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2208. new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
  2209. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2210. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2211. new OracleParameter(":USERID", sUserInfo.UserID)
  2212. };
  2213. }
  2214. #endregion
  2215. #region 编辑
  2216. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2217. {
  2218. if (cre.Properties["ORDERS"].ToString() == "1")
  2219. {
  2220. sqlString = @"
  2221. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
  2222. paras = new OracleParameter[] {
  2223. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
  2224. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
  2225. };
  2226. dt = new DataTable();
  2227. dt = conn.GetSqlResultToDt(sqlString, paras);
  2228. if (dt != null && dt.Rows.Count > 0)
  2229. {
  2230. //存在相同版面编码
  2231. sre.OtherStatus = -1001;
  2232. return sre;
  2233. }
  2234. sqlString = @"UPDATE TP_PC_ORDERINFORMATION
  2235. SET
  2236. ORDERSCODE =:ORDERSCODE,
  2237. NUMBERS = :NUMBERS,
  2238. VALUEFLAG = :VALUEFALG
  2239. WHERE
  2240. ORDERSCODE = :ORDERCODEONE";
  2241. paras = new OracleParameter[] {
  2242. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
  2243. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2244. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2245. new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
  2246. };
  2247. }
  2248. else if (cre.Properties["ORDERS"].ToString() == "2")
  2249. {
  2250. sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
  2251. SET
  2252. CUSTOMERCODE=:CUSTOMERCODE,
  2253. LAYOUTCODE = :LAYOUTCODE,
  2254. ORDERSCODE = :ORDERSCODE,
  2255. VALUEFLAG = :VALUEFLAG
  2256. WHERE
  2257. ORDERSDETAILID = :ORDERSDETAILID";
  2258. paras = new OracleParameter[] {
  2259. new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
  2260. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2261. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2262. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
  2263. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2264. };
  2265. }
  2266. }
  2267. #endregion
  2268. int result = conn.ExecuteNonQuery(sqlString, paras);
  2269. if (result <= 0)
  2270. {
  2271. //未改变任何数据
  2272. sre.OtherStatus = -1003;
  2273. return sre;
  2274. }
  2275. else
  2276. {
  2277. //提交数据
  2278. sre.OtherStatus = 1;
  2279. conn.Commit();
  2280. }
  2281. return sre;
  2282. }
  2283. catch (Exception ex)
  2284. {
  2285. throw ex;
  2286. }
  2287. finally
  2288. {
  2289. if (conn != null &&
  2290. conn.ConnState == ConnectionState.Open)
  2291. {
  2292. conn.Disconnect();
  2293. }
  2294. }
  2295. }
  2296. //订单详细信息
  2297. public static ServiceResultEntity EmpowermentFlag(SUserInfo sUserInfo, ClientRequestEntity cre)
  2298. {
  2299. IDBConnection conn = null;
  2300. try
  2301. {
  2302. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2303. string sqlString = @"SELECT EMPOWERMENTFLAG,SHOWINFO FROM TP_SYS_EMPOWERMENTFLAG ";
  2304. ServiceResultEntity sre = new ServiceResultEntity();
  2305. sre.Data = conn.GetSqlResultToDs(sqlString);
  2306. return sre;
  2307. }
  2308. catch (Exception ex)
  2309. {
  2310. throw ex;
  2311. }
  2312. finally
  2313. {
  2314. if (conn != null &&
  2315. conn.ConnState == ConnectionState.Open)
  2316. {
  2317. conn.Close();
  2318. }
  2319. }
  2320. }
  2321. #endregion
  2322. #region 产品商标
  2323. public static ServiceResultEntity GetGoodsLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2324. {
  2325. IDBConnection conn = null;
  2326. try
  2327. {
  2328. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2329. string sqlString = @"SELECT
  2330. GL.GOODSCODE,
  2331. GD.GOODSNAME,
  2332. GL.LOGONAME,
  2333. GL.LOGOCODE,
  2334. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2335. GL.CREATETIME
  2336. FROM TP_MST_GOODSLOGO GL
  2337. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2338. WHERE 1=1";
  2339. if (!string.IsNullOrEmpty(cre.Properties["LogoCode"].ToString()))
  2340. {
  2341. sqlString += " AND GL.LogoCode=:LogoCode";
  2342. }
  2343. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2344. {
  2345. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2346. }
  2347. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2348. {
  2349. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2350. }
  2351. OracleParameter[] paras = new OracleParameter[]{
  2352. new OracleParameter(":LogoCode",cre.Properties["LogoCode"].ToString()),
  2353. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2354. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2355. };
  2356. ServiceResultEntity sre = new ServiceResultEntity();
  2357. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2358. return sre;
  2359. }
  2360. catch (Exception ex)
  2361. {
  2362. throw ex;
  2363. }
  2364. finally
  2365. {
  2366. if (conn != null &&
  2367. conn.ConnState == ConnectionState.Open)
  2368. {
  2369. conn.Close();
  2370. }
  2371. }
  2372. }
  2373. public static ServiceResultEntity GetLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2374. {
  2375. IDBConnection conn = null;
  2376. try
  2377. {
  2378. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2379. string sqlString = @"SELECT
  2380. LOGOCODE,
  2381. LOGONAME
  2382. FROM TP_MST_LOGO
  2383. WHERE VALUEFLAG=1
  2384. ORDER BY DECODE(LOGOCODE, :LOGOCODE, 1)";
  2385. OracleParameter[] paras = new OracleParameter[]{
  2386. new OracleParameter(":LOGOCODE",cre.Properties["LOGOCODE"].ToString())
  2387. };
  2388. ServiceResultEntity sre = new ServiceResultEntity();
  2389. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2390. return sre;
  2391. }
  2392. catch (Exception ex)
  2393. {
  2394. throw ex;
  2395. }
  2396. finally
  2397. {
  2398. if (conn != null &&
  2399. conn.ConnState == ConnectionState.Open)
  2400. {
  2401. conn.Close();
  2402. }
  2403. }
  2404. }
  2405. public static ServiceResultEntity AddGoodsLogoInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2406. {
  2407. IDBTransaction conn = null;
  2408. try
  2409. {
  2410. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2411. ServiceResultEntity sre = new ServiceResultEntity();
  2412. DataTable dt = new DataTable();
  2413. string sqlString = string.Empty;
  2414. OracleParameter[] paras = new OracleParameter[] { };
  2415. //如果版面信息是新建的情况下,是否存在相同版面编码
  2416. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2417. {
  2418. sqlString = @"SELECT 1 FROM TP_MST_GOODSLOGO WHERE GOODSCODE=:GOODSCODE AND LOGOCODE=:LOGOCODE AND LOGONAME=:LOGONAME AND VALUEFLAG=1";
  2419. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2420. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2421. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2422. };
  2423. dt = new DataTable();
  2424. dt = conn.GetSqlResultToDt(sqlString, paras);
  2425. if (dt != null && dt.Rows.Count > 0)
  2426. {
  2427. //存在相同版面编码
  2428. sre.OtherStatus = -1001;
  2429. return sre;
  2430. }
  2431. }
  2432. paras = null;
  2433. #region 新增
  2434. if (cre.Properties["FromStatus"].ToString() == "Add")
  2435. {
  2436. //保存客户信息
  2437. sqlString = @"INSERT INTO TP_MST_GOODSLOGO(
  2438. GOODSCODE,
  2439. GOODSNAME,
  2440. LOGOID,
  2441. LOGOCODE,
  2442. LOGONAME,
  2443. VALUEFLAG,
  2444. CREATEUSERID,
  2445. UPDATEUSERID)
  2446. VALUES
  2447. (
  2448. :GOODSCODE,
  2449. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2450. (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE=:LOGOCODE),
  2451. :LOGOCODE,
  2452. :LOGONAME,
  2453. :VALUEFLAG,
  2454. :USERID,
  2455. :USERID
  2456. )";
  2457. paras = new OracleParameter[] {
  2458. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2459. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2460. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2461. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2462. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2463. };
  2464. }
  2465. #endregion
  2466. #region 编辑
  2467. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2468. {
  2469. sqlString = @" UPDATE TP_MST_GOODSLOGO set GOODSCODE=:GOODSCODE,
  2470. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2471. LOGOID=( SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE =:LOGOCODE ),
  2472. LOGOCODE=:LOGOCODE ,
  2473. LOGONAME=:LOGONAME,
  2474. VALUEFLAG=:VALUEFLAG,
  2475. UPDATEUSERID=:USERID
  2476. WHERE
  2477. GOODSCODE=:OLDGOODSCODE
  2478. AND LOGOCODE=:OLDLOGOCODE
  2479. ";
  2480. paras = new OracleParameter[] {
  2481. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2482. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2483. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2484. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2485. new OracleParameter(":OLDLOGOCODE", cre.Properties["OLDLOGOCODE"].ToString()),
  2486. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2487. new OracleParameter(":USERID", sUserInfo.UserID)
  2488. };
  2489. }
  2490. #endregion
  2491. int result = conn.ExecuteNonQuery(sqlString, paras);
  2492. if (result <= 0)
  2493. {
  2494. //未改变任何数据
  2495. sre.OtherStatus = -1003;
  2496. return sre;
  2497. }
  2498. else
  2499. {
  2500. //提交数据
  2501. sre.OtherStatus = 1;
  2502. conn.Commit();
  2503. }
  2504. return sre;
  2505. }
  2506. catch (Exception ex)
  2507. {
  2508. throw ex;
  2509. }
  2510. finally
  2511. {
  2512. if (conn != null &&
  2513. conn.ConnState == ConnectionState.Open)
  2514. {
  2515. conn.Disconnect();
  2516. }
  2517. }
  2518. }
  2519. #endregion
  2520. #region 产品釉料
  2521. public static ServiceResultEntity GetGoodsGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2522. {
  2523. IDBConnection conn = null;
  2524. try
  2525. {
  2526. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2527. string sqlString = @"SELECT
  2528. GL.GOODSCODE,
  2529. GD.GOODSNAME,
  2530. GL.GLAZETYPEID,
  2531. GL.GLAZE,
  2532. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2533. GL.CREATETIME
  2534. FROM TP_MST_GOODSGLAZE GL
  2535. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2536. WHERE 1=1";
  2537. if (!string.IsNullOrEmpty(cre.Properties["GLAZETYPEID"].ToString()) && cre.Properties["GLAZETYPEID"].ToString()!="0")
  2538. {
  2539. sqlString += " AND GL.GLAZETYPEID=:GLAZETYPEID";
  2540. }
  2541. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2542. {
  2543. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2544. }
  2545. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2546. {
  2547. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2548. }
  2549. OracleParameter[] paras = new OracleParameter[]{
  2550. new OracleParameter(":GLAZETYPEID",cre.Properties["GLAZETYPEID"].ToString()),
  2551. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2552. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2553. };
  2554. ServiceResultEntity sre = new ServiceResultEntity();
  2555. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2556. return sre;
  2557. }
  2558. catch (Exception ex)
  2559. {
  2560. throw ex;
  2561. }
  2562. finally
  2563. {
  2564. if (conn != null &&
  2565. conn.ConnState == ConnectionState.Open)
  2566. {
  2567. conn.Close();
  2568. }
  2569. }
  2570. }
  2571. public static ServiceResultEntity GetGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2572. {
  2573. IDBConnection conn = null;
  2574. try
  2575. {
  2576. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2577. string sqlString = @"SELECT
  2578. DICTIONARYID AS GLAZETYPEID,
  2579. DICTIONARYVALUE AS GLAZE
  2580. FROM TP_MST_DATADICTIONARY
  2581. WHERE DICTIONARYTYPE='TPC002' AND VALUEFLAG='1'
  2582. ";
  2583. if (cre.Properties["GLAZE"].ToString() != null && cre.Properties["GLAZE"].ToString() != "" && cre.Properties["GLAZE"].ToString()!="0")
  2584. {
  2585. sqlString += "ORDER BY DECODE(DICTIONARYID, '" + cre.Properties["GLAZE"].ToString() + "', 1)";
  2586. }
  2587. ServiceResultEntity sre = new ServiceResultEntity();
  2588. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2589. return sre;
  2590. }
  2591. catch (Exception ex)
  2592. {
  2593. throw ex;
  2594. }
  2595. finally
  2596. {
  2597. if (conn != null &&
  2598. conn.ConnState == ConnectionState.Open)
  2599. {
  2600. conn.Close();
  2601. }
  2602. }
  2603. }
  2604. public static ServiceResultEntity AddGoodsGlazeInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2605. {
  2606. IDBTransaction conn = null;
  2607. try
  2608. {
  2609. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2610. ServiceResultEntity sre = new ServiceResultEntity();
  2611. DataTable dt = new DataTable();
  2612. string sqlString = string.Empty;
  2613. OracleParameter[] paras = new OracleParameter[] { };
  2614. //如果版面信息是新建的情况下,是否存在相同版面编码
  2615. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2616. {
  2617. sqlString = @"SELECT 1 FROM TP_MST_GOODSGLAZE WHERE GOODSCODE=:GOODSCODE AND GLAZETYPEID=:GLAZETYPEID AND GLAZE=:GLAZE AND VALUEFLAG=1";
  2618. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2619. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2620. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2621. };
  2622. dt = new DataTable();
  2623. dt = conn.GetSqlResultToDt(sqlString, paras);
  2624. if (dt != null && dt.Rows.Count > 0)
  2625. {
  2626. //存在相同版面编码
  2627. sre.OtherStatus = -1001;
  2628. return sre;
  2629. }
  2630. }
  2631. paras = null;
  2632. #region 新增
  2633. if (cre.Properties["FromStatus"].ToString() == "Add")
  2634. {
  2635. //保存客户信息
  2636. sqlString = @"INSERT INTO TP_MST_GOODSGLAZE(
  2637. GOODSCODE,
  2638. GOODSNAME,
  2639. GLAZETYPEID,
  2640. GLAZE,
  2641. VALUEFLAG,
  2642. CREATEUSERID,
  2643. UPDATEUSERID)
  2644. VALUES
  2645. (
  2646. :GOODSCODE,
  2647. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2648. :GLAZETYPEID,
  2649. :GLAZE,
  2650. :VALUEFLAG,
  2651. :USERID,
  2652. :USERID
  2653. )";
  2654. paras = new OracleParameter[] {
  2655. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2656. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2657. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2658. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2659. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2660. };
  2661. }
  2662. #endregion
  2663. #region 编辑
  2664. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2665. {
  2666. sqlString = @" UPDATE TP_MST_GOODSGLAZE set GOODSCODE=:GOODSCODE,
  2667. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2668. GLAZETYPEID=:GLAZETYPEID ,
  2669. GLAZE=:GLAZE,
  2670. VALUEFLAG=:VALUEFLAG,
  2671. UPDATEUSERID=:USERID
  2672. WHERE
  2673. GOODSCODE=:OLDGOODSCODE
  2674. AND GLAZETYPEID=:OLDGLAZETYPEID
  2675. ";
  2676. paras = new OracleParameter[] {
  2677. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2678. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2679. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2680. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2681. new OracleParameter(":OLDGLAZETYPEID", cre.Properties["OLDGLAZETYPEID"].ToString()),
  2682. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2683. new OracleParameter(":USERID", sUserInfo.UserID)
  2684. };
  2685. }
  2686. #endregion
  2687. int result = conn.ExecuteNonQuery(sqlString, paras);
  2688. if (result <= 0)
  2689. {
  2690. //未改变任何数据
  2691. sre.OtherStatus = -1003;
  2692. return sre;
  2693. }
  2694. else
  2695. {
  2696. //提交数据
  2697. sre.OtherStatus = 1;
  2698. conn.Commit();
  2699. }
  2700. return sre;
  2701. }
  2702. catch (Exception ex)
  2703. {
  2704. throw ex;
  2705. }
  2706. finally
  2707. {
  2708. if (conn != null &&
  2709. conn.ConnState == ConnectionState.Open)
  2710. {
  2711. conn.Disconnect();
  2712. }
  2713. }
  2714. }
  2715. #endregion
  2716. #region 员工用户操作
  2717. public static ServiceResultEntity EnableValueFlag( SUserInfo sUserInfo, ClientRequestEntity cre)
  2718. {
  2719. ServiceResultEntity sre = new ServiceResultEntity();
  2720. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2721. try
  2722. {
  2723. oracleTrConn.Connect();
  2724. int staffid = (int)cre.Properties["Staffid"];
  2725. string sql = "SELECT Count(*) FROM TP_HR_STAFF WHERE staffid=" + staffid + "";
  2726. string strCount = oracleTrConn.GetSqlResultToStr(sql);
  2727. if (!"0".Equals(strCount))
  2728. {
  2729. string sqlString = "Update TP_HR_STAFF SET ValueFlag=1,UpdateUserID =" + sUserInfo.UserID
  2730. + " WHERE staffid=" + staffid;
  2731. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString);
  2732. //string sqlString2 = "Select StaffRecordID From TP_HR_StaffRecord "
  2733. // + " Where ApprovalStatus = 0 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
  2734. //string strStaffRecordID = oracleTrConn.GetSqlResultToStr(sqlString2);
  2735. //if (!string.IsNullOrEmpty(strStaffRecordID))
  2736. //{
  2737. string sqlString3 = "Update TP_HR_StaffRecord Set ValueFlag = 1,UpdateUserID = " + sUserInfo.UserID
  2738. + " Where ApprovalStatus = 3 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
  2739. sre.OtherStatus+=oracleTrConn.ExecuteNonQuery(sqlString3);
  2740. //}
  2741. oracleTrConn.Commit();
  2742. oracleTrConn.Disconnect();
  2743. return sre;
  2744. }
  2745. else
  2746. {
  2747. oracleTrConn.Rollback();
  2748. oracleTrConn.Disconnect();
  2749. return sre;
  2750. }
  2751. }
  2752. catch (Exception ex)
  2753. {
  2754. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  2755. {
  2756. oracleTrConn.Rollback();
  2757. oracleTrConn.Disconnect();
  2758. }
  2759. throw ex;
  2760. }
  2761. }
  2762. #endregion
  2763. public static ServiceResultEntity DeactivatedGroutingLineDetail(ClientRequestEntity cre, SUserInfo user)
  2764. {
  2765. int returnRows = 0;
  2766. ServiceResultEntity sre = new ServiceResultEntity();
  2767. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2768. try
  2769. {
  2770. DataTable dtGroutingLineDetail = cre.Data.Tables[0];
  2771. oracleTrConn.Connect();
  2772. OracleParameter[] Paras = null;
  2773. StringBuilder sbSql = new StringBuilder();
  2774. int GMouldRecordID = 0;
  2775. bool isError = false;
  2776. if (dtGroutingLineDetail.Rows.Count > 0)
  2777. {
  2778. // 更新成型线UpdateUserID
  2779. sbSql.Append("update TP_PC_GroutingLine set UpdateUserID=" + user.UserID + " where GroutingLineID=" + dtGroutingLineDetail.Rows[0]["GroutingLineID"] + " and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
  2780. Paras = new OracleParameter[] {
  2781. new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
  2782. dtGroutingLineDetail.Rows[0]["LineOPTimeStamp"],ParameterDirection.Input)
  2783. };
  2784. //oracleTrConn.ExecuteNonQuery(sbSql.ToString());
  2785. int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
  2786. if (row == 0)
  2787. {
  2788. oracleTrConn.Rollback();
  2789. oracleTrConn.Disconnect();
  2790. sre.OtherStatus = -1001;
  2791. return sre;
  2792. }
  2793. }
  2794. for (int i = 0; i < dtGroutingLineDetail.Rows.Count; i++)
  2795. {
  2796. sbSql.Clear();
  2797. sbSql.Append("select SEQ_PC_GMouldRecord_ID.nextval from dual");
  2798. GMouldRecordID = Convert.ToInt32(oracleTrConn.GetSqlResultToStr(sbSql.ToString()));//变更履历
  2799. sbSql.Clear();
  2800. // 1.插入变更履历
  2801. sbSql.Append("insert into TP_PC_GMouldRecord");
  2802. sbSql.Append("(GMouldRecordID,");
  2803. sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
  2804. sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
  2805. sbSql.Append("GMouldRecordType,BeginDate,");
  2806. sbSql.Append("Remarks,AccountID,CreateTime,");
  2807. sbSql.Append("CreateUserID,UpdateTime,UpdateUserID");
  2808. sbSql.Append(")");
  2809. sbSql.Append("select :GMouldRecordID,");
  2810. sbSql.Append("GroutingLineID,GroutingLineDetailID,GoodsID,");
  2811. sbSql.Append("GroutingMouldCode,MouldCode,GroutingCount,");
  2812. sbSql.Append(":GMouldRecordType,trunc(sysdate),");
  2813. sbSql.Append(":Remarks,:AccountID,sysdate,");
  2814. sbSql.Append(":CreateUserID,sysdate,:UpdateUserID");
  2815. sbSql.Append(" from TP_PC_GroutingLineDetail where GroutingLineDetailID=:GroutingLineDetailID ");
  2816. Paras = new OracleParameter[] {
  2817. new OracleParameter(":GMouldRecordType",OracleDbType.Int32,
  2818. 7,ParameterDirection.Input),
  2819. new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
  2820. dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
  2821. new OracleParameter(":Remarks",OracleDbType.NVarchar2,
  2822. dtGroutingLineDetail.Rows[i]["RecordRemarks"],ParameterDirection.Input),
  2823. new OracleParameter(":AccountID",OracleDbType.Int32,
  2824. user.AccountID,ParameterDirection.Input),
  2825. new OracleParameter(":CreateUserID",OracleDbType.Int32,
  2826. user.UserID,ParameterDirection.Input),
  2827. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  2828. user.UserID,ParameterDirection.Input),
  2829. new OracleParameter(":GMouldRecordID",OracleDbType.Int32,
  2830. GMouldRecordID,ParameterDirection.Input)
  2831. };
  2832. returnRows += oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
  2833. //2.更新成型线模具状态
  2834. sbSql.Clear();
  2835. sbSql.Append("update TP_PC_GroutingLineDetail set GMouldStatus=0,LastGMouldRecordID=:LastGMouldRecordID, ");
  2836. sbSql.Append("UpdateUserID=:UpdateUserID,EndUsedDate=trunc(sysdate) where GroutingLineDetailID=:GroutingLineDetailID and OPTimeStamp=:OPTimeStamp and GMouldStatus=1");
  2837. Paras = new OracleParameter[] {
  2838. new OracleParameter(":LastGMouldRecordID",OracleDbType.Int32,
  2839. GMouldRecordID,ParameterDirection.Input),
  2840. new OracleParameter(":UpdateUserID",OracleDbType.Int32,
  2841. user.UserID,ParameterDirection.Input),
  2842. new OracleParameter(":GroutingLineDetailID",OracleDbType.Int32,
  2843. dtGroutingLineDetail.Rows[i]["GroutingLineDetailID"],ParameterDirection.Input),
  2844. new OracleParameter(":OPTimeStamp",OracleDbType.TimeStamp,
  2845. dtGroutingLineDetail.Rows[i]["OPTimeStamp"],ParameterDirection.Input)
  2846. };
  2847. int row = oracleTrConn.ExecuteNonQuery(sbSql.ToString(), Paras);
  2848. if (row == 0)
  2849. {
  2850. isError = true; //即更新了,也可以用这个判断时间戳
  2851. break;
  2852. }
  2853. returnRows += row;
  2854. }
  2855. //更新明细信息
  2856. if (isError)
  2857. {
  2858. returnRows = -500;
  2859. oracleTrConn.Rollback();
  2860. oracleTrConn.Disconnect();
  2861. }
  2862. else
  2863. {
  2864. //提交数据
  2865. sre.OtherStatus = 1;
  2866. oracleTrConn.Commit();
  2867. oracleTrConn.Disconnect();
  2868. }
  2869. }
  2870. catch (Exception ex)
  2871. {
  2872. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  2873. {
  2874. oracleTrConn.Rollback();
  2875. oracleTrConn.Disconnect();
  2876. }
  2877. throw ex;
  2878. }
  2879. finally
  2880. {
  2881. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  2882. {
  2883. oracleTrConn.Disconnect();
  2884. }
  2885. }
  2886. return sre;
  2887. }
  2888. }
  2889. }