SystemModuleLogicPartial.cs 101 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911
  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. SUM(NUMBERS) AS NUMBERS,
  2044. CREATETIME,
  2045. VALUEFLAG
  2046. FROM(
  2047. SELECT
  2048. DISTINCT
  2049. ord.ORDERSDETAILID,
  2050. ord.ORDERSID,
  2051. ORD.ORDERSCODE,
  2052. cus.CUSTOMERCODE,
  2053. cus.CUSTOMERNAME,
  2054. lay.LAYOUTCODE,
  2055. lay.LAYOUTNAME,
  2056. ord.GOODSCODE,
  2057. gd.GOODSNAME,
  2058. ord.BARCODE,
  2059. ord.ENTRUCKINGCODE,
  2060. ord.NUMBERS,
  2061. ord.CREATETIME,
  2062. row_number() over(partition by ord.ENTRUCKINGCODE order by ord.CREATETIME desc) rn ,
  2063. case when ord.VALUEFLAG=1 then '是' else '否' end VALUEFLAG
  2064. FROM
  2065. TP_PC_ORDERINFORMATIONDETAILS ord
  2066. inner JOIN TP_PC_CUSTOMERINFORMATION cus on cus.CUSTOMERCODE=ord.CUSTOMERCODE
  2067. inner JOIN TP_PC_LAYOUTINFORMATION lay on lay.LAYOUTCODE=ord.LAYOUTCODE
  2068. LEFT JOIN TP_MST_GOODS gd on gd.GOODSCODE=ord.GOODSCODE
  2069. WHERE 1=1 ";
  2070. if (!string.IsNullOrEmpty(cre.Properties["ORDERCODE"].ToString()))
  2071. {
  2072. string order = "'%" + cre.Properties["ORDERCODE"].ToString() + "%'";
  2073. sqlString += " AND ord.ORDERSCODE like " + order;
  2074. }
  2075. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2076. {
  2077. string goodscode = "'%" + cre.Properties["GOODSCODE"].ToString() + "%'";
  2078. sqlString += " AND ord.GOODSCODE like " + goodscode;
  2079. }
  2080. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2081. {
  2082. sqlString += " AND ord.VALUEFLAG =" + cre.Properties["VALUEFLAG"].ToString();
  2083. }
  2084. if (!string.IsNullOrEmpty(cre.Properties["ORDERSDETAILID"].ToString()))
  2085. {
  2086. sqlString += " AND ord.ORDERSDETAILID = " + cre.Properties["ORDERSDETAILID"].ToString();
  2087. }
  2088. if (!string.IsNullOrEmpty(cre.Properties["ENTRUCKINGCODE"].ToString()))
  2089. {
  2090. sqlString += " AND ord.ENTRUCKINGCODE = '" + cre.Properties["ENTRUCKINGCODE"].ToString() + "'";
  2091. }
  2092. if (!string.IsNullOrEmpty(cre.Properties["CUSTOMERNAME"].ToString()))
  2093. {
  2094. string customername = "'%" + cre.Properties["CUSTOMERNAME"].ToString() + "%'";
  2095. sqlString += " AND cus.CUSTOMERNAME LIKE " + customername;
  2096. }
  2097. if (!string.IsNullOrEmpty(cre.Properties["LAYOUTNAME"].ToString()))
  2098. {
  2099. string layoutname = "'%" + cre.Properties["LAYOUTNAME"].ToString() + "%'";
  2100. sqlString += " AND lay.LAYOUTNAME LIKE " + layoutname;
  2101. }
  2102. if (!string.IsNullOrEmpty(cre.Properties["GOODSNAME"].ToString()))
  2103. {
  2104. string GOODSNAME = "'%" + cre.Properties["GOODSNAME"].ToString() + "%'";
  2105. sqlString += " AND gd.GOODSNAME LIKE " + GOODSNAME;
  2106. }
  2107. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStart"].ToString()))
  2108. {
  2109. sqlString += " AND ord.CREATETIME >= to_date('" + cre.Properties["CreateTimeStart"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2110. }
  2111. if (!string.IsNullOrEmpty(cre.Properties["CreateTimeStartEnd"].ToString()))
  2112. {
  2113. sqlString += " AND ord.CREATETIME <= to_date('" + cre.Properties["CreateTimeStartEnd"].ToString() + "','yyyy-mm-dd hh24:mi:ss')";
  2114. }
  2115. sqlString += @" )
  2116. WHERE rn = 1
  2117. GROUP BY GROUPING SETS((
  2118. ORDERSDETAILID,
  2119. ORDERSID,
  2120. ORDERSCODE,
  2121. CUSTOMERCODE,
  2122. CUSTOMERNAME,
  2123. LAYOUTCODE,
  2124. LAYOUTNAME,
  2125. GOODSCODE,
  2126. GOODSNAME,
  2127. ENTRUCKINGCODE,
  2128. CREATETIME,
  2129. VALUEFLAG
  2130. ), (CUSTOMERCODE, CUSTOMERNAME, LAYOUTCODE, LAYOUTNAME, GOODSCODE, GOODSNAME), (CUSTOMERCODE, CUSTOMERNAME), ())";
  2131. ServiceResultEntity sre = new ServiceResultEntity();
  2132. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2133. return sre;
  2134. }
  2135. catch (Exception ex)
  2136. {
  2137. throw ex;
  2138. }
  2139. finally
  2140. {
  2141. if (conn != null &&
  2142. conn.ConnState == ConnectionState.Open)
  2143. {
  2144. conn.Close();
  2145. }
  2146. }
  2147. }
  2148. /// <summary>
  2149. /// /保存订单信息
  2150. /// </summary>
  2151. public static ServiceResultEntity AddOrderInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2152. {
  2153. IDBTransaction conn = null;
  2154. try
  2155. {
  2156. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2157. ServiceResultEntity sre = new ServiceResultEntity();
  2158. DataTable dt = new DataTable();
  2159. string sqlString = string.Empty;
  2160. OracleParameter[] paras = new OracleParameter[] { };
  2161. //如果版面信息是新建的情况下,是否存在相同版面编码
  2162. if (cre.Properties["FromStatus"].ToString() == "Add")
  2163. {
  2164. sqlString = @"
  2165. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE";
  2166. paras = new OracleParameter[] { new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()), };
  2167. dt = new DataTable();
  2168. dt = conn.GetSqlResultToDt(sqlString, paras);
  2169. if (dt != null && dt.Rows.Count > 0)
  2170. {
  2171. //存在相同版面编码
  2172. sre.OtherStatus = -1001;
  2173. return sre;
  2174. }
  2175. }
  2176. #region 新增
  2177. if (cre.Properties["FromStatus"].ToString() == "Add")
  2178. {
  2179. //保存客户信息
  2180. sqlString = @"INSERT INTO TP_PC_ORDERINFORMATION(
  2181. CUSTOMERCODE,
  2182. LAYOUTCODE,
  2183. ORDERSCODE,
  2184. ORDERSNAME,
  2185. NUMBERS,
  2186. VALUEFLAG,
  2187. ACCOUNTID,
  2188. CREATEUSERID,
  2189. UPDATEUSERID
  2190. ) VALUES(
  2191. :CUSTOMERCODE,
  2192. :LAYOUTCODE,
  2193. :ORDERSCODE,
  2194. :ORDERSNAME,
  2195. :NUMBERS,
  2196. :VALUEFLAG,
  2197. 1,
  2198. :USERID,
  2199. :USERID)";
  2200. paras = new OracleParameter[] {
  2201. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()),
  2202. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2203. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2204. new OracleParameter(":ORDERSNAME", cre.Properties["ORDERSNAME"].ToString()) ,
  2205. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2206. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2207. new OracleParameter(":USERID", sUserInfo.UserID)
  2208. };
  2209. }
  2210. #endregion
  2211. #region 编辑
  2212. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2213. {
  2214. if (cre.Properties["ORDERS"].ToString() == "1")
  2215. {
  2216. sqlString = @"
  2217. SELECT 1 FROM TP_PC_ORDERINFORMATION WHERE ORDERSCODE = :ORDERSCODE AND ORDERSCODE != :ORDERCODEONE";
  2218. paras = new OracleParameter[] {
  2219. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()),
  2220. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()),
  2221. };
  2222. dt = new DataTable();
  2223. dt = conn.GetSqlResultToDt(sqlString, paras);
  2224. if (dt != null && dt.Rows.Count > 0)
  2225. {
  2226. //存在相同版面编码
  2227. sre.OtherStatus = -1001;
  2228. return sre;
  2229. }
  2230. sqlString = @"UPDATE TP_PC_ORDERINFORMATION
  2231. SET
  2232. ORDERSCODE =:ORDERSCODE,
  2233. NUMBERS = :NUMBERS,
  2234. VALUEFLAG = :VALUEFALG
  2235. WHERE
  2236. ORDERSCODE = :ORDERCODEONE";
  2237. paras = new OracleParameter[] {
  2238. new OracleParameter(":ORDERCODEONE", cre.Properties["ORDERCODEONE"].ToString()) ,
  2239. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2240. new OracleParameter(":NUMBERS", cre.Properties["NUMBERS"].ToString()) ,
  2241. new OracleParameter(":VALUEFALG", cre.Properties["VALUEFALG"].ToString()) ,
  2242. };
  2243. }
  2244. else if (cre.Properties["ORDERS"].ToString() == "2")
  2245. {
  2246. sqlString = @"UPDATE TP_PC_ORDERINFORMATIONDETAILS
  2247. SET
  2248. CUSTOMERCODE=:CUSTOMERCODE,
  2249. LAYOUTCODE = :LAYOUTCODE,
  2250. ORDERSCODE = :ORDERSCODE,
  2251. VALUEFLAG = :VALUEFLAG
  2252. WHERE
  2253. ORDERSDETAILID = :ORDERSDETAILID";
  2254. paras = new OracleParameter[] {
  2255. new OracleParameter(":ORDERSDETAILID", Convert.ToInt32( cre.Properties["ORDERSDETAILID"])) ,
  2256. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()) ,
  2257. new OracleParameter(":CUSTOMERCODE", cre.Properties["CUSTOMERCODE"].ToString()) ,
  2258. new OracleParameter(":LAYOUTCODE", cre.Properties["LAYOUTCODE"].ToString()) ,
  2259. new OracleParameter(":ORDERSCODE", cre.Properties["ORDERSCODE"].ToString()) ,
  2260. };
  2261. }
  2262. }
  2263. #endregion
  2264. int result = conn.ExecuteNonQuery(sqlString, paras);
  2265. if (result <= 0)
  2266. {
  2267. //未改变任何数据
  2268. sre.OtherStatus = -1003;
  2269. return sre;
  2270. }
  2271. else
  2272. {
  2273. //提交数据
  2274. sre.OtherStatus = 1;
  2275. conn.Commit();
  2276. }
  2277. return sre;
  2278. }
  2279. catch (Exception ex)
  2280. {
  2281. throw ex;
  2282. }
  2283. finally
  2284. {
  2285. if (conn != null &&
  2286. conn.ConnState == ConnectionState.Open)
  2287. {
  2288. conn.Disconnect();
  2289. }
  2290. }
  2291. }
  2292. //订单详细信息
  2293. public static ServiceResultEntity EmpowermentFlag(SUserInfo sUserInfo, ClientRequestEntity cre)
  2294. {
  2295. IDBConnection conn = null;
  2296. try
  2297. {
  2298. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2299. string sqlString = @"SELECT EMPOWERMENTFLAG,SHOWINFO FROM TP_SYS_EMPOWERMENTFLAG ";
  2300. ServiceResultEntity sre = new ServiceResultEntity();
  2301. sre.Data = conn.GetSqlResultToDs(sqlString);
  2302. return sre;
  2303. }
  2304. catch (Exception ex)
  2305. {
  2306. throw ex;
  2307. }
  2308. finally
  2309. {
  2310. if (conn != null &&
  2311. conn.ConnState == ConnectionState.Open)
  2312. {
  2313. conn.Close();
  2314. }
  2315. }
  2316. }
  2317. #endregion
  2318. #region 产品商标
  2319. public static ServiceResultEntity GetGoodsLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2320. {
  2321. IDBConnection conn = null;
  2322. try
  2323. {
  2324. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2325. string sqlString = @"SELECT
  2326. GL.GOODSCODE,
  2327. GD.GOODSNAME,
  2328. GL.LOGONAME,
  2329. GL.LOGOCODE,
  2330. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2331. GL.CREATETIME
  2332. FROM TP_MST_GOODSLOGO GL
  2333. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2334. WHERE 1=1";
  2335. if (!string.IsNullOrEmpty(cre.Properties["LogoCode"].ToString()))
  2336. {
  2337. sqlString += " AND GL.LogoCode=:LogoCode";
  2338. }
  2339. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2340. {
  2341. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2342. }
  2343. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2344. {
  2345. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2346. }
  2347. OracleParameter[] paras = new OracleParameter[]{
  2348. new OracleParameter(":LogoCode",cre.Properties["LogoCode"].ToString()),
  2349. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2350. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2351. };
  2352. ServiceResultEntity sre = new ServiceResultEntity();
  2353. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2354. return sre;
  2355. }
  2356. catch (Exception ex)
  2357. {
  2358. throw ex;
  2359. }
  2360. finally
  2361. {
  2362. if (conn != null &&
  2363. conn.ConnState == ConnectionState.Open)
  2364. {
  2365. conn.Close();
  2366. }
  2367. }
  2368. }
  2369. public static ServiceResultEntity GetLogos(SUserInfo sUserInfo, ClientRequestEntity cre)
  2370. {
  2371. IDBConnection conn = null;
  2372. try
  2373. {
  2374. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2375. string sqlString = @"SELECT
  2376. LOGOCODE,
  2377. LOGONAME
  2378. FROM TP_MST_LOGO
  2379. WHERE VALUEFLAG=1
  2380. ORDER BY DECODE(LOGOCODE, :LOGOCODE, 1)";
  2381. OracleParameter[] paras = new OracleParameter[]{
  2382. new OracleParameter(":LOGOCODE",cre.Properties["LOGOCODE"].ToString())
  2383. };
  2384. ServiceResultEntity sre = new ServiceResultEntity();
  2385. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2386. return sre;
  2387. }
  2388. catch (Exception ex)
  2389. {
  2390. throw ex;
  2391. }
  2392. finally
  2393. {
  2394. if (conn != null &&
  2395. conn.ConnState == ConnectionState.Open)
  2396. {
  2397. conn.Close();
  2398. }
  2399. }
  2400. }
  2401. public static ServiceResultEntity AddGoodsLogoInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2402. {
  2403. IDBTransaction conn = null;
  2404. try
  2405. {
  2406. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2407. ServiceResultEntity sre = new ServiceResultEntity();
  2408. DataTable dt = new DataTable();
  2409. string sqlString = string.Empty;
  2410. OracleParameter[] paras = new OracleParameter[] { };
  2411. //如果版面信息是新建的情况下,是否存在相同版面编码
  2412. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2413. {
  2414. sqlString = @"SELECT 1 FROM TP_MST_GOODSLOGO WHERE GOODSCODE=:GOODSCODE AND LOGOCODE=:LOGOCODE AND LOGONAME=:LOGONAME AND VALUEFLAG=1";
  2415. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2416. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2417. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2418. };
  2419. dt = new DataTable();
  2420. dt = conn.GetSqlResultToDt(sqlString, paras);
  2421. if (dt != null && dt.Rows.Count > 0)
  2422. {
  2423. //存在相同版面编码
  2424. sre.OtherStatus = -1001;
  2425. return sre;
  2426. }
  2427. }
  2428. paras = null;
  2429. #region 新增
  2430. if (cre.Properties["FromStatus"].ToString() == "Add")
  2431. {
  2432. //保存客户信息
  2433. sqlString = @"INSERT INTO TP_MST_GOODSLOGO(
  2434. GOODSCODE,
  2435. GOODSNAME,
  2436. LOGOID,
  2437. LOGOCODE,
  2438. LOGONAME,
  2439. VALUEFLAG,
  2440. CREATEUSERID,
  2441. UPDATEUSERID)
  2442. VALUES
  2443. (
  2444. :GOODSCODE,
  2445. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2446. (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE=:LOGOCODE),
  2447. :LOGOCODE,
  2448. :LOGONAME,
  2449. :VALUEFLAG,
  2450. :USERID,
  2451. :USERID
  2452. )";
  2453. paras = new OracleParameter[] {
  2454. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2455. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2456. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2457. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2458. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2459. };
  2460. }
  2461. #endregion
  2462. #region 编辑
  2463. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2464. {
  2465. sqlString = @" UPDATE TP_MST_GOODSLOGO set GOODSCODE=:GOODSCODE,
  2466. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2467. LOGOID=( SELECT LOGOID FROM TP_MST_LOGO WHERE LOGOCODE =:LOGOCODE ),
  2468. LOGOCODE=:LOGOCODE ,
  2469. LOGONAME=:LOGONAME,
  2470. VALUEFLAG=:VALUEFLAG,
  2471. UPDATEUSERID=:USERID
  2472. WHERE
  2473. GOODSCODE=:OLDGOODSCODE
  2474. AND LOGOCODE=:OLDLOGOCODE
  2475. ";
  2476. paras = new OracleParameter[] {
  2477. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2478. new OracleParameter(":LOGOCODE", cre.Properties["LOGOCODE"].ToString()),
  2479. new OracleParameter(":LOGONAME", cre.Properties["LOGONAME"].ToString()),
  2480. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2481. new OracleParameter(":OLDLOGOCODE", cre.Properties["OLDLOGOCODE"].ToString()),
  2482. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2483. new OracleParameter(":USERID", sUserInfo.UserID)
  2484. };
  2485. }
  2486. #endregion
  2487. int result = conn.ExecuteNonQuery(sqlString, paras);
  2488. if (result <= 0)
  2489. {
  2490. //未改变任何数据
  2491. sre.OtherStatus = -1003;
  2492. return sre;
  2493. }
  2494. else
  2495. {
  2496. //提交数据
  2497. sre.OtherStatus = 1;
  2498. conn.Commit();
  2499. }
  2500. return sre;
  2501. }
  2502. catch (Exception ex)
  2503. {
  2504. throw ex;
  2505. }
  2506. finally
  2507. {
  2508. if (conn != null &&
  2509. conn.ConnState == ConnectionState.Open)
  2510. {
  2511. conn.Disconnect();
  2512. }
  2513. }
  2514. }
  2515. #endregion
  2516. #region 产品釉料
  2517. public static ServiceResultEntity GetGoodsGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2518. {
  2519. IDBConnection conn = null;
  2520. try
  2521. {
  2522. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2523. string sqlString = @"SELECT
  2524. GL.GOODSCODE,
  2525. GD.GOODSNAME,
  2526. GL.GLAZETYPEID,
  2527. GL.GLAZE,
  2528. CASE WHEN GL.VALUEFLAG=1 THEN '是' ELSE '否' END VALUEFLAG,
  2529. GL.CREATETIME
  2530. FROM TP_MST_GOODSGLAZE GL
  2531. LEFT JOIN TP_MST_GOODS GD ON GL.GOODSCODE=GD.GOODSCODE
  2532. WHERE 1=1";
  2533. if (!string.IsNullOrEmpty(cre.Properties["GLAZETYPEID"].ToString()) && cre.Properties["GLAZETYPEID"].ToString()!="0")
  2534. {
  2535. sqlString += " AND GL.GLAZETYPEID=:GLAZETYPEID";
  2536. }
  2537. if (!string.IsNullOrEmpty(cre.Properties["GOODSCODE"].ToString()))
  2538. {
  2539. sqlString += " AND GL.GOODSCODE like :GOODSCODE";
  2540. }
  2541. if (!string.IsNullOrEmpty(cre.Properties["VALUEFLAG"].ToString()))
  2542. {
  2543. sqlString += " AND GL.VALUEFLAG = :VALUEFLAG";
  2544. }
  2545. OracleParameter[] paras = new OracleParameter[]{
  2546. new OracleParameter(":GLAZETYPEID",cre.Properties["GLAZETYPEID"].ToString()),
  2547. new OracleParameter(":GOODSCODE",'%'+cre.Properties["GOODSCODE"].ToString()+'%'),
  2548. new OracleParameter(":VALUEFLAG",cre.Properties["VALUEFLAG"].ToString()),
  2549. };
  2550. ServiceResultEntity sre = new ServiceResultEntity();
  2551. sre.Data = conn.GetSqlResultToDs(sqlString, paras);
  2552. return sre;
  2553. }
  2554. catch (Exception ex)
  2555. {
  2556. throw ex;
  2557. }
  2558. finally
  2559. {
  2560. if (conn != null &&
  2561. conn.ConnState == ConnectionState.Open)
  2562. {
  2563. conn.Close();
  2564. }
  2565. }
  2566. }
  2567. public static ServiceResultEntity GetGlaze(SUserInfo sUserInfo, ClientRequestEntity cre)
  2568. {
  2569. IDBConnection conn = null;
  2570. try
  2571. {
  2572. conn = ClsDbFactory.CreateDBConnection(DataBaseType.ORACLE, DataManager.ConnectionString);
  2573. string sqlString = @"SELECT
  2574. DICTIONARYID AS GLAZETYPEID,
  2575. DICTIONARYVALUE AS GLAZE
  2576. FROM TP_MST_DATADICTIONARY
  2577. WHERE DICTIONARYTYPE='TPC002' AND VALUEFLAG='1'
  2578. ";
  2579. if (cre.Properties["GLAZE"].ToString() != null && cre.Properties["GLAZE"].ToString() != "" && cre.Properties["GLAZE"].ToString()!="0")
  2580. {
  2581. sqlString += "ORDER BY DECODE(DICTIONARYID, '" + cre.Properties["GLAZE"].ToString() + "', 1)";
  2582. }
  2583. ServiceResultEntity sre = new ServiceResultEntity();
  2584. sre.Data = conn.GetSqlResultToDs(sqlString, null);
  2585. return sre;
  2586. }
  2587. catch (Exception ex)
  2588. {
  2589. throw ex;
  2590. }
  2591. finally
  2592. {
  2593. if (conn != null &&
  2594. conn.ConnState == ConnectionState.Open)
  2595. {
  2596. conn.Close();
  2597. }
  2598. }
  2599. }
  2600. public static ServiceResultEntity AddGoodsGlazeInfo(SUserInfo sUserInfo, ClientRequestEntity cre)
  2601. {
  2602. IDBTransaction conn = null;
  2603. try
  2604. {
  2605. conn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2606. ServiceResultEntity sre = new ServiceResultEntity();
  2607. DataTable dt = new DataTable();
  2608. string sqlString = string.Empty;
  2609. OracleParameter[] paras = new OracleParameter[] { };
  2610. //如果版面信息是新建的情况下,是否存在相同版面编码
  2611. if (cre.Properties["VALUEFLAG"].ToString() == "1")
  2612. {
  2613. sqlString = @"SELECT 1 FROM TP_MST_GOODSGLAZE WHERE GOODSCODE=:GOODSCODE AND GLAZETYPEID=:GLAZETYPEID AND GLAZE=:GLAZE AND VALUEFLAG=1";
  2614. paras = new OracleParameter[] { new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2615. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2616. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2617. };
  2618. dt = new DataTable();
  2619. dt = conn.GetSqlResultToDt(sqlString, paras);
  2620. if (dt != null && dt.Rows.Count > 0)
  2621. {
  2622. //存在相同版面编码
  2623. sre.OtherStatus = -1001;
  2624. return sre;
  2625. }
  2626. }
  2627. paras = null;
  2628. #region 新增
  2629. if (cre.Properties["FromStatus"].ToString() == "Add")
  2630. {
  2631. //保存客户信息
  2632. sqlString = @"INSERT INTO TP_MST_GOODSGLAZE(
  2633. GOODSCODE,
  2634. GOODSNAME,
  2635. GLAZETYPEID,
  2636. GLAZE,
  2637. VALUEFLAG,
  2638. CREATEUSERID,
  2639. UPDATEUSERID)
  2640. VALUES
  2641. (
  2642. :GOODSCODE,
  2643. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE=:GOODSCODE),
  2644. :GLAZETYPEID,
  2645. :GLAZE,
  2646. :VALUEFLAG,
  2647. :USERID,
  2648. :USERID
  2649. )";
  2650. paras = new OracleParameter[] {
  2651. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2652. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2653. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2654. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2655. new OracleParameter(":USERID", sUserInfo.UserID.ToString()),
  2656. };
  2657. }
  2658. #endregion
  2659. #region 编辑
  2660. if (cre.Properties["FromStatus"].ToString() == "Edit")
  2661. {
  2662. sqlString = @" UPDATE TP_MST_GOODSGLAZE set GOODSCODE=:GOODSCODE,
  2663. GOODSNAME=( SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSCODE =:GOODSCODE AND ROWNUM=1),
  2664. GLAZETYPEID=:GLAZETYPEID ,
  2665. GLAZE=:GLAZE,
  2666. VALUEFLAG=:VALUEFLAG,
  2667. UPDATEUSERID=:USERID
  2668. WHERE
  2669. GOODSCODE=:OLDGOODSCODE
  2670. AND GLAZETYPEID=:OLDGLAZETYPEID
  2671. ";
  2672. paras = new OracleParameter[] {
  2673. new OracleParameter(":GOODSCODE", cre.Properties["GOODSCODE"].ToString()),
  2674. new OracleParameter(":GLAZETYPEID", cre.Properties["GLAZETYPEID"].ToString()),
  2675. new OracleParameter(":GLAZE", cre.Properties["GLAZE"].ToString()),
  2676. new OracleParameter(":OLDGOODSCODE", cre.Properties["OLDGOODSCODE"].ToString()),
  2677. new OracleParameter(":OLDGLAZETYPEID", cre.Properties["OLDGLAZETYPEID"].ToString()),
  2678. new OracleParameter(":VALUEFLAG", cre.Properties["VALUEFLAG"].ToString()),
  2679. new OracleParameter(":USERID", sUserInfo.UserID)
  2680. };
  2681. }
  2682. #endregion
  2683. int result = conn.ExecuteNonQuery(sqlString, paras);
  2684. if (result <= 0)
  2685. {
  2686. //未改变任何数据
  2687. sre.OtherStatus = -1003;
  2688. return sre;
  2689. }
  2690. else
  2691. {
  2692. //提交数据
  2693. sre.OtherStatus = 1;
  2694. conn.Commit();
  2695. }
  2696. return sre;
  2697. }
  2698. catch (Exception ex)
  2699. {
  2700. throw ex;
  2701. }
  2702. finally
  2703. {
  2704. if (conn != null &&
  2705. conn.ConnState == ConnectionState.Open)
  2706. {
  2707. conn.Disconnect();
  2708. }
  2709. }
  2710. }
  2711. #endregion
  2712. #region 员工用户操作
  2713. public static ServiceResultEntity EnableValueFlag( SUserInfo sUserInfo, ClientRequestEntity cre)
  2714. {
  2715. ServiceResultEntity sre = new ServiceResultEntity();
  2716. IDBTransaction oracleTrConn = ClsDbFactory.CreateDBTransaction(DataBaseType.ORACLE, DataManager.ConnectionString);
  2717. try
  2718. {
  2719. oracleTrConn.Connect();
  2720. int staffid = (int)cre.Properties["Staffid"];
  2721. string sql = "SELECT Count(*) FROM TP_HR_STAFF WHERE staffid=" + staffid + "";
  2722. string strCount = oracleTrConn.GetSqlResultToStr(sql);
  2723. if (!"0".Equals(strCount))
  2724. {
  2725. string sqlString = "Update TP_HR_STAFF SET ValueFlag=1,UpdateUserID =" + sUserInfo.UserID
  2726. + " WHERE staffid=" + staffid;
  2727. sre.OtherStatus += oracleTrConn.ExecuteNonQuery(sqlString);
  2728. //string sqlString2 = "Select StaffRecordID From TP_HR_StaffRecord "
  2729. // + " Where ApprovalStatus = 0 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
  2730. //string strStaffRecordID = oracleTrConn.GetSqlResultToStr(sqlString2);
  2731. //if (!string.IsNullOrEmpty(strStaffRecordID))
  2732. //{
  2733. string sqlString3 = "Update TP_HR_StaffRecord Set ValueFlag = 1,UpdateUserID = " + sUserInfo.UserID
  2734. + " Where ApprovalStatus = 3 AND RecordType = 1 And ValueFlag = 1 And StaffID = " + staffid;
  2735. sre.OtherStatus+=oracleTrConn.ExecuteNonQuery(sqlString3);
  2736. //}
  2737. oracleTrConn.Commit();
  2738. oracleTrConn.Disconnect();
  2739. return sre;
  2740. }
  2741. else
  2742. {
  2743. oracleTrConn.Rollback();
  2744. oracleTrConn.Disconnect();
  2745. return sre;
  2746. }
  2747. }
  2748. catch (Exception ex)
  2749. {
  2750. if (oracleTrConn.ConnState == System.Data.ConnectionState.Open)
  2751. {
  2752. oracleTrConn.Rollback();
  2753. oracleTrConn.Disconnect();
  2754. }
  2755. throw ex;
  2756. }
  2757. }
  2758. #endregion
  2759. }
  2760. }